2002-07-19 Tim Coleman <tim@timcoleman.com>
[mono.git] / mcs / class / System.Web.Services / System.Web.Services.Description / Message.cs
1 // \r
2 // System.Web.Services.Description.Message.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.Collections;\r
11 using System.Web.Services;\r
12 \r
13 namespace System.Web.Services.Description {\r
14         public sealed class Message : DocumentableItem {\r
15 \r
16                 #region Fields\r
17 \r
18                 string name;\r
19                 MessagePartCollection parts;\r
20                 ServiceDescription serviceDescription;\r
21 \r
22                 #endregion // Fields\r
23 \r
24                 #region Constructors\r
25                 \r
26                 public Message ()\r
27                 {\r
28                         name = String.Empty;\r
29                         parts = new MessagePartCollection (this);\r
30                         serviceDescription = null;\r
31                 }\r
32                 \r
33                 #endregion // Constructors\r
34 \r
35                 #region Properties\r
36 \r
37                 public string Name {\r
38                         get { return name; }\r
39                         set { name = value; }\r
40                 }\r
41 \r
42                 public MessagePartCollection Parts {\r
43                         get { return parts; }\r
44                         set { parts = value; }\r
45                 }\r
46 \r
47                 public ServiceDescription ServiceDescription {\r
48                         get { return serviceDescription; }\r
49                 }\r
50 \r
51                 #endregion // Properties\r
52 \r
53                 #region Methods\r
54 \r
55                 [MonoTODO]\r
56                 public MessagePart FindPartByName (string partName)\r
57                 {\r
58                         throw new NotImplementedException ();\r
59                 }\r
60 \r
61                 [MonoTODO]\r
62                 public MessagePart[] FindPartsByName (string[] partNames) \r
63                 {\r
64                         ArrayList searchResults = new ArrayList ();\r
65 \r
66                         foreach (string partName in partNames)\r
67                                 searchResults.Add (FindPartByName (partName));\r
68 \r
69                         int count = searchResults.Count;\r
70 \r
71                         if (count == 0)\r
72                                 throw new ArgumentException ();\r
73 \r
74                         MessagePart[] returnValue = new MessagePart[count];\r
75                         searchResults.CopyTo (returnValue);\r
76                         return returnValue;\r
77                 }\r
78 \r
79                 internal void SetParent (ServiceDescription serviceDescription)\r
80                 {\r
81                         this.serviceDescription = serviceDescription;\r
82                 }\r
83 \r
84                 #endregion\r
85         }\r
86 }\r