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
- WebPartPersonalization.cs
- precedingquery.cs
- SID.cs
- TcpChannelListener.cs
- DataServiceRequest.cs
- SyndicationDeserializer.cs
- AssemblyHash.cs
- BaseDataList.cs
- Activator.cs
- LinqDataSourceContextEventArgs.cs
- ResourceDescriptionAttribute.cs
- SecurityUniqueId.cs
- ClientScriptManagerWrapper.cs
- SourceLineInfo.cs
- InvokeProviderWrapper.cs
- CfgParser.cs
- CalendarDesigner.cs
- TypeConverterBase.cs
- HostingEnvironmentSection.cs
- MemoryRecordBuffer.cs
- WeakEventTable.cs
- ArgIterator.cs
- X509CertificateCollection.cs
- StdValidatorsAndConverters.cs
- DataRowCollection.cs
- Scheduler.cs
- DataViewListener.cs
- AssemblyCollection.cs
- StreamInfo.cs
- GeometryHitTestParameters.cs
- StrokeCollectionConverter.cs
- Tuple.cs
- Quad.cs
- DirectoryNotFoundException.cs
- SqlDelegatedTransaction.cs
- TrackingQueryElement.cs
- Exceptions.cs
- Message.cs
- COSERVERINFO.cs
- PolygonHotSpot.cs
- ThreadPool.cs
- EntityDescriptor.cs
- WindowsImpersonationContext.cs
- PropagatorResult.cs
- CollectionViewGroup.cs
- FaultPropagationQuery.cs
- LogFlushAsyncResult.cs
- HtmlFormWrapper.cs
- SvcFileManager.cs
- XmlSchemaSequence.cs
- BindingCollection.cs
- IndentedWriter.cs
- PageBuildProvider.cs
- ApplicationDirectoryMembershipCondition.cs
- TCEAdapterGenerator.cs
- CategoryNameCollection.cs
- PresentationTraceSources.cs
- WinEventTracker.cs
- ComEventsHelper.cs
- CodeGen.cs
- mediaeventshelper.cs
- ImageCodecInfoPrivate.cs
- CharUnicodeInfo.cs
- ConfigUtil.cs
- ExtensionQuery.cs
- XmlElementAttribute.cs
- NativeMethods.cs
- ProxyGenerationError.cs
- OperationValidationEventArgs.cs
- AddingNewEventArgs.cs
- EventHandlersStore.cs
- XPathMultyIterator.cs
- StringBuilder.cs
- DataViewManagerListItemTypeDescriptor.cs
- ExpressionLexer.cs
- IisTraceWebEventProvider.cs
- HeaderCollection.cs
- DbBuffer.cs
- DescendentsWalker.cs
- RedirectionProxy.cs
- NetTcpSection.cs
- NonVisualControlAttribute.cs
- _CookieModule.cs
- RuntimeArgument.cs
- ControlParameter.cs
- RtfToken.cs
- BaseServiceProvider.cs
- InitializationEventAttribute.cs
- AdRotator.cs
- BindableTemplateBuilder.cs
- QilStrConcat.cs
- HttpPostedFile.cs
- AddInActivator.cs
- ParseChildrenAsPropertiesAttribute.cs
- RowType.cs
- MiniAssembly.cs
- ArglessEventHandlerProxy.cs
- TypeUtil.cs
- StandardRuntimeEnumValidatorAttribute.cs
- TemplateInstanceAttribute.cs