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
- VersionPair.cs
- RadioButton.cs
- CodeArrayCreateExpression.cs
- QilBinary.cs
- Int16.cs
- InitializerFacet.cs
- FixedSOMPageConstructor.cs
- LogExtentCollection.cs
- InfoCardRSACryptoProvider.cs
- DataViewManagerListItemTypeDescriptor.cs
- JavaScriptString.cs
- SamlAudienceRestrictionCondition.cs
- PathParser.cs
- EventProviderTraceListener.cs
- CompilerLocalReference.cs
- DeferredSelectedIndexReference.cs
- Point3D.cs
- PartitionerStatic.cs
- MetadataUtilsSmi.cs
- RelationalExpressions.cs
- TableItemPattern.cs
- UnsafeNativeMethodsCLR.cs
- WorkflowFormatterBehavior.cs
- DataViewSetting.cs
- Token.cs
- WindowsListBox.cs
- PathSegmentCollection.cs
- XmlStreamStore.cs
- PieceDirectory.cs
- RectangleHotSpot.cs
- PrivateFontCollection.cs
- CurrentChangedEventManager.cs
- MultiSelectRootGridEntry.cs
- MsmqChannelFactoryBase.cs
- GenericIdentity.cs
- ContextConfiguration.cs
- SqlDataAdapter.cs
- WindowsAuthenticationEventArgs.cs
- ClientConfigurationSystem.cs
- DataSourceCollectionBase.cs
- SqlDataSourceConfigureSelectPanel.cs
- HttpRequest.cs
- GeneralTransform2DTo3D.cs
- ListView.cs
- HttpStaticObjectsCollectionBase.cs
- PathGeometry.cs
- ObjectTag.cs
- TypeLibraryHelper.cs
- WeakReferenceList.cs
- ProcessHostFactoryHelper.cs
- KoreanLunisolarCalendar.cs
- SiteMap.cs
- XmlSerializationWriter.cs
- ObjectPersistData.cs
- DesignerRegionCollection.cs
- TypeViewSchema.cs
- OdbcConnectionStringbuilder.cs
- Stream.cs
- ServiceDesigner.cs
- TrustManagerMoreInformation.cs
- QueueProcessor.cs
- StringFreezingAttribute.cs
- panel.cs
- TextPattern.cs
- TableStyle.cs
- TrackBarRenderer.cs
- Translator.cs
- KeyGestureConverter.cs
- SessionStateItemCollection.cs
- ValueTypeFieldReference.cs
- CodeGeneratorAttribute.cs
- UrlMappingsSection.cs
- DataServiceProviderMethods.cs
- ParallelTimeline.cs
- XmlRawWriter.cs
- SQLResource.cs
- SimplePropertyEntry.cs
- DataViewManager.cs
- ExtensionFile.cs
- Script.cs
- SByte.cs
- WebDisplayNameAttribute.cs
- ToolStripDropDownClosingEventArgs.cs
- XmlNodeReader.cs
- SqlDataReaderSmi.cs
- XmlUrlEditor.cs
- Accessible.cs
- DeviceSpecificDesigner.cs
- ArrayElementGridEntry.cs
- XPathScanner.cs
- COM2FontConverter.cs
- BindingManagerDataErrorEventArgs.cs
- DataServices.cs
- RoleGroup.cs
- KnownTypesProvider.cs
- DecimalAnimationUsingKeyFrames.cs
- ContractListAdapter.cs
- complextypematerializer.cs
- DataGridBoolColumn.cs
- TextRenderer.cs