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
- RealProxy.cs
- RowVisual.cs
- AsyncOperation.cs
- TrackingCondition.cs
- ElementMarkupObject.cs
- Main.cs
- DynamicRendererThreadManager.cs
- XmlArrayItemAttribute.cs
- ClickablePoint.cs
- HostExecutionContextManager.cs
- RadioButtonStandardAdapter.cs
- TextShapeableCharacters.cs
- LookupBindingPropertiesAttribute.cs
- HostingPreferredMapPath.cs
- DocumentViewerBase.cs
- DependencyPropertyChangedEventArgs.cs
- WindowsStartMenu.cs
- SecUtil.cs
- EditorZoneAutoFormat.cs
- CodeParameterDeclarationExpressionCollection.cs
- DataGridViewRowPrePaintEventArgs.cs
- Action.cs
- xmlfixedPageInfo.cs
- PrintingPermissionAttribute.cs
- DrawingVisualDrawingContext.cs
- System.Data.OracleClient_BID.cs
- brushes.cs
- ValueExpressions.cs
- PagerStyle.cs
- FixedTextSelectionProcessor.cs
- OutputCacheSettingsSection.cs
- RadialGradientBrush.cs
- CellParagraph.cs
- TextTabProperties.cs
- CryptoApi.cs
- DomNameTable.cs
- BamlMapTable.cs
- X509UI.cs
- AmbiguousMatchException.cs
- ListBoxChrome.cs
- CodeArgumentReferenceExpression.cs
- QilReference.cs
- ICollection.cs
- DoubleLink.cs
- SafeMILHandle.cs
- VirtualPathProvider.cs
- DataBindingHandlerAttribute.cs
- basecomparevalidator.cs
- ImmComposition.cs
- NonParentingControl.cs
- DataGridViewCellStyle.cs
- SerializableTypeCodeDomSerializer.cs
- NoneExcludedImageIndexConverter.cs
- DeviceContext2.cs
- HitTestParameters.cs
- OdbcErrorCollection.cs
- CommonProperties.cs
- Page.cs
- CallContext.cs
- FileVersionInfo.cs
- RoleManagerSection.cs
- InkCanvasInnerCanvas.cs
- CacheChildrenQuery.cs
- SortedDictionary.cs
- Icon.cs
- IndexedEnumerable.cs
- DocumentPage.cs
- TextureBrush.cs
- SuppressMergeCheckAttribute.cs
- AbandonedMutexException.cs
- TypeResolver.cs
- PerspectiveCamera.cs
- BitmapEditor.cs
- MatcherBuilder.cs
- BackgroundFormatInfo.cs
- BaseTreeIterator.cs
- TriggerCollection.cs
- IdentityVerifier.cs
- DEREncoding.cs
- TypographyProperties.cs
- AvtEvent.cs
- diagnosticsswitches.cs
- ProviderCollection.cs
- ButtonColumn.cs
- IndexedEnumerable.cs
- SortFieldComparer.cs
- TableRow.cs
- SafeLibraryHandle.cs
- RestClientProxyHandler.cs
- PropertyGridEditorPart.cs
- RowSpanVector.cs
- Switch.cs
- StorageModelBuildProvider.cs
- storagemappingitemcollection.viewdictionary.cs
- SecurityDocument.cs
- Code.cs
- Single.cs
- EntityDataSourceContextDisposingEventArgs.cs
- InvokeFunc.cs
- WebConfigurationFileMap.cs