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
- FixedSchema.cs
- DataGridViewTopRowAccessibleObject.cs
- ASCIIEncoding.cs
- AssemblyName.cs
- RectValueSerializer.cs
- SoapMessage.cs
- PanelStyle.cs
- NaturalLanguageHyphenator.cs
- XmlResolver.cs
- RequestCacheValidator.cs
- ComponentEvent.cs
- SamlConstants.cs
- FixedPosition.cs
- CodeSubDirectory.cs
- ExtentCqlBlock.cs
- PersonalizationAdministration.cs
- GridViewRowEventArgs.cs
- UriParserTemplates.cs
- TemplateComponentConnector.cs
- DrawListViewItemEventArgs.cs
- DispatcherHooks.cs
- DataGridViewTextBoxCell.cs
- RelationshipSet.cs
- SystemColors.cs
- ToolTipAutomationPeer.cs
- FixedTextContainer.cs
- UriGenerator.cs
- EdmRelationshipNavigationPropertyAttribute.cs
- StylusPointDescription.cs
- UnsafePeerToPeerMethods.cs
- Button.cs
- XmlSchemaInclude.cs
- ScaleTransform.cs
- ComponentResourceManager.cs
- ViewCellSlot.cs
- EntityUtil.cs
- AudioSignalProblemOccurredEventArgs.cs
- XmlHelper.cs
- ContextBase.cs
- StringComparer.cs
- DataGridParentRows.cs
- AsyncResult.cs
- DigitShape.cs
- CLSCompliantAttribute.cs
- GridItemCollection.cs
- SafeFileHandle.cs
- WorkflowServiceNamespace.cs
- DataObjectCopyingEventArgs.cs
- DataConnectionHelper.cs
- TransactedReceiveData.cs
- Util.cs
- NumericUpDownAccelerationCollection.cs
- Variable.cs
- TextShapeableCharacters.cs
- DoubleCollectionConverter.cs
- QueryCacheEntry.cs
- _HeaderInfoTable.cs
- ExcludePathInfo.cs
- DrawingVisual.cs
- ToolboxItemFilterAttribute.cs
- FrameworkElementFactoryMarkupObject.cs
- ModulesEntry.cs
- ConcurrencyBehavior.cs
- Vector.cs
- FixedSOMFixedBlock.cs
- UnaryQueryOperator.cs
- XmlSerializableReader.cs
- FastEncoderWindow.cs
- SiteIdentityPermission.cs
- BaseDataListPage.cs
- ServerValidateEventArgs.cs
- iisPickupDirectory.cs
- Transform3DCollection.cs
- SchemaImporterExtension.cs
- MailWriter.cs
- TemplateInstanceAttribute.cs
- Graph.cs
- DynamicDataRoute.cs
- DocumentPage.cs
- ImpersonateTokenRef.cs
- DbLambda.cs
- TextSearch.cs
- BlurEffect.cs
- QueryableFilterUserControl.cs
- EditorBrowsableAttribute.cs
- OrderedDictionary.cs
- NameValueConfigurationCollection.cs
- VirtualPathExtension.cs
- DesignConnection.cs
- JapaneseCalendar.cs
- HitTestParameters3D.cs
- OpCopier.cs
- XmlSchemaComplexContentExtension.cs
- InArgumentConverter.cs
- FixedSOMPageElement.cs
- PathTooLongException.cs
- HttpCachePolicy.cs
- HostProtectionPermission.cs
- ParameterReplacerVisitor.cs
- ValidationPropertyAttribute.cs