e05b2afe1e46464130984eb18d6bc907d3b14652
[mono.git] / mcs / class / System.Messaging / System.Messaging / XmlMessageFormatter.cs
1 //\r
2 // System.Messaging\r
3 //\r
4 // Authors:\r
5 //      Peter Van Isacker (sclytrack@planetinternet.be)\r
6 //      Rafael Teixeira   (rafaelteixeirabr@hotmail.com)\r
7 //\r
8 //      (C) 2003 Peter Van Isacker\r
9 //\r
10 \r
11 using System;\r
12 using System.Collections;\r
13 using System.ComponentModel;\r
14 \r
15 namespace System.Messaging \r
16 {\r
17         public class XmlMessageFormatter: IMessageFormatter, ICloneable \r
18         {\r
19                 [MonoTODO]\r
20                 public XmlMessageFormatter()\r
21                 {\r
22                 }\r
23                 \r
24                 [MonoTODO]\r
25                 public XmlMessageFormatter(string[] targetTypeNames)\r
26                 {\r
27                         initializeFromNames(targetTypeNames);\r
28                 }\r
29                 \r
30                 [MonoTODO]\r
31                 public XmlMessageFormatter(Type[] targetTypes)\r
32                 {\r
33                         this.targetTypes = targetTypes;\r
34                 }\r
35 \r
36                 private Type[] targetTypes = null;\r
37                 \r
38                 [MonoTODO]\r
39                 private void initializeFromNames(string[] targetTypeNames)\r
40                 {\r
41                 }\r
42 \r
43                 [MessagingDescription ("XmlMsgTargetTypeNames")]\r
44                 public string[] TargetTypeNames \r
45                 {\r
46                         get \r
47                         {\r
48                                 if (targetTypes == null)\r
49                                         return null;\r
50                                         \r
51                                 ArrayList listOfNames = new ArrayList();\r
52                                 foreach(Type type in targetTypes)\r
53                                         listOfNames.Add(type.FullName);\r
54                                 return (string[])listOfNames.ToArray(typeof(string));\r
55                         }\r
56                         set { initializeFromNames(value); }\r
57                 }\r
58 \r
59                 [Browsable (false)]\r
60                 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]\r
61                 [MessagingDescription ("XmlMsgTargetTypes")]\r
62                 public Type[] TargetTypes\r
63                 {\r
64                         get {return this.targetTypes;}\r
65                         set {targetTypes = value;}\r
66                 }\r
67                 \r
68                 [MonoTODO]\r
69                 public bool CanRead(Message message)\r
70                 {\r
71                         throw new NotImplementedException();\r
72                 }\r
73                 \r
74                 public object Clone()\r
75                 {\r
76                         return new XmlMessageFormatter((Type[])targetTypes.Clone());\r
77                 }\r
78                 \r
79                 [MonoTODO]\r
80                 public object Read(Message message)\r
81                 {\r
82                         throw new NotImplementedException();\r
83                 }\r
84                 \r
85                 [MonoTODO]\r
86                 public void Write(Message message, object obj)\r
87                 {\r
88                         throw new NotImplementedException();\r
89                 }\r
90         }\r
91 }\r