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
- TableRowCollection.cs
- PassportIdentity.cs
- NamespaceDecl.cs
- EntityProxyFactory.cs
- SerializerProvider.cs
- OleDbConnectionInternal.cs
- DesignOnlyAttribute.cs
- WindowsRichEdit.cs
- TypeInitializationException.cs
- IntegerValidator.cs
- DeclarativeCatalogPart.cs
- PropertyItemInternal.cs
- ipaddressinformationcollection.cs
- ObjectDataProvider.cs
- GridViewRowPresenter.cs
- NavigationService.cs
- RemotingAttributes.cs
- VectorConverter.cs
- OdbcRowUpdatingEvent.cs
- IImplicitResourceProvider.cs
- OdbcDataReader.cs
- BitmapEffectDrawing.cs
- ConsumerConnectionPointCollection.cs
- WindowsToolbar.cs
- DetailsViewInsertedEventArgs.cs
- Directory.cs
- OleDbSchemaGuid.cs
- DecimalAnimationUsingKeyFrames.cs
- storepermission.cs
- XmlSerializerVersionAttribute.cs
- ModelUtilities.cs
- CatalogZone.cs
- VirtualPath.cs
- RoleGroupCollectionEditor.cs
- ExtensibleClassFactory.cs
- NetworkInterface.cs
- SqlEnums.cs
- LoginCancelEventArgs.cs
- ObjectItemAttributeAssemblyLoader.cs
- WindowsScrollBar.cs
- HuffCodec.cs
- ConnectorRouter.cs
- WindowsListBox.cs
- CollectionDataContract.cs
- EditorZone.cs
- WaitForChangedResult.cs
- EmptyEnumerable.cs
- DeferrableContentConverter.cs
- RepeatButtonAutomationPeer.cs
- SqlCacheDependencySection.cs
- Decimal.cs
- WebServiceData.cs
- BinaryObjectInfo.cs
- MaskedTextProvider.cs
- MSAANativeProvider.cs
- XmlEventCache.cs
- ObjectHelper.cs
- EventSinkHelperWriter.cs
- WindowsImpersonationContext.cs
- MultipartContentParser.cs
- BitArray.cs
- Track.cs
- ClipboardProcessor.cs
- OdbcStatementHandle.cs
- SamlAudienceRestrictionCondition.cs
- AvTrace.cs
- SpecularMaterial.cs
- TextTreeInsertElementUndoUnit.cs
- PropertyChangingEventArgs.cs
- NameNode.cs
- NameNode.cs
- DateTimeConverter2.cs
- ContractAdapter.cs
- StateManager.cs
- SqlClientMetaDataCollectionNames.cs
- FrameworkTextComposition.cs
- SynchronizedDispatch.cs
- QueuePropertyVariants.cs
- KeyMatchBuilder.cs
- TrustManagerPromptUI.cs
- CfgArc.cs
- RefreshEventArgs.cs
- HttpWebResponse.cs
- SqlProvider.cs
- COM2FontConverter.cs
- DefaultValidator.cs
- Comparer.cs
- PropertyIDSet.cs
- OleDbParameterCollection.cs
- LogAppendAsyncResult.cs
- EqualityComparer.cs
- ExpressionBuilderCollection.cs
- Window.cs
- Viewport3DVisual.cs
- SqlCommandSet.cs
- ListBase.cs
- XmlArrayItemAttributes.cs
- TreeNodeConverter.cs
- UriTemplatePathPartiallyEquivalentSet.cs
- ModelTreeEnumerator.cs