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
- HwndSourceParameters.cs
- MLangCodePageEncoding.cs
- HttpCookiesSection.cs
- HtmlElementEventArgs.cs
- OAVariantLib.cs
- GridViewPageEventArgs.cs
- SchemaSetCompiler.cs
- IntellisenseTextBox.cs
- Attributes.cs
- SourceFilter.cs
- FontStretchConverter.cs
- XPathNodeIterator.cs
- SrgsText.cs
- WindowsListViewScroll.cs
- SwitchAttribute.cs
- DataGridViewTextBoxEditingControl.cs
- Identity.cs
- ObjectCacheHost.cs
- DeviceContext2.cs
- ApplicationBuildProvider.cs
- CodeExporter.cs
- BinaryMethodMessage.cs
- ProfessionalColorTable.cs
- ReaderWriterLockWrapper.cs
- TableRow.cs
- RtfControlWordInfo.cs
- GatewayDefinition.cs
- SpecularMaterial.cs
- MimeObjectFactory.cs
- DescendantOverDescendantQuery.cs
- DynamicVirtualDiscoSearcher.cs
- ToolStripDropDownItemDesigner.cs
- InvalidWMPVersionException.cs
- SignalGate.cs
- ExportFileRequest.cs
- GeneralTransform3D.cs
- DataViewSetting.cs
- CachedFontFamily.cs
- DragDrop.cs
- CodeCompiler.cs
- _NestedMultipleAsyncResult.cs
- MergeFailedEvent.cs
- PartManifestEntry.cs
- AutomationEvent.cs
- DocumentXPathNavigator.cs
- XhtmlBasicObjectListAdapter.cs
- BrowserDefinitionCollection.cs
- WebBaseEventKeyComparer.cs
- EditableTreeList.cs
- SystemFonts.cs
- HMACSHA512.cs
- UIElementCollection.cs
- XmlArrayItemAttributes.cs
- ConstructorNeedsTagAttribute.cs
- RightsManagementPermission.cs
- MimeTypeMapper.cs
- ResizingMessageFilter.cs
- ConfigurationSectionCollection.cs
- CopyAttributesAction.cs
- ConnectionOrientedTransportManager.cs
- DrawListViewItemEventArgs.cs
- Configuration.cs
- XmlMapping.cs
- NativeMethods.cs
- WindowsToolbar.cs
- ProcessModelInfo.cs
- SqlDelegatedTransaction.cs
- FormatVersion.cs
- TableRowCollection.cs
- RsaSecurityKey.cs
- Emitter.cs
- _AcceptOverlappedAsyncResult.cs
- ellipse.cs
- DebugInfoGenerator.cs
- Pkcs9Attribute.cs
- RemoteWebConfigurationHostServer.cs
- PartialTrustVisibleAssembly.cs
- XmlDataSource.cs
- CodeDOMUtility.cs
- VectorCollection.cs
- MemoryStream.cs
- BaseParser.cs
- AttributeCollection.cs
- Environment.cs
- listitem.cs
- CustomErrorCollection.cs
- FontStyle.cs
- AcceleratedTokenProviderState.cs
- AtlasWeb.Designer.cs
- QueryExpression.cs
- WebConfigurationHost.cs
- FileDetails.cs
- ISFClipboardData.cs
- SqlNode.cs
- ContentValidator.cs
- AttachmentService.cs
- SqlReorderer.cs
- WmlFormAdapter.cs
- StylusPlugInCollection.cs
- CssClassPropertyAttribute.cs