Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / clr / src / ManagedLibraries / Security / System / Security / Cryptography / Xml / DataObject.cs / 1 / DataObject.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // // DataObject.cs // // 21 [....] 2000 // namespace System.Security.Cryptography.Xml { using System; using System.IO; using System.Xml; [System.Security.Permissions.HostProtection(MayLeakOnAbort = true)] public class DataObject { private string m_id; private string m_mimeType; private string m_encoding; private CanonicalXmlNodeList m_elData; private XmlElement m_cachedXml; // // public constructors // public DataObject () { m_cachedXml = null; m_elData = new CanonicalXmlNodeList(); } public DataObject (string id, string mimeType, string encoding, XmlElement data) { if (data == null) throw new ArgumentNullException("data"); m_id = id; m_mimeType = mimeType; m_encoding = encoding; m_elData = new CanonicalXmlNodeList(); m_elData.Add(data); m_cachedXml = null; } // // public properties // public string Id { get { return m_id; } set { m_id = value; m_cachedXml = null; } } public string MimeType { get { return m_mimeType; } set { m_mimeType = value; m_cachedXml = null; } } public string Encoding { get { return m_encoding; } set { m_encoding = value; m_cachedXml = null; } } public XmlNodeList Data { get { return m_elData; } set { if (value == null) throw new ArgumentNullException("value"); // Reset the node list m_elData = new CanonicalXmlNodeList(); foreach (XmlNode node in value) { m_elData.Add(node); } m_cachedXml = null; } } private bool CacheValid { get { return(m_cachedXml != null); } } // // public methods // public XmlElement GetXml() { if (CacheValid) return(m_cachedXml); XmlDocument document = new XmlDocument(); document.PreserveWhitespace = true; return GetXml(document); } internal XmlElement GetXml (XmlDocument document) { XmlElement objectElement = document.CreateElement("Object", SignedXml.XmlDsigNamespaceUrl); if (!String.IsNullOrEmpty(m_id)) objectElement.SetAttribute("Id", m_id); if (!String.IsNullOrEmpty(m_mimeType)) objectElement.SetAttribute("MimeType", m_mimeType); if (!String.IsNullOrEmpty(m_encoding)) objectElement.SetAttribute("Encoding", m_encoding); if (m_elData != null) { foreach (XmlNode node in m_elData) { objectElement.AppendChild(document.ImportNode(node, true)); } } return objectElement; } public void LoadXml (XmlElement value) { if (value == null) throw new ArgumentNullException("value"); m_id = Utils.GetAttribute(value, "Id", SignedXml.XmlDsigNamespaceUrl); m_mimeType = Utils.GetAttribute(value, "MimeType", SignedXml.XmlDsigNamespaceUrl); m_encoding = Utils.GetAttribute(value, "Encoding", SignedXml.XmlDsigNamespaceUrl); foreach (XmlNode node in value.ChildNodes) { m_elData.Add(node); } // Save away the cached value m_cachedXml = value; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // // DataObject.cs // // 21 [....] 2000 // namespace System.Security.Cryptography.Xml { using System; using System.IO; using System.Xml; [System.Security.Permissions.HostProtection(MayLeakOnAbort = true)] public class DataObject { private string m_id; private string m_mimeType; private string m_encoding; private CanonicalXmlNodeList m_elData; private XmlElement m_cachedXml; // // public constructors // public DataObject () { m_cachedXml = null; m_elData = new CanonicalXmlNodeList(); } public DataObject (string id, string mimeType, string encoding, XmlElement data) { if (data == null) throw new ArgumentNullException("data"); m_id = id; m_mimeType = mimeType; m_encoding = encoding; m_elData = new CanonicalXmlNodeList(); m_elData.Add(data); m_cachedXml = null; } // // public properties // public string Id { get { return m_id; } set { m_id = value; m_cachedXml = null; } } public string MimeType { get { return m_mimeType; } set { m_mimeType = value; m_cachedXml = null; } } public string Encoding { get { return m_encoding; } set { m_encoding = value; m_cachedXml = null; } } public XmlNodeList Data { get { return m_elData; } set { if (value == null) throw new ArgumentNullException("value"); // Reset the node list m_elData = new CanonicalXmlNodeList(); foreach (XmlNode node in value) { m_elData.Add(node); } m_cachedXml = null; } } private bool CacheValid { get { return(m_cachedXml != null); } } // // public methods // public XmlElement GetXml() { if (CacheValid) return(m_cachedXml); XmlDocument document = new XmlDocument(); document.PreserveWhitespace = true; return GetXml(document); } internal XmlElement GetXml (XmlDocument document) { XmlElement objectElement = document.CreateElement("Object", SignedXml.XmlDsigNamespaceUrl); if (!String.IsNullOrEmpty(m_id)) objectElement.SetAttribute("Id", m_id); if (!String.IsNullOrEmpty(m_mimeType)) objectElement.SetAttribute("MimeType", m_mimeType); if (!String.IsNullOrEmpty(m_encoding)) objectElement.SetAttribute("Encoding", m_encoding); if (m_elData != null) { foreach (XmlNode node in m_elData) { objectElement.AppendChild(document.ImportNode(node, true)); } } return objectElement; } public void LoadXml (XmlElement value) { if (value == null) throw new ArgumentNullException("value"); m_id = Utils.GetAttribute(value, "Id", SignedXml.XmlDsigNamespaceUrl); m_mimeType = Utils.GetAttribute(value, "MimeType", SignedXml.XmlDsigNamespaceUrl); m_encoding = Utils.GetAttribute(value, "Encoding", SignedXml.XmlDsigNamespaceUrl); foreach (XmlNode node in value.ChildNodes) { m_elData.Add(node); } // Save away the cached value m_cachedXml = value; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- RenderDataDrawingContext.cs
- ObjectListDataBindEventArgs.cs
- UnsafeNativeMethods.cs
- SQLBoolean.cs
- HiddenField.cs
- MessageQueuePermissionAttribute.cs
- ClientData.cs
- QueryHandler.cs
- ParallelQuery.cs
- XmlObjectSerializerWriteContextComplex.cs
- QueryStringParameter.cs
- QueryCursorEventArgs.cs
- WindowsGraphicsWrapper.cs
- XamlReaderHelper.cs
- CompilerLocalReference.cs
- VBCodeProvider.cs
- RuntimeHandles.cs
- ChannelDemuxer.cs
- RawStylusActions.cs
- SettingsProviderCollection.cs
- RestHandlerFactory.cs
- SrgsSemanticInterpretationTag.cs
- DesignerActionService.cs
- CodeNamespaceCollection.cs
- OleDbParameterCollection.cs
- SqlDelegatedTransaction.cs
- Model3DGroup.cs
- EncoderFallback.cs
- DataGridItemCollection.cs
- IResourceProvider.cs
- Point3DCollection.cs
- IsolatedStoragePermission.cs
- StyleTypedPropertyAttribute.cs
- IIS7ConfigurationLoader.cs
- OrderByQueryOptionExpression.cs
- BlockUIContainer.cs
- InvokePatternIdentifiers.cs
- ReferenceCountedObject.cs
- PathGradientBrush.cs
- DataSourceProvider.cs
- RowCache.cs
- XPathNavigator.cs
- ToolStripDropDown.cs
- DWriteFactory.cs
- SmiContextFactory.cs
- QuotedPrintableStream.cs
- NamedObject.cs
- UnknownBitmapEncoder.cs
- VectorCollectionConverter.cs
- DataGridGeneralPage.cs
- RoleGroupCollection.cs
- IERequestCache.cs
- EdmType.cs
- RuntimeConfigLKG.cs
- SpStreamWrapper.cs
- ViewManagerAttribute.cs
- RegionData.cs
- StyleHelper.cs
- TextEditorSelection.cs
- CodeArgumentReferenceExpression.cs
- VarInfo.cs
- CodeIndexerExpression.cs
- GetIndexBinder.cs
- SqlInternalConnectionTds.cs
- Rectangle.cs
- RuntimeConfigLKG.cs
- ViewStateModeByIdAttribute.cs
- SafeThreadHandle.cs
- NumberSubstitution.cs
- AutoCompleteStringCollection.cs
- ScrollBar.cs
- DropShadowBitmapEffect.cs
- Overlapped.cs
- DataGrid.cs
- ListViewDataItem.cs
- DbProviderFactories.cs
- Cursor.cs
- Normalization.cs
- FormViewCommandEventArgs.cs
- TemplateControl.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- OletxDependentTransaction.cs
- Script.cs
- DeferredRunTextReference.cs
- HttpDebugHandler.cs
- DoubleUtil.cs
- WindowHelperService.cs
- BoundingRectTracker.cs
- DbDataSourceEnumerator.cs
- QuadraticBezierSegment.cs
- ApplicationTrust.cs
- LingerOption.cs
- XmlNodeChangedEventManager.cs
- DataBinding.cs
- NumberSubstitution.cs
- WebPartUserCapability.cs
- TextTreeInsertUndoUnit.cs
- AutomationPatternInfo.cs
- Glyph.cs
- ApplicationSettingsBase.cs