Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- PageRanges.cs
- NetworkInformationPermission.cs
- IMembershipProvider.cs
- InternalControlCollection.cs
- DocumentViewerHelper.cs
- TreeIterators.cs
- CollectionChangeEventArgs.cs
- OrderedDictionary.cs
- ComplexPropertyEntry.cs
- ListViewHitTestInfo.cs
- DataGridCell.cs
- MailWriter.cs
- TypeNameConverter.cs
- Vector3DConverter.cs
- MultiByteCodec.cs
- Int32KeyFrameCollection.cs
- Automation.cs
- StringFunctions.cs
- CaseCqlBlock.cs
- Processor.cs
- ApplicationSecurityManager.cs
- UniqueEventHelper.cs
- ISAPIWorkerRequest.cs
- FixedMaxHeap.cs
- WebPartTransformerAttribute.cs
- RoutedEventHandlerInfo.cs
- ReflectionPermission.cs
- SelectionListComponentEditor.cs
- AccessText.cs
- CustomCredentialPolicy.cs
- dataSvcMapFileLoader.cs
- XNodeNavigator.cs
- CompiledRegexRunner.cs
- TemplateBaseAction.cs
- DelegateTypeInfo.cs
- SiteMapNodeItem.cs
- SqlUnionizer.cs
- DataListItemCollection.cs
- Encoding.cs
- BamlStream.cs
- InputGestureCollection.cs
- SecurityUtils.cs
- DbXmlEnabledProviderManifest.cs
- XmlAttributeOverrides.cs
- ParseHttpDate.cs
- FixedSOMPageConstructor.cs
- TimeManager.cs
- HeaderCollection.cs
- SecurityElement.cs
- ConfigXmlElement.cs
- HttpCachePolicyElement.cs
- PropertyMetadata.cs
- TrustManagerMoreInformation.cs
- BindingContext.cs
- ContextMenuStrip.cs
- HostingEnvironmentWrapper.cs
- AsymmetricCryptoHandle.cs
- ToolStripSplitStackLayout.cs
- PageHandlerFactory.cs
- DefaultSettingsSection.cs
- CompilerTypeWithParams.cs
- PixelShader.cs
- LifetimeServices.cs
- XmlSerializerSection.cs
- ContainerParagraph.cs
- DataGridViewColumnDesigner.cs
- StatusBar.cs
- ModelServiceImpl.cs
- XmlElementAttributes.cs
- CroppedBitmap.cs
- StrongName.cs
- HostingEnvironmentException.cs
- MemberMaps.cs
- TemplateControlCodeDomTreeGenerator.cs
- SHA512.cs
- ContainerActivationHelper.cs
- Hyperlink.cs
- DataServiceQueryProvider.cs
- XsdValidatingReader.cs
- UInt32Converter.cs
- AssemblyBuilder.cs
- XmlAnyElementAttribute.cs
- AmbientProperties.cs
- DiscardableAttribute.cs
- ExpandSegment.cs
- Int64Animation.cs
- OrderedHashRepartitionStream.cs
- ValidationPropertyAttribute.cs
- WCFServiceClientProxyGenerator.cs
- AttachedProperty.cs
- ComponentDispatcher.cs
- WindowsFormsHostAutomationPeer.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- DependencyObjectType.cs
- NameGenerator.cs
- RelatedEnd.cs
- WindowsListViewSubItem.cs
- FormView.cs
- SignatureDescription.cs
- InstanceKeyCompleteException.cs