Workspace.cs 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. //------------------------------------------------------------
  2. // Copyright (c) Microsoft Corporation. All rights reserved.
  3. //------------------------------------------------------------
  4. namespace System.ServiceModel.Syndication
  5. {
  6. using System.Collections.ObjectModel;
  7. using System.Runtime.Serialization;
  8. using System.Xml.Serialization;
  9. using System.Collections.Generic;
  10. using System.Xml;
  11. using System.Runtime.CompilerServices;
  12. [TypeForwardedFrom("System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35")]
  13. public class Workspace : IExtensibleSyndicationObject
  14. {
  15. Uri baseUri;
  16. Collection<ResourceCollectionInfo> collections;
  17. ExtensibleSyndicationObject extensions = new ExtensibleSyndicationObject();
  18. TextSyndicationContent title;
  19. public Workspace()
  20. {
  21. }
  22. public Workspace(string title, IEnumerable<ResourceCollectionInfo> collections)
  23. : this((title != null) ? new TextSyndicationContent(title) : null, collections)
  24. {
  25. }
  26. public Workspace(TextSyndicationContent title, IEnumerable<ResourceCollectionInfo> collections)
  27. {
  28. this.title = title;
  29. if (collections != null)
  30. {
  31. this.collections = new NullNotAllowedCollection<ResourceCollectionInfo>();
  32. foreach (ResourceCollectionInfo collection in collections)
  33. {
  34. this.collections.Add(collection);
  35. }
  36. }
  37. }
  38. public Dictionary<XmlQualifiedName, string> AttributeExtensions
  39. {
  40. get
  41. {
  42. return this.extensions.AttributeExtensions;
  43. }
  44. }
  45. public Uri BaseUri
  46. {
  47. get { return this.baseUri; }
  48. set { this.baseUri = value; }
  49. }
  50. public Collection<ResourceCollectionInfo> Collections
  51. {
  52. get
  53. {
  54. if (this.collections == null)
  55. {
  56. this.collections = new NullNotAllowedCollection<ResourceCollectionInfo>();
  57. }
  58. return this.collections;
  59. }
  60. }
  61. public SyndicationElementExtensionCollection ElementExtensions
  62. {
  63. get
  64. {
  65. return this.extensions.ElementExtensions;
  66. }
  67. }
  68. public TextSyndicationContent Title
  69. {
  70. get { return this.title; }
  71. set { this.title = value; }
  72. }
  73. protected internal virtual ResourceCollectionInfo CreateResourceCollection()
  74. {
  75. return new ResourceCollectionInfo();
  76. }
  77. protected internal virtual bool TryParseAttribute(string name, string ns, string value, string version)
  78. {
  79. return false;
  80. }
  81. protected internal virtual bool TryParseElement(XmlReader reader, string version)
  82. {
  83. return false;
  84. }
  85. protected internal virtual void WriteAttributeExtensions(XmlWriter writer, string version)
  86. {
  87. this.extensions.WriteAttributeExtensions(writer);
  88. }
  89. protected internal virtual void WriteElementExtensions(XmlWriter writer, string version)
  90. {
  91. this.extensions.WriteElementExtensions(writer);
  92. }
  93. internal void LoadElementExtensions(XmlReader readerOverUnparsedExtensions, int maxExtensionSize)
  94. {
  95. this.extensions.LoadElementExtensions(readerOverUnparsedExtensions, maxExtensionSize);
  96. }
  97. internal void LoadElementExtensions(XmlBuffer buffer)
  98. {
  99. this.extensions.LoadElementExtensions(buffer);
  100. }
  101. }
  102. }