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
- MdiWindowListStrip.cs
- TriggerActionCollection.cs
- RelationshipConstraintValidator.cs
- EventWaitHandle.cs
- RequestTimeoutManager.cs
- ClientFormsAuthenticationCredentials.cs
- DBParameter.cs
- IntMinMaxAggregationOperator.cs
- IncomingWebRequestContext.cs
- EventLogInternal.cs
- EntityKeyElement.cs
- Literal.cs
- Int64Animation.cs
- TextBoxAutoCompleteSourceConverter.cs
- ArrayElementGridEntry.cs
- WebPartsSection.cs
- ToolStripSplitButton.cs
- DefaultParameterValueAttribute.cs
- Rotation3DAnimationUsingKeyFrames.cs
- EncodingStreamWrapper.cs
- Or.cs
- EdmProperty.cs
- PathParser.cs
- SimplePropertyEntry.cs
- SplitterEvent.cs
- EntityRecordInfo.cs
- BypassElementCollection.cs
- FtpCachePolicyElement.cs
- HuffmanTree.cs
- DoneReceivingAsyncResult.cs
- SmiRequestExecutor.cs
- Rules.cs
- RouteData.cs
- DiagnosticsConfiguration.cs
- ErrorReporting.cs
- OperationCanceledException.cs
- ADMembershipProvider.cs
- HttpResponseHeader.cs
- Model3DGroup.cs
- SingleConverter.cs
- CodeSubDirectoriesCollection.cs
- GridViewRowPresenter.cs
- sqlmetadatafactory.cs
- SubMenuStyleCollectionEditor.cs
- HtmlTable.cs
- KeyConstraint.cs
- SerializationObjectManager.cs
- GridViewUpdatedEventArgs.cs
- ZipPackage.cs
- OleStrCAMarshaler.cs
- HitTestResult.cs
- QuotedPrintableStream.cs
- SoapExtension.cs
- ValidatorUtils.cs
- SimpleLine.cs
- BooleanFacetDescriptionElement.cs
- DoubleUtil.cs
- DateTimeFormatInfo.cs
- ChineseLunisolarCalendar.cs
- ExcCanonicalXml.cs
- PerformanceCountersElement.cs
- Dictionary.cs
- CompositeFontParser.cs
- webeventbuffer.cs
- IssuanceLicense.cs
- InternalSendMessage.cs
- DiscriminatorMap.cs
- ByteConverter.cs
- SafeLocalMemHandle.cs
- MatrixTransform3D.cs
- WebPartConnection.cs
- RoutedPropertyChangedEventArgs.cs
- BehaviorEditorPart.cs
- GPRECT.cs
- Helper.cs
- WmlImageAdapter.cs
- DoubleLinkList.cs
- ThreadAbortException.cs
- ScrollPattern.cs
- Validator.cs
- RequestCachePolicy.cs
- ListItemConverter.cs
- GestureRecognizer.cs
- MonitorWrapper.cs
- Tablet.cs
- HtmlControl.cs
- BinaryParser.cs
- Container.cs
- QilUnary.cs
- MetadataUtilsSmi.cs
- EncryptedKeyIdentifierClause.cs
- Exception.cs
- GroupBoxRenderer.cs
- BindToObject.cs
- BuildManager.cs
- ComContractElementCollection.cs
- ObjectDataSourceSelectingEventArgs.cs
- MappingModelBuildProvider.cs
- LicenseManager.cs
- DesignSurfaceManager.cs