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
- UnaryNode.cs
- CmsInterop.cs
- Image.cs
- ReadOnlyTernaryTree.cs
- Util.cs
- TransportSecurityProtocol.cs
- BinaryFormatterWriter.cs
- SetterTriggerConditionValueConverter.cs
- FloatMinMaxAggregationOperator.cs
- BindingCollection.cs
- Int16AnimationUsingKeyFrames.cs
- WeakReadOnlyCollection.cs
- ArraySegment.cs
- FilePresentation.cs
- DataGridItemCollection.cs
- AssemblyBuilderData.cs
- ComponentResourceKey.cs
- XmlWriter.cs
- ComponentEditorForm.cs
- FontFamily.cs
- ChannelProtectionRequirements.cs
- DiscoveryMessageSequence11.cs
- CodeExpressionRuleDeclaration.cs
- AnnotationHighlightLayer.cs
- TogglePatternIdentifiers.cs
- UnsafeNativeMethods.cs
- XamlInt32CollectionSerializer.cs
- PathFigureCollection.cs
- RepeatButton.cs
- CheckBox.cs
- ConnectionStringsExpressionBuilder.cs
- UpdatableWrapper.cs
- MetadataHelper.cs
- UrlMapping.cs
- WebResponse.cs
- DataObject.cs
- ActiveXSerializer.cs
- IgnoreFlushAndCloseStream.cs
- XmlUTF8TextReader.cs
- ByteStreamGeometryContext.cs
- ListViewDeleteEventArgs.cs
- ListViewItemMouseHoverEvent.cs
- CodeTypeReferenceExpression.cs
- SectionXmlInfo.cs
- CollectionBase.cs
- Line.cs
- RadioButtonList.cs
- GetPageNumberCompletedEventArgs.cs
- EntityType.cs
- Selection.cs
- NavigatorInput.cs
- RelationshipEnd.cs
- CodeAccessSecurityEngine.cs
- ProcessManager.cs
- SqlResolver.cs
- RolePrincipal.cs
- SystemColorTracker.cs
- TypeNameConverter.cs
- AutomationPropertyInfo.cs
- XmlIterators.cs
- ParserStreamGeometryContext.cs
- ConfigurationLoaderException.cs
- InternalTypeHelper.cs
- PathParser.cs
- IriParsingElement.cs
- SystemColorTracker.cs
- LinqDataSourceDeleteEventArgs.cs
- FrameworkElementFactoryMarkupObject.cs
- SqlDataSourceConfigureFilterForm.cs
- XpsImageSerializationService.cs
- XPathParser.cs
- BinaryReader.cs
- EventLogEntry.cs
- InstanceOwner.cs
- TrustLevel.cs
- XmlObjectSerializerReadContextComplex.cs
- DataKey.cs
- DataGridBoolColumn.cs
- VisualStyleInformation.cs
- WebResponse.cs
- ListManagerBindingsCollection.cs
- RealizationDrawingContextWalker.cs
- ExpressionBuilder.cs
- MailWriter.cs
- NonBatchDirectoryCompiler.cs
- TrackingWorkflowEventArgs.cs
- Int32RectValueSerializer.cs
- FillErrorEventArgs.cs
- XmlSchema.cs
- ToolStripArrowRenderEventArgs.cs
- MD5.cs
- HttpValueCollection.cs
- HttpWriter.cs
- BinaryConverter.cs
- ArrayConverter.cs
- StringAnimationUsingKeyFrames.cs
- SimpleHandlerFactory.cs
- Utils.cs
- TextLineResult.cs
- XmlILCommand.cs