Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / ManagedLibraries / Security / System / Security / Cryptography / Xml / DataObject.cs / 1305376 / 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
- TextBoxRenderer.cs
- MsiStyleLogWriter.cs
- SqlXml.cs
- Variable.cs
- GatewayDefinition.cs
- DelegateHelpers.Generated.cs
- CodeNamespaceImport.cs
- ThreadExceptionDialog.cs
- Suspend.cs
- prompt.cs
- FixedSOMTextRun.cs
- BaseCodeDomTreeGenerator.cs
- Cursor.cs
- TrustManagerPromptUI.cs
- HttpCookie.cs
- EmptyQuery.cs
- BaseDataBoundControl.cs
- DesignerAttribute.cs
- IDispatchConstantAttribute.cs
- EmptyCollection.cs
- IpcClientChannel.cs
- SqlDataSourceCommandEventArgs.cs
- Html32TextWriter.cs
- RuntimeArgumentHandle.cs
- FolderLevelBuildProviderCollection.cs
- AppDomainFactory.cs
- XmlQueryRuntime.cs
- LocalizableAttribute.cs
- KerberosRequestorSecurityToken.cs
- WebEventCodes.cs
- MergeLocalizationDirectives.cs
- Convert.cs
- StringValidator.cs
- PrtCap_Base.cs
- ThreadInterruptedException.cs
- ConstraintConverter.cs
- UrlParameterWriter.cs
- StrokeFIndices.cs
- CommandBindingCollection.cs
- ReliableSessionBindingElement.cs
- QilValidationVisitor.cs
- Attributes.cs
- ImageCodecInfoPrivate.cs
- SafeFileMappingHandle.cs
- BaseTemplateParser.cs
- XmlDataSource.cs
- GenericRootAutomationPeer.cs
- KeyProperty.cs
- Vertex.cs
- MiniModule.cs
- StrokeCollectionDefaultValueFactory.cs
- ObjectDataSourceDesigner.cs
- HebrewCalendar.cs
- FirstMatchCodeGroup.cs
- SynchronizingStream.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- OdbcConnectionString.cs
- ReflectionTypeLoadException.cs
- SymbolUsageManager.cs
- StructuralObject.cs
- Hash.cs
- AudioFormatConverter.cs
- FolderBrowserDialog.cs
- TreeViewBindingsEditorForm.cs
- ModifierKeysValueSerializer.cs
- NonClientArea.cs
- AuthenticateEventArgs.cs
- RecommendedAsConfigurableAttribute.cs
- CollectionViewGroupInternal.cs
- COM2ColorConverter.cs
- DefaultHttpHandler.cs
- ExtensionSimplifierMarkupObject.cs
- DeviceFilterEditorDialog.cs
- XmlBinaryWriter.cs
- ListViewEditEventArgs.cs
- DocumentAutomationPeer.cs
- SQLMoney.cs
- PrincipalPermission.cs
- ListenerAdaptersInstallComponent.cs
- RawAppCommandInputReport.cs
- _BufferOffsetSize.cs
- SignatureGenerator.cs
- CustomErrorsSection.cs
- SrgsRule.cs
- FontWeight.cs
- FloatUtil.cs
- WebPartManager.cs
- HttpResponseInternalWrapper.cs
- ModuleConfigurationInfo.cs
- InternalDispatchObject.cs
- GiveFeedbackEvent.cs
- StorageAssociationSetMapping.cs
- Normalization.cs
- WindowsGraphics.cs
- MemberRelationshipService.cs
- Journaling.cs
- translator.cs
- Quad.cs
- nulltextcontainer.cs
- Error.cs