1 // 2 // ComUdtElement.cs 3 // 4 // Author: 5 // Atsushi Enomoto <atsushi@ximian.com> 6 // 7 // Copyright (C) 2006 Novell, Inc. http://www.novell.com 8 // 9 // Permission is hereby granted, free of charge, to any person obtaining 10 // a copy of this software and associated documentation files (the 11 // "Software"), to deal in the Software without restriction, including 12 // without limitation the rights to use, copy, modify, merge, publish, 13 // distribute, sublicense, and/or sell copies of the Software, and to 14 // permit persons to whom the Software is furnished to do so, subject to 15 // the following conditions: 16 // 17 // The above copyright notice and this permission notice shall be 18 // included in all copies or substantial portions of the Software. 19 // 20 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 21 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 22 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 23 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 24 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 25 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 26 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 27 // 28 29 using System; 30 using System.Collections; 31 using System.Collections.Generic; 32 using System.Collections.ObjectModel; 33 using System.ComponentModel; 34 using System.Configuration; 35 using System.Net; 36 using System.Net.Security; 37 using System.Reflection; 38 using System.Security.Cryptography.X509Certificates; 39 using System.Security.Principal; 40 using System.IdentityModel.Claims; 41 using System.IdentityModel.Policy; 42 using System.IdentityModel.Tokens; 43 using System.ServiceModel; 44 using System.ServiceModel.Channels; 45 using System.ServiceModel.Description; 46 using System.ServiceModel.Diagnostics; 47 using System.ServiceModel.Dispatcher; 48 using System.ServiceModel.MsmqIntegration; 49 using System.ServiceModel.PeerResolvers; 50 using System.ServiceModel.Security; 51 using System.Runtime.Serialization; 52 using System.Text; 53 using System.Xml; 54 55 namespace System.ServiceModel.Configuration 56 { 57 [MonoTODO] 58 public sealed partial class ComUdtElement 59 : ConfigurationElement 60 { 61 // Static Fields 62 static ConfigurationPropertyCollection properties; 63 static ConfigurationProperty name; 64 static ConfigurationProperty type_def_i_d; 65 static ConfigurationProperty type_lib_i_d; 66 static ConfigurationProperty type_lib_version; 67 ComUdtElement()68 static ComUdtElement () 69 { 70 properties = new ConfigurationPropertyCollection (); 71 name = new ConfigurationProperty ("name", 72 typeof (string), "", new StringConverter (), null, 73 ConfigurationPropertyOptions.None); 74 75 type_def_i_d = new ConfigurationProperty ("typeDefID", 76 typeof (string), null, new StringConverter (), null, 77 ConfigurationPropertyOptions.IsRequired| ConfigurationPropertyOptions.IsKey); 78 79 type_lib_i_d = new ConfigurationProperty ("typeLibID", 80 typeof (string), null, new StringConverter (), null, 81 ConfigurationPropertyOptions.IsRequired); 82 83 type_lib_version = new ConfigurationProperty ("typeLibVersion", 84 typeof (string), null, new StringConverter (), null, 85 ConfigurationPropertyOptions.IsRequired); 86 87 properties.Add (name); 88 properties.Add (type_def_i_d); 89 properties.Add (type_lib_i_d); 90 properties.Add (type_lib_version); 91 } 92 ComUdtElement()93 public ComUdtElement () 94 { 95 } 96 97 98 // Properties 99 100 [ConfigurationProperty ("name", 101 Options = ConfigurationPropertyOptions.None, 102 DefaultValue = "")] 103 [StringValidator ( MinLength = 0, 104 MaxLength = int.MaxValue, 105 InvalidCharacters = null)] 106 public string Name { 107 get { return (string) base [name]; } 108 set { base [name] = value; } 109 } 110 111 protected override ConfigurationPropertyCollection Properties { 112 get { return properties; } 113 } 114 115 [StringValidator ( MinLength = 1, 116 MaxLength = int.MaxValue, 117 InvalidCharacters = null)] 118 [ConfigurationProperty ("typeDefID", 119 Options = ConfigurationPropertyOptions.IsRequired | ConfigurationPropertyOptions.IsKey, 120 IsRequired = true, 121 IsKey = true)] 122 public string TypeDefID { 123 get { return (string) base [type_def_i_d]; } 124 set { base [type_def_i_d] = value; } 125 } 126 127 [ConfigurationProperty ("typeLibID", 128 Options = ConfigurationPropertyOptions.IsRequired, 129 IsRequired = true)] 130 [StringValidator ( MinLength = 1, 131 MaxLength = int.MaxValue, 132 InvalidCharacters = null)] 133 public string TypeLibID { 134 get { return (string) base [type_lib_i_d]; } 135 set { base [type_lib_i_d] = value; } 136 } 137 138 [ConfigurationProperty ("typeLibVersion", 139 Options = ConfigurationPropertyOptions.IsRequired, 140 IsRequired = true)] 141 [StringValidator ( MinLength = 1, 142 MaxLength = int.MaxValue, 143 InvalidCharacters = null)] 144 public string TypeLibVersion { 145 get { return (string) base [type_lib_version]; } 146 set { base [type_lib_version] = value; } 147 } 148 149 150 } 151 152 } 153