2005-10-24 Robert McQueen <robot101@debian.org>
[platform/upstream/dbus.git] / test / data / valid-messages / recursive-types.message
1 ## Message with recursive types
2
3 ## VALID_HEADER includes a LENGTH Header and LENGTH Body
4 VALID_HEADER method_call
5
6 REQUIRED_FIELDS
7
8 ALIGN 8
9 END_LENGTH Header
10 START_LENGTH Body
11
12 # Everything is inside a dict
13 TYPE DICT
14 LENGTH Dict1
15 START_LENGTH Dict1
16
17 # first dict entry is an array of array of uint32
18 STRING 'mega-uint-array'
19 TYPE ARRAY
20 TYPE ARRAY
21 TYPE ARRAY
22 TYPE UINT32
23 LENGTH Array1
24 START_LENGTH Array1
25
26 LENGTH Array1_1
27 START_LENGTH Array1_1
28 UINT32_ARRAY { 1, 2, 3, 4, 5}
29 UINT32_ARRAY { 2, 3, 4, 5, 1}
30 UINT32_ARRAY { 3, 4, 5, 1, 2}
31 END_LENGTH Array1_1
32
33 LENGTH Array1_2
34 START_LENGTH Array1_2
35 UINT32_ARRAY { 4, 5, 6, 7, 8}
36 UINT32_ARRAY { 5, 6, 7, 8, 4}
37 END_LENGTH Array1_2
38
39 END_LENGTH Array1
40
41 # second dict entry is an array of strings
42 STRING 'string-array'
43 TYPE ARRAY
44 TYPE STRING
45 STRING_ARRAY { 'a', 'string', 'array'}
46
47 # third dict entry is another dict
48 STRING 'nested-dict'
49 TYPE DICT
50 LENGTH Dict2
51 START_LENGTH Dict2
52
53 STRING 'string'
54 TYPE STRING
55 STRING 'a deeply nested string'     
56
57 STRING 'super-nested-dict'
58 TYPE DICT
59 LENGTH Dict3
60 START_LENGTH Dict3
61
62 STRING 'double-array'
63 TYPE ARRAY
64 TYPE DOUBLE
65 DOUBLE_ARRAY {1.0, 2.0, 3.0}
66
67 STRING 'dict-array'
68 TYPE ARRAY
69 TYPE DICT
70 LENGTH Array2
71 START_LENGTH Array2
72
73 LENGTH Dict4
74 START_LENGTH Dict4
75 STRING 'key4'
76 TYPE BYTE
77 BYTE '4'
78 END_LENGTH Dict4
79
80 LENGTH Dict5
81 START_LENGTH Dict5
82 STRING 'key5'
83 TYPE BYTE
84 BYTE '5'
85 END_LENGTH Dict5
86
87 END_LENGTH Array2
88
89 STRING 'boolean'
90 TYPE BOOLEAN
91 BOOLEAN false
92
93 END_LENGTH Dict3
94
95 END_LENGTH Dict2
96
97 END_LENGTH Dict1
98
99 END_LENGTH Body