* DocumentableItem.cs MimeContentBinding.cs OperationMessage.cs
[mono.git] / mcs / class / System.Web.Services / System.Web.Services.Description / SoapBodyBinding.cs
1 // \r
2 // System.Web.Services.Description.SoapBodyBinding.cs\r
3 //\r
4 // Author:\r
5 //   Tim Coleman (tim@timcoleman.com)\r
6 //\r
7 // Copyright (C) Tim Coleman, 2002\r
8 //\r
9 \r
10 using System.ComponentModel;\r
11 using System.Web.Services.Configuration;\r
12 using System.Xml.Serialization;\r
13 \r
14 namespace System.Web.Services.Description {\r
15         [XmlFormatExtension ("body", "http://schemas.xmlsoap.org/wsdl/soap/", typeof (InputBinding), typeof (OutputBinding), typeof (MimePart))]\r
16         public sealed class SoapBodyBinding : ServiceDescriptionFormatExtension {\r
17 \r
18                 #region Fields\r
19                 \r
20                 string encoding;\r
21                 string ns;\r
22                 string[] parts;\r
23                 string partsString;\r
24                 SoapBindingUse use;\r
25 \r
26                 #endregion // Fields\r
27 \r
28                 #region Constructors\r
29                 \r
30                 public SoapBodyBinding ()\r
31                 {\r
32                         encoding = String.Empty;\r
33                         ns = String.Empty;\r
34                         parts = null;\r
35                         partsString = null;\r
36                         use = SoapBindingUse.Default;\r
37                 }\r
38                 \r
39                 #endregion // Constructors\r
40 \r
41                 #region Properties\r
42 \r
43                 [DefaultValue ("")]\r
44                 [XmlAttribute ("encodingStyle")]\r
45                 public string Encoding {\r
46                         get { return encoding; }\r
47                         set { encoding = value; }\r
48                 }\r
49 \r
50                 [DefaultValue ("")]\r
51                 [XmlAttribute ("namespace")]\r
52                 public string Namespace {\r
53                         get { return ns; }\r
54                         set { ns = value; }\r
55                 }\r
56 \r
57                 [XmlIgnore]\r
58                 public string[] Parts {\r
59                         get { return parts; }\r
60                         set {\r
61                                 parts = value;\r
62                                 if (value == null)\r
63                                         partsString = null;\r
64                                 else\r
65                                         partsString = String.Join(" ", value);\r
66                         }\r
67                 }\r
68 \r
69                 [XmlAttribute ("parts", DataType = "NMTOKENS")]\r
70                 public string PartsString {\r
71                         get { return partsString; }\r
72                         set {\r
73                                 partsString = value;\r
74                                 if (value == null)\r
75                                         parts = null;\r
76                                 else\r
77                                         parts = value.Split(' ');\r
78                         }\r
79                 }\r
80 \r
81                 [DefaultValue (SoapBindingUse.Default)]\r
82                 [XmlAttribute ("use")]\r
83                 public SoapBindingUse Use {\r
84                         get { return use; }\r
85                         set { use = value; }\r
86                 }\r
87 \r
88                 #endregion // Properties\r
89         }\r
90 }