Initial revision
[platform/upstream/gobject-introspection.git] / gidl.dtd
1 <!ELEMENT api (namespace+) >
2
3 <!ATTLIST api version CDATA #REQUIRED >
4
5 <!ELEMENT namespace (function|callback|object|interface|enum|flags|boxed|struct|constant|errordomain)* >
6 <!ATTLIST namespace name CDATA #REQUIRED >
7
8 <!ELEMENT function (return-type,parameters?) >
9 <!ATTLIST function name CDATA #REQUIRED
10                    cname CDATA #REQUIRED
11                    deprecated (0|1) #IMPLIED >
12 <!ELEMENT parameters (parameter+) >
13 <!ELEMENT return-type EMPTY >                   
14 <!ATTLIST return-type type CDATA #REQUIRED
15                       null-ok (0|1) #IMPLIED
16                       transfer (full|shallow|none) #IMPLIED >
17
18
19 <!ELEMENT parameter EMPTY >
20 <!ATTLIST parameter type CDATA #REQUIRED
21                     name CDATA #REQUIRED
22                     direction (in|out|inout) #IMPLIED
23                     retval (0|1) #IMPLIED
24                     dipper (0|1) #IMPLIED
25                     optional (0|1) #IMPLIED
26                     null-ok (0|1) #IMPLIED
27                     transfer (full|shallow|none) #IMPLIED >
28                                 
29 <!ELEMENT callback (return-type,parameters?) >
30 <!ATTLIST callback name CDATA #REQUIRED
31                    cname CDATA #IMPLIED
32                    deprecated (0|1) #IMPLIED >
33
34 <!ELEMENT object (implements|field|signal|method|property|vfunc|constructor|constant)* >
35 <!ATTLIST object name CDATA #IMPLIED
36                  cname CDATA #REQUIRED
37                  parent CDATA #REQUIRED
38                  get-type CDATA #IMPLIED
39                  deprecated (0|1) #IMPLIED >
40
41 <!ELEMENT implements (interface+) >
42
43 <!ELEMENT method (return-type,parameters?) >
44 <!ATTLIST method name CDATA #REQUIRED
45                  cname CDATA #REQUIRED
46                  deprecated (0|1) #IMPLIED 
47                  type (setter|getter) #IMPLIED >
48
49 <!ELEMENT constructor (parameters?) >
50 <!ATTLIST constructor name CDATA #REQUIRED
51                       cname CDATA #REQUIRED
52                       deprecated (0|1) #IMPLIED >
53
54 <!ELEMENT interface ((requires|signal|method|property|vfunc|constant)*) >
55 <!ATTLIST interface name CDATA #REQUIRED
56                     cname CDATA #REQUIRED
57                     get-type CDATA #IMPLIED
58                     deprecated (0|1) #IMPLIED >
59
60 <!ELEMENT requires ((interface|object)*) >
61
62 <!ELEMENT property EMPTY >
63 <!ATTLIST property name CDATA #REQUIRED
64                    cname CDATA #REQUIRED
65                    type CDATA #REQUIRED
66                    readable (0|1) #IMPLIED
67                    writable (0|1) #IMPLIED
68                    construct (0|1) #IMPLIED
69                    construct-only (0|1) #IMPLIED >
70
71 <!ELEMENT signal (return-type,parameters) >
72 <!ATTLIST signal name CDATA #REQUIRED 
73                  cname CDATA #REQUIRED
74                  when (FIRST|LAST|CLEANUP) #REQUIRED
75                  no-recurse (0|1) #IMPLIED
76                  detailed (0|1) #IMPLIED
77                  action (0|1) #IMPLIED
78                  no-hooks (0|1) #IMPLIED 
79                  has-class-closure (0|1) #IMPLIED > 
80
81 <!ELEMENT vfunc (return-type,parameters?) >
82 <!ATTLIST vfunc name CDATA #REQUIRED 
83                 cname CDATA #REQUIRED
84                 must-chain-up (0|1) #IMPLIED
85                 override (always|never|maybe) #IMPLIED
86                 is-class-closure (0|1) #IMPLIED > 
87
88 <!ELEMENT field EMPTY >
89 <!ATTLIST field cname CDATA #REQUIRED 
90                 type CDATA #REQUIRED
91                 bits CDATA #IMPLIED >
92
93 <!ELEMENT enum (member+) >
94 <!ATTLIST enum name CDATA #REQUIRED 
95                cname CDATA #REQUIRED
96                get-type CDATA #IMPLIED
97                deprecated (0|1) #IMPLIED >
98
99
100 <!ELEMENT flags (member+) >
101 <!ATTLIST flags name CDATA #REQUIRED 
102                 cname CDATA #REQUIRED
103                 get-type CDATA #IMPLIED
104                 deprecated (0|1) #IMPLIED >
105
106 <!ELEMENT member EMPTY >
107 <!ATTLIST member name CDATA #REQUIRED
108                  cname CDATA #REQUIRED
109                  value CDATA #IMPLIED
110                  deprecated (0|1) #IMPLIED >
111
112 <!ELEMENT boxed ((field|method)*) >
113 <!ATTLIST boxed name CDATA #REQUIRED 
114                 cname CDATA #REQUIRED
115                 get-type CDATA #IMPLIED
116                 deprecated (0|1) #IMPLIED >
117
118 <!ELEMENT struct ((field|method)*) >
119 <!ATTLIST struct name CDATA #REQUIRED 
120                  cname CDATA #REQUIRED
121                  deprecated (0|1) #IMPLIED >
122
123 <!ELEMENT constant EMPTY >
124 <!ATTLIST constant name CDATA #REQUIRED 
125                    type CDATA #REQUIRED
126                    value CDATA #REQUIRED
127                    deprecated (0|1) #IMPLIED >
128
129 <!ELEMENT errordomain EMPTY >
130 <!ATTLIST errordomain name CDATA #REQUIRED 
131                       get-quark CDATA #REQUIRED
132                       codes CDATA #REQUIRED >