MonikerHelper.cs 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. //-----------------------------------------------------------------------------
  2. // Copyright (c) Microsoft Corporation. All rights reserved.
  3. //-----------------------------------------------------------------------------
  4. namespace System.ServiceModel.ComIntegration
  5. {
  6. using System;
  7. using System.ServiceModel.Channels;
  8. using System.ServiceModel;
  9. using System.Runtime.InteropServices;
  10. using System.Runtime.InteropServices.ComTypes;
  11. using Microsoft.Win32;
  12. using System.Reflection;
  13. using System.Collections.Generic;
  14. using System.Threading;
  15. using System.Text;
  16. internal static class MonikerHelper
  17. {
  18. internal enum MonikerAttribute
  19. {
  20. Address,
  21. Contract,
  22. Wsdl,
  23. SpnIdentity,
  24. UpnIdentity,
  25. DnsIdentity,
  26. Binding,
  27. BindingConfiguration,
  28. MexAddress,
  29. MexBinding,
  30. MexBindingConfiguration,
  31. BindingNamespace,
  32. ContractNamespace,
  33. MexSpnIdentity,
  34. MexUpnIdentity,
  35. MexDnsIdentity,
  36. Serializer
  37. }
  38. internal struct KeywordInfo
  39. {
  40. internal KeywordInfo(string name, MonikerAttribute attrib)
  41. {
  42. Name = name;
  43. Attrib = attrib;
  44. }
  45. internal string Name;
  46. internal MonikerAttribute Attrib;
  47. internal static readonly KeywordInfo[] KeywordCollection = new KeywordInfo[]
  48. {
  49. new KeywordInfo ("address", MonikerAttribute.Address),
  50. new KeywordInfo ("contract", MonikerAttribute.Contract),
  51. new KeywordInfo ("wsdl", MonikerAttribute.Wsdl),
  52. new KeywordInfo ("spnidentity", MonikerAttribute.SpnIdentity),
  53. new KeywordInfo ("upnidentity", MonikerAttribute.UpnIdentity),
  54. new KeywordInfo ("dnsidentity", MonikerAttribute.DnsIdentity),
  55. new KeywordInfo ("binding", MonikerAttribute.Binding),
  56. new KeywordInfo ("bindingconfiguration", MonikerAttribute.BindingConfiguration),
  57. new KeywordInfo ("mexaddress", MonikerAttribute.MexAddress),
  58. new KeywordInfo ("mexbindingconfiguration", MonikerAttribute.MexBindingConfiguration),
  59. new KeywordInfo ("mexbinding", MonikerAttribute.MexBinding),
  60. new KeywordInfo ("bindingnamespace", MonikerAttribute.BindingNamespace),
  61. new KeywordInfo ("contractnamespace", MonikerAttribute.ContractNamespace),
  62. new KeywordInfo ("mexspnidentity", MonikerAttribute.MexSpnIdentity),
  63. new KeywordInfo ("mexupnidentity", MonikerAttribute.MexUpnIdentity),
  64. new KeywordInfo ("mexdnsidentity", MonikerAttribute.MexDnsIdentity),
  65. new KeywordInfo ("serializer", MonikerAttribute.Serializer)
  66. };
  67. }
  68. }
  69. };