Code:
/ 4.0 / 4.0 / 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. // ==++== // // 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
- FigureParagraph.cs
- ProxyAttribute.cs
- TreeNodeStyle.cs
- HwndTarget.cs
- Rect3D.cs
- SafeCancelMibChangeNotify.cs
- ClientOperationFormatterProvider.cs
- WindowsStartMenu.cs
- Comparer.cs
- Mappings.cs
- LoginCancelEventArgs.cs
- BindingExpressionUncommonField.cs
- RadioButton.cs
- util.cs
- BufferModeSettings.cs
- KeyManager.cs
- GetWinFXPath.cs
- EventEntry.cs
- EntityDataSourceWizardForm.cs
- ConfigurationSectionCollection.cs
- MessageFilterTable.cs
- CultureSpecificCharacterBufferRange.cs
- MLangCodePageEncoding.cs
- IERequestCache.cs
- ComPlusInstanceContextInitializer.cs
- ArrangedElementCollection.cs
- ItemDragEvent.cs
- SiteMapNodeItemEventArgs.cs
- GridViewRowCollection.cs
- ActivityExecutorDelegateInfo.cs
- HostProtectionException.cs
- QualifiedId.cs
- COM2EnumConverter.cs
- HttpRequestWrapper.cs
- PersistenceParticipant.cs
- KnownTypesProvider.cs
- PerformanceCounterManager.cs
- DataColumn.cs
- EmbeddedMailObject.cs
- HostedTransportConfigurationManager.cs
- RenameRuleObjectDialog.Designer.cs
- LayoutUtils.cs
- Stroke.cs
- PrintPreviewControl.cs
- Line.cs
- BitmapPalettes.cs
- SmiTypedGetterSetter.cs
- TypeSystem.cs
- SystemUdpStatistics.cs
- XPathMultyIterator.cs
- Scene3D.cs
- SoapAttributeOverrides.cs
- DbConnectionHelper.cs
- GifBitmapEncoder.cs
- SafeRightsManagementSessionHandle.cs
- NameTable.cs
- Panel.cs
- XAMLParseException.cs
- SqlDataSourceStatusEventArgs.cs
- AxImporter.cs
- EntityDataSourceChangedEventArgs.cs
- ResolveDuplexCD1AsyncResult.cs
- EditorPart.cs
- Regex.cs
- RtType.cs
- CompilerError.cs
- Message.cs
- DataGridColumn.cs
- TransactionManager.cs
- SerialPinChanges.cs
- OleDbTransaction.cs
- keycontainerpermission.cs
- TableSectionStyle.cs
- DataGridTableCollection.cs
- StrictModeSecurityHeaderElementInferenceEngine.cs
- DiscoveryClientProtocol.cs
- GenericParameterDataContract.cs
- NTAccount.cs
- BindingContext.cs
- StylesEditorDialog.cs
- DocumentViewerBaseAutomationPeer.cs
- VariableQuery.cs
- DurableInstanceContextProvider.cs
- ActivityStatusChangeEventArgs.cs
- WindowsStatic.cs
- FrugalMap.cs
- ConnectionPoint.cs
- DependencyObjectProvider.cs
- ApplicationHost.cs
- SafeFileMapViewHandle.cs
- BaseResourcesBuildProvider.cs
- GridEntryCollection.cs
- CommandID.cs
- MappableObjectManager.cs
- ClockController.cs
- HierarchicalDataSourceControl.cs
- CommentEmitter.cs
- PriorityBinding.cs
- PinnedBufferMemoryStream.cs
- BindingFormattingDialog.cs