Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / clr / src / ManagedLibraries / Security / System / Security / Cryptography / Xml / DataObject.cs / 5 / 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. // ==++== // // 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
- NextPreviousPagerField.cs
- SystemEvents.cs
- DateTimeOffset.cs
- _RequestCacheProtocol.cs
- FileStream.cs
- Selector.cs
- ListBoxItemAutomationPeer.cs
- SaveFileDialog.cs
- DrawingCollection.cs
- OleDbFactory.cs
- TimeZone.cs
- UseAttributeSetsAction.cs
- ListViewInsertionMark.cs
- DataGridViewLayoutData.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- DesignerSerializationVisibilityAttribute.cs
- AppSettingsExpressionEditor.cs
- CustomAttribute.cs
- SmtpTransport.cs
- AnnouncementEndpoint.cs
- EmptyElement.cs
- ServiceDocument.cs
- DefaultSection.cs
- ConfigurationException.cs
- TypeDescriptionProviderAttribute.cs
- DataGrid.cs
- ExecutionContext.cs
- TemplateBuilder.cs
- InvokeMethodActivity.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
- AccessDataSource.cs
- CompensatableTransactionScopeActivity.cs
- Section.cs
- UInt64Storage.cs
- WebPartDescriptionCollection.cs
- objectquery_tresulttype.cs
- StringSorter.cs
- XamlTypeMapper.cs
- ResolveNameEventArgs.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- TypeBuilder.cs
- ServiceDocument.cs
- TreeSet.cs
- MemberMaps.cs
- DelegatingConfigHost.cs
- Clause.cs
- FormatterServices.cs
- ProgramPublisher.cs
- DependencyObjectPropertyDescriptor.cs
- XPathNodePointer.cs
- PositiveTimeSpanValidatorAttribute.cs
- Size3D.cs
- ToolStripSystemRenderer.cs
- NGCSerializationManagerAsync.cs
- FormatterConverter.cs
- RegisteredArrayDeclaration.cs
- DataGridPageChangedEventArgs.cs
- RSAPKCS1KeyExchangeFormatter.cs
- DeviceContext2.cs
- TraceUtility.cs
- XmlNode.cs
- PublisherIdentityPermission.cs
- WindowsListViewItemCheckBox.cs
- HttpHandler.cs
- Span.cs
- DataControlFieldCell.cs
- PrintPreviewDialog.cs
- Constant.cs
- FileClassifier.cs
- JsonClassDataContract.cs
- DataServices.cs
- QilScopedVisitor.cs
- WebSysDisplayNameAttribute.cs
- HostedTransportConfigurationManager.cs
- MenuItemBinding.cs
- EventListenerClientSide.cs
- RegexGroup.cs
- DesigntimeLicenseContext.cs
- TypedDataSourceCodeGenerator.cs
- ExtenderProvidedPropertyAttribute.cs
- SQLChars.cs
- ResourceDescriptionAttribute.cs
- StatusBarDrawItemEvent.cs
- Html32TextWriter.cs
- ValidationHelper.cs
- XmlSchemaDatatype.cs
- ExpressionReplacer.cs
- SafeFindHandle.cs
- XmlCodeExporter.cs
- DocumentPageTextView.cs
- Msmq4SubqueuePoisonHandler.cs
- SqlServices.cs
- CounterSample.cs
- StickyNoteContentControl.cs
- ToolStripTextBox.cs
- CornerRadius.cs
- XPathMultyIterator.cs
- RuntimeWrappedException.cs
- TextProviderWrapper.cs
- MailDefinition.cs