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
- Constraint.cs
- ElapsedEventArgs.cs
- LinqDataSourceDeleteEventArgs.cs
- MatrixTransform.cs
- ExplicitDiscriminatorMap.cs
- UIElementIsland.cs
- SqlXmlStorage.cs
- GridViewCancelEditEventArgs.cs
- ThreadPool.cs
- XmlMembersMapping.cs
- DetailsViewModeEventArgs.cs
- EngineSiteSapi.cs
- XmlSchemaObject.cs
- AccessViolationException.cs
- VirtualizingStackPanel.cs
- SoapFault.cs
- SecurityPermission.cs
- ToolboxComponentsCreatedEventArgs.cs
- XmlAnyAttributeAttribute.cs
- NativeWrapper.cs
- GridViewSortEventArgs.cs
- StrongNameMembershipCondition.cs
- HwndSubclass.cs
- StylusLogic.cs
- PrintEvent.cs
- ContactManager.cs
- CompressionTransform.cs
- GeneratedCodeAttribute.cs
- OptionalRstParameters.cs
- BindingsSection.cs
- ReaderContextStackData.cs
- WebPageTraceListener.cs
- BaseTreeIterator.cs
- FamilyMapCollection.cs
- RangeBaseAutomationPeer.cs
- EntityDataSourceValidationException.cs
- FormsAuthenticationEventArgs.cs
- SmtpReplyReader.cs
- HttpFileCollection.cs
- TypedDataSetSchemaImporterExtensionFx35.cs
- ViewLoader.cs
- Number.cs
- RSAPKCS1SignatureFormatter.cs
- TypeGeneratedEventArgs.cs
- FrugalList.cs
- TraceRecord.cs
- ThreadPoolTaskScheduler.cs
- SchemaDeclBase.cs
- TextRange.cs
- RubberbandSelector.cs
- XPathBuilder.cs
- RSAPKCS1SignatureDeformatter.cs
- Zone.cs
- Color.cs
- CubicEase.cs
- MsmqTransportReceiveParameters.cs
- DataGridViewCellLinkedList.cs
- DurationConverter.cs
- NetworkInformationPermission.cs
- Parallel.cs
- IconConverter.cs
- BulletedListEventArgs.cs
- IISUnsafeMethods.cs
- RuleValidation.cs
- VolatileResourceManager.cs
- EndPoint.cs
- Point4D.cs
- HostingEnvironment.cs
- GridPattern.cs
- SqlXmlStorage.cs
- RC2CryptoServiceProvider.cs
- SqlAggregateChecker.cs
- StringFormat.cs
- PixelShader.cs
- Array.cs
- TypeBuilderInstantiation.cs
- IItemContainerGenerator.cs
- ADConnectionHelper.cs
- DockingAttribute.cs
- BamlTreeMap.cs
- FrameworkEventSource.cs
- FormsAuthenticationConfiguration.cs
- CultureInfoConverter.cs
- WebPartAuthorizationEventArgs.cs
- PreviewPageInfo.cs
- ResourceProviderFactory.cs
- UniqueEventHelper.cs
- SslStreamSecurityElement.cs
- KeyEvent.cs
- Vector3DAnimationUsingKeyFrames.cs
- NetworkInterface.cs
- KeyInterop.cs
- VirtualPathUtility.cs
- AsymmetricSignatureDeformatter.cs
- WorkflowTerminatedException.cs
- BackEase.cs
- ExpressionEditorAttribute.cs
- FontSource.cs
- ChtmlTextWriter.cs
- ChangeToolStripParentVerb.cs