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
- ResourceDisplayNameAttribute.cs
- CodeMemberMethod.cs
- EntitySetDataBindingList.cs
- DataObjectSettingDataEventArgs.cs
- StickyNoteAnnotations.cs
- Attributes.cs
- ValidationRuleCollection.cs
- SafeBitVector32.cs
- SafeMemoryMappedViewHandle.cs
- ToolStripDropDownButton.cs
- ScriptResourceHandler.cs
- RadioButtonList.cs
- ItemsPanelTemplate.cs
- Column.cs
- XmlNode.cs
- MethodImplAttribute.cs
- TreeViewImageIndexConverter.cs
- IconConverter.cs
- ScriptModule.cs
- CommaDelimitedStringAttributeCollectionConverter.cs
- TypeUsageBuilder.cs
- FontWeight.cs
- ComponentResourceManager.cs
- ExpressionParser.cs
- SchemaNamespaceManager.cs
- CodeGeneratorAttribute.cs
- ImageIndexConverter.cs
- MetadataArtifactLoaderCompositeResource.cs
- CharacterBuffer.cs
- grammarelement.cs
- ControlType.cs
- DisableDpiAwarenessAttribute.cs
- Splitter.cs
- LabelDesigner.cs
- HttpWebRequestElement.cs
- FixedSOMElement.cs
- SecurityTokenParameters.cs
- SqlCommandSet.cs
- ContractListAdapter.cs
- SqlUdtInfo.cs
- BindingSourceDesigner.cs
- AutomationPropertyInfo.cs
- IsolatedStorageFileStream.cs
- SecureStringHasher.cs
- HtmlElement.cs
- HttpMethodConstraint.cs
- SubclassTypeValidatorAttribute.cs
- CellQuery.cs
- ToggleButton.cs
- LoginAutoFormat.cs
- SplitterEvent.cs
- PropertyManager.cs
- MessagePartProtectionMode.cs
- FactoryGenerator.cs
- Attachment.cs
- ToolboxCategory.cs
- TransformedBitmap.cs
- MethodBuilder.cs
- Popup.cs
- Models.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- VisualBasicHelper.cs
- SqlTransaction.cs
- FormParameter.cs
- URLIdentityPermission.cs
- DataListItem.cs
- TraceContextEventArgs.cs
- OrderingQueryOperator.cs
- DocumentSequenceHighlightLayer.cs
- Vector3DConverter.cs
- AppModelKnownContentFactory.cs
- FileDialogPermission.cs
- ParsedRoute.cs
- _LoggingObject.cs
- CompareValidator.cs
- StrokeFIndices.cs
- HitTestWithGeometryDrawingContextWalker.cs
- IDReferencePropertyAttribute.cs
- AssemblyCollection.cs
- CallbackHandler.cs
- FontStyle.cs
- Positioning.cs
- autovalidator.cs
- HttpBrowserCapabilitiesBase.cs
- UIElementAutomationPeer.cs
- ISessionStateStore.cs
- ErrorStyle.cs
- WorkflowMarkupSerializationProvider.cs
- RemotingAttributes.cs
- BamlLocalizableResourceKey.cs
- XmlDataProvider.cs
- FileDialogCustomPlacesCollection.cs
- InstanceOwnerException.cs
- MessageQueuePermissionAttribute.cs
- XmlTextEncoder.cs
- DbTransaction.cs
- SafePEFileHandle.cs
- CurrentTimeZone.cs
- DataDocumentXPathNavigator.cs
- BitSet.cs