Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / clr / src / ManagedLibraries / Security / System / Security / Cryptography / Xml / DataObject.cs / 5 / 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
- ByteAnimation.cs
- CryptoApi.cs
- TypeCodeDomSerializer.cs
- DependencyObjectValidator.cs
- ProgressChangedEventArgs.cs
- SpecularMaterial.cs
- ConfigXmlAttribute.cs
- ListDataHelper.cs
- ReferenceEqualityComparer.cs
- PartialTrustHelpers.cs
- SafeEventHandle.cs
- GridPattern.cs
- InternalSafeNativeMethods.cs
- ControlCodeDomSerializer.cs
- InputMethodStateChangeEventArgs.cs
- MediaPlayer.cs
- Propagator.ExtentPlaceholderCreator.cs
- Utils.cs
- ListBindableAttribute.cs
- figurelengthconverter.cs
- DbConnectionStringCommon.cs
- Lookup.cs
- SizeKeyFrameCollection.cs
- PngBitmapEncoder.cs
- CommandField.cs
- SqlRewriteScalarSubqueries.cs
- LinearGradientBrush.cs
- PassportAuthenticationModule.cs
- unitconverter.cs
- GB18030Encoding.cs
- Composition.cs
- EntityDataSourceSelectedEventArgs.cs
- iisPickupDirectory.cs
- FlowDocumentFormatter.cs
- DataGridViewSortCompareEventArgs.cs
- DataListItem.cs
- MarkupExtensionParser.cs
- RegisterInfo.cs
- Stylesheet.cs
- DataSourceComponent.cs
- DataGridCheckBoxColumn.cs
- ObjectHandle.cs
- FixedBufferAttribute.cs
- Condition.cs
- ResXDataNode.cs
- KnownBoxes.cs
- StylusPlugInCollection.cs
- SQLBytes.cs
- SaveFileDialog.cs
- Converter.cs
- OutputCacheSettingsSection.cs
- MetadataItemCollectionFactory.cs
- BlockUIContainer.cs
- DataGridViewRowEventArgs.cs
- JsonReader.cs
- ExclusiveHandleList.cs
- Tracer.cs
- StrongNameIdentityPermission.cs
- _SingleItemRequestCache.cs
- MemberAccessException.cs
- ImageButton.cs
- IndexedString.cs
- TextEndOfLine.cs
- ExpressionConverter.cs
- BamlMapTable.cs
- AssemblyAttributesGoHere.cs
- WindowsFormsHostPropertyMap.cs
- RegexCode.cs
- TransformerInfoCollection.cs
- _CookieModule.cs
- TogglePatternIdentifiers.cs
- Hex.cs
- ApplicationFileCodeDomTreeGenerator.cs
- MarkupCompiler.cs
- DataTemplateKey.cs
- SystemBrushes.cs
- DelayLoadType.cs
- PartitionResolver.cs
- CodeGroup.cs
- DataGridViewCellStyleConverter.cs
- HandlerFactoryWrapper.cs
- DbExpressionBuilder.cs
- DataGridColumn.cs
- CompressionTracing.cs
- GridViewAutomationPeer.cs
- EmbeddedMailObject.cs
- CryptoApi.cs
- User.cs
- SessionSymmetricTransportSecurityProtocolFactory.cs
- LogManagementAsyncResult.cs
- TimeSpanConverter.cs
- EncoderParameter.cs
- HtmlTernaryTree.cs
- FormatSelectingMessageInspector.cs
- _LoggingObject.cs
- CompilerCollection.cs
- AttributeCollection.cs
- GradientStopCollection.cs
- BigInt.cs
- ActivityInstanceReference.cs