Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DecoderBestFitFallback.cs
- AttributeInfo.cs
- DockProviderWrapper.cs
- FormViewRow.cs
- DataGridViewRow.cs
- TriState.cs
- DescriptionAttribute.cs
- TreeViewEvent.cs
- UIAgentAsyncEndRequest.cs
- BinaryReader.cs
- BamlResourceDeserializer.cs
- WebResourceAttribute.cs
- WorkflowInlining.cs
- HyperLink.cs
- MessagePropertyDescription.cs
- ChtmlTextWriter.cs
- SqlDataSourceQuery.cs
- SimpleHandlerFactory.cs
- ClientConvert.cs
- ServiceAuthorizationElement.cs
- XmlWrappingReader.cs
- HttpModule.cs
- FlowDocumentPage.cs
- PhysicalAddress.cs
- LOSFormatter.cs
- Visual.cs
- ButtonField.cs
- TrustManager.cs
- FontFamily.cs
- XmlObjectSerializerWriteContext.cs
- IdentityReference.cs
- FileDataSource.cs
- ArcSegment.cs
- ApplicationServiceManager.cs
- SafeEventLogWriteHandle.cs
- NamespaceEmitter.cs
- PrintControllerWithStatusDialog.cs
- ButtonBaseAutomationPeer.cs
- Dictionary.cs
- XhtmlConformanceSection.cs
- WsiProfilesElementCollection.cs
- ObfuscateAssemblyAttribute.cs
- ConstraintCollection.cs
- CodeNamespaceCollection.cs
- SimpleTextLine.cs
- RenderData.cs
- BrowserCapabilitiesCodeGenerator.cs
- ShapeTypeface.cs
- WebPartRestoreVerb.cs
- NumericExpr.cs
- UserControlBuildProvider.cs
- MarshalByValueComponent.cs
- Point4DConverter.cs
- TextSelection.cs
- LayeredChannelFactory.cs
- XmlSchemaAttributeGroup.cs
- DebuggerAttributes.cs
- DecimalAnimation.cs
- AccessDataSource.cs
- PropertyItem.cs
- IntegerValidatorAttribute.cs
- SignatureResourcePool.cs
- DataGridTableCollection.cs
- HtmlControlDesigner.cs
- BaseDataBoundControl.cs
- ScaleTransform.cs
- ContentPresenter.cs
- IDispatchConstantAttribute.cs
- WindowsTreeView.cs
- CommonRemoteMemoryBlock.cs
- SiteMapProvider.cs
- ThemeConfigurationDialog.cs
- codemethodreferenceexpression.cs
- DataGridTableStyleMappingNameEditor.cs
- COM2ComponentEditor.cs
- BamlBinaryWriter.cs
- ViewSimplifier.cs
- Cursors.cs
- PermissionRequestEvidence.cs
- TiffBitmapEncoder.cs
- RoleGroup.cs
- latinshape.cs
- NetCodeGroup.cs
- HtmlDocument.cs
- TypedTableGenerator.cs
- Compiler.cs
- Timer.cs
- ObjectAnimationUsingKeyFrames.cs
- TextChange.cs
- HandleCollector.cs
- BinaryExpression.cs
- DbParameterCollection.cs
- DSACryptoServiceProvider.cs
- AssemblyResourceLoader.cs
- Compiler.cs
- ProviderException.cs
- ModifierKeysConverter.cs
- IndependentlyAnimatedPropertyMetadata.cs
- DataAdapter.cs
- StylusPointPropertyInfo.cs