DelegatingHeader.cs 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. //------------------------------------------------------------
  2. // Copyright (c) Microsoft Corporation. All rights reserved.
  3. //------------------------------------------------------------
  4. namespace System.ServiceModel.Security
  5. {
  6. using System.Xml;
  7. using System.ServiceModel.Channels;
  8. using System.ServiceModel;
  9. abstract class DelegatingHeader : MessageHeader
  10. {
  11. MessageHeader innerHeader;
  12. protected DelegatingHeader(MessageHeader innerHeader)
  13. {
  14. if (innerHeader == null)
  15. {
  16. throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("innerHeader");
  17. }
  18. this.innerHeader = innerHeader;
  19. }
  20. public override bool MustUnderstand
  21. {
  22. get
  23. {
  24. return this.innerHeader.MustUnderstand;
  25. }
  26. }
  27. public override string Name
  28. {
  29. get
  30. {
  31. return this.innerHeader.Name;
  32. }
  33. }
  34. public override string Namespace
  35. {
  36. get
  37. {
  38. return this.innerHeader.Namespace;
  39. }
  40. }
  41. public override bool Relay
  42. {
  43. get
  44. {
  45. return this.innerHeader.Relay;
  46. }
  47. }
  48. public override string Actor
  49. {
  50. get
  51. {
  52. return this.innerHeader.Actor;
  53. }
  54. }
  55. protected MessageHeader InnerHeader
  56. {
  57. get
  58. {
  59. return this.innerHeader;
  60. }
  61. }
  62. protected override void OnWriteStartHeader(XmlDictionaryWriter writer, MessageVersion messageVersion)
  63. {
  64. this.innerHeader.WriteStartHeader(writer, messageVersion);
  65. }
  66. protected override void OnWriteHeaderContents(XmlDictionaryWriter writer, MessageVersion messageVersion)
  67. {
  68. this.innerHeader.WriteHeaderContents(writer, messageVersion);
  69. }
  70. }
  71. }