Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- WebPartMenu.cs
- PageParser.cs
- DesignerTransactionCloseEvent.cs
- DataBoundControlAdapter.cs
- LayoutInformation.cs
- TabItemWrapperAutomationPeer.cs
- FusionWrap.cs
- StyleBamlTreeBuilder.cs
- Psha1DerivedKeyGenerator.cs
- DesignOnlyAttribute.cs
- TextEditor.cs
- MimeTypePropertyAttribute.cs
- DataGridViewRowEventArgs.cs
- InputLangChangeEvent.cs
- BlockCollection.cs
- HttpDictionary.cs
- DeobfuscatingStream.cs
- RegisteredDisposeScript.cs
- DataPagerField.cs
- HtmlSelect.cs
- Imaging.cs
- ContextMenu.cs
- ContractCodeDomInfo.cs
- DesignerLoader.cs
- AnnotationComponentManager.cs
- Msec.cs
- ArrayList.cs
- ResourceManager.cs
- QuadraticBezierSegment.cs
- DocumentViewerBaseAutomationPeer.cs
- StrongName.cs
- DependentList.cs
- TabItemWrapperAutomationPeer.cs
- PopOutPanel.cs
- ContextBase.cs
- DecoderExceptionFallback.cs
- TextRenderer.cs
- ExtensionSimplifierMarkupObject.cs
- XmlCharCheckingWriter.cs
- DispatchOperation.cs
- ToolStripItemEventArgs.cs
- RegexCode.cs
- FilteredReadOnlyMetadataCollection.cs
- ValidationErrorCollection.cs
- RemotingConfiguration.cs
- Transform3D.cs
- CopyAction.cs
- XPathConvert.cs
- PriorityItem.cs
- CheckBox.cs
- PackageRelationshipCollection.cs
- HttpVersion.cs
- PaintValueEventArgs.cs
- OdbcRowUpdatingEvent.cs
- MetadataPropertyvalue.cs
- PasswordTextContainer.cs
- SqlHelper.cs
- UrlPath.cs
- FontStyle.cs
- NameValueConfigurationElement.cs
- DropSource.cs
- SecUtil.cs
- ServicesUtilities.cs
- Storyboard.cs
- SecurityContext.cs
- SchemaNotation.cs
- Encoder.cs
- UTF8Encoding.cs
- XmlSerializerAssemblyAttribute.cs
- TableLayoutSettings.cs
- DynamicObjectAccessor.cs
- ListViewItem.cs
- SingleAnimation.cs
- CopyEncoder.cs
- WmlCommandAdapter.cs
- ExternalException.cs
- mil_commands.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- SqlBulkCopyColumnMappingCollection.cs
- SettingsSavedEventArgs.cs
- ItemList.cs
- NamespaceCollection.cs
- ContentType.cs
- InvalidCastException.cs
- InvokePattern.cs
- CrossContextChannel.cs
- ClientProxyGenerator.cs
- DesignerDataView.cs
- Visual3D.cs
- CodeCompiler.cs
- ResourceDictionary.cs
- HtmlElementErrorEventArgs.cs
- WebPartConnectionsDisconnectVerb.cs
- WebPartsPersonalizationAuthorization.cs
- _ContextAwareResult.cs
- __ComObject.cs
- ClientOptions.cs
- MsmqInputChannel.cs
- X509Certificate.cs
- PerformanceCountersElement.cs