Mono.Zeroconf – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 1 // Copyright 2006 Alp Toker <alp@atoker.com>
2 // This software is made available under the MIT License
3 // See COPYING for details
4  
5 using System;
6 using System.Xml.Serialization;
7 using System.Collections.Generic;
8  
9 namespace NDesk.DBus.Introspection
10 {
11 [XmlRootAttribute(IsNullable=true)]
12 public class Member {
13 [XmlAttributeAttribute("name")]
14 public string Name;
15 }
16  
17 [XmlRootAttribute("node", IsNullable=true)]
18 public class Node {
19  
20 [XmlAttributeAttribute("name")]
21 public string Name;
22  
23 [XmlElementAttribute("interface", Type=typeof(@Interface))]
24 public Interface[] Interfaces;
25 [XmlElementAttribute("node", Type=typeof(Node))]
26 public Node[] Nodes;
27 }
28  
29 [XmlRootAttribute("interface", IsNullable=true)]
30 public class @Interface {
31  
32 [XmlAttributeAttribute("name")]
33 public string Name;
34  
35 /*
36 [XmlElementAttribute("method", Type=typeof(Method))]
37 [XmlElementAttribute("signal", Type=typeof(Signal))]
38 [XmlElementAttribute("property", Type=typeof(Property))]
39 //[XmlElementAttribute("annotation", Type=typeof(Annotation))]
40 //public Member[] Members;
41 */
42  
43 [XmlElementAttribute("method", Type=typeof(Method))]
44 public Method[] Methods;
45  
46 [XmlElementAttribute("signal", Type=typeof(Signal))]
47 public Signal[] Signals;
48  
49 [XmlElementAttribute("property", Type=typeof(Property))]
50 public Property[] Properties;
51 }
52  
53 [XmlRootAttribute(IsNullable=true)]
54 public class Method : Member {
55  
56 /*
57 [XmlElementAttribute("arg", Type=typeof(Argument))]
58 [XmlElementAttribute("annotation", Type=typeof(Annotation))]
59 public object[] Items;
60 */
61  
62 //[System.ComponentModel.DefaultValue(new Argument[0])]
63 [XmlElementAttribute("arg", Type=typeof(Argument))]
64 //public List<Argument> Arguments;
65 public Argument[] Arguments;
66 }
67  
68 [XmlRootAttribute(IsNullable=true)]
69 public class Argument {
70  
71 [XmlAttributeAttribute("name")]
72 public string Name = String.Empty;
73  
74 [XmlAttributeAttribute("type")]
75 public string Type;
76  
77 [System.ComponentModel.DefaultValue(ArgDirection.@in)]
78 [XmlAttributeAttribute("direction")]
79 public ArgDirection Direction = ArgDirection.@in;
80 }
81  
82 public enum ArgDirection {
83 @in,
84 @out,
85 }
86  
87 [XmlRootAttribute(IsNullable=true)]
88 public class Annotation {
89  
90 [XmlAttributeAttribute("name")]
91 public string Name = String.Empty;
92  
93 [XmlAttributeAttribute("value")]
94 public string Value = String.Empty;
95 }
96  
97 [XmlRootAttribute("signal", IsNullable=true)]
98 public class Signal : Method {
99 }
100  
101 [XmlRootAttribute(IsNullable=true)]
102 public class Property : Member {
103 [XmlAttributeAttribute("type")]
104 public string Type = String.Empty;
105  
106 [XmlAttributeAttribute("access")]
107 public propertyAccess Access;
108  
109 [XmlElementAttribute("annotation")]
110 public Annotation[] Annotations;
111 }
112  
113 public enum propertyAccess {
114 read,
115 write,
116 readwrite,
117 }
118 }