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
- _BaseOverlappedAsyncResult.cs
- WinFormsSpinner.cs
- BitmapEffectGroup.cs
- TableColumnCollection.cs
- Msmq3PoisonHandler.cs
- MexBindingBindingCollectionElement.cs
- LifetimeManager.cs
- LinkedDataMemberFieldEditor.cs
- SQLBytes.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- SiteMapNodeCollection.cs
- SchemaElementLookUpTableEnumerator.cs
- SmiContext.cs
- Activator.cs
- UpdateManifestForBrowserApplication.cs
- OutputCache.cs
- DataGridViewLayoutData.cs
- ExeConfigurationFileMap.cs
- TypedTableBaseExtensions.cs
- HashCodeCombiner.cs
- SimpleWebHandlerParser.cs
- ByteAnimationBase.cs
- WindowsRegion.cs
- SqlHelper.cs
- DesignerResources.cs
- ObjectDataSourceChooseMethodsPanel.cs
- WeakReadOnlyCollection.cs
- EdmConstants.cs
- mongolianshape.cs
- SerializationException.cs
- FrameworkElementFactoryMarkupObject.cs
- _AutoWebProxyScriptEngine.cs
- Clause.cs
- Terminate.cs
- PersonalizablePropertyEntry.cs
- MessageLogger.cs
- WebEventCodes.cs
- QuotedPrintableStream.cs
- HealthMonitoringSection.cs
- PnrpPeerResolver.cs
- BlurBitmapEffect.cs
- ReferenceService.cs
- Animatable.cs
- Decorator.cs
- ListControl.cs
- NonDualMessageSecurityOverHttp.cs
- ComboBox.cs
- TabItem.cs
- DesignerForm.cs
- HttpConfigurationContext.cs
- ADConnectionHelper.cs
- PersonalizationEntry.cs
- Matrix.cs
- SoundPlayerAction.cs
- HtmlTitle.cs
- PolicyLevel.cs
- WorkflowDesigner.cs
- Rotation3DAnimation.cs
- BufferAllocator.cs
- PropertyTab.cs
- PageScaling.cs
- CodeExporter.cs
- QilPatternVisitor.cs
- HTTPNotFoundHandler.cs
- EntityContainerEntitySet.cs
- DataViewSetting.cs
- XmlArrayItemAttributes.cs
- EndpointDiscoveryElement.cs
- IItemContainerGenerator.cs
- Dynamic.cs
- DateTimeConverter.cs
- DelegateBodyWriter.cs
- FileVersionInfo.cs
- DataViewManager.cs
- WorkflowFileItem.cs
- CollectionViewGroup.cs
- MinimizableAttributeTypeConverter.cs
- InfoCardTraceRecord.cs
- NavigatingCancelEventArgs.cs
- ServiceThrottle.cs
- ListItemCollection.cs
- RouteData.cs
- MethodBody.cs
- DefaultEvaluationContext.cs
- PointUtil.cs
- EventEntry.cs
- EventRecordWrittenEventArgs.cs
- LinkLabelLinkClickedEvent.cs
- AutoScrollHelper.cs
- StrokeNode.cs
- ToolStripDropDownClosedEventArgs.cs
- UnsafeNativeMethods.cs
- DependencyObjectType.cs
- StringReader.cs
- ScriptModule.cs
- TimerElapsedEvenArgs.cs
- HtmlFormWrapper.cs
- ImageInfo.cs
- HGlobalSafeHandle.cs
- DataGridViewAccessibleObject.cs