aaronp-zomg 1.0.2.20080827232412

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (236) hide show
  1. data/History.txt +25 -0
  2. data/Manifest.txt +238 -0
  3. data/README.txt +59 -0
  4. data/Rakefile +43 -0
  5. data/bin/omfg +56 -0
  6. data/lib/scanner.rex +169 -0
  7. data/lib/yacc.y +861 -0
  8. data/lib/zomg.rb +22 -0
  9. data/lib/zomg/idl.rb +14 -0
  10. data/lib/zomg/idl/nodes/attribute.rb +15 -0
  11. data/lib/zomg/idl/nodes/binary.rb +19 -0
  12. data/lib/zomg/idl/nodes/constant.rb +15 -0
  13. data/lib/zomg/idl/nodes/interface.rb +13 -0
  14. data/lib/zomg/idl/nodes/interface_header.rb +14 -0
  15. data/lib/zomg/idl/nodes/member.rb +14 -0
  16. data/lib/zomg/idl/nodes/node.rb +54 -0
  17. data/lib/zomg/idl/nodes/operation.rb +17 -0
  18. data/lib/zomg/idl/nodes/parameter.rb +18 -0
  19. data/lib/zomg/idl/nodes/typedef.rb +13 -0
  20. data/lib/zomg/idl/nodes/union.rb +14 -0
  21. data/lib/zomg/idl/parser.rb +54 -0
  22. data/lib/zomg/idl/visitable.rb +15 -0
  23. data/lib/zomg/idl/visitors/duhr.rb +24 -0
  24. data/lib/zomg/idl/visitors/ruby_sexp.rb +204 -0
  25. data/lib/zomg/idl/visitors/sexp.rb +274 -0
  26. data/lib/zomg/version.rb +3 -0
  27. data/test/assets/array/array1.idl +60 -0
  28. data/test/assets/array/array2.idl +38 -0
  29. data/test/assets/array/array3.idl +8 -0
  30. data/test/assets/array/array4.idl +7 -0
  31. data/test/assets/array/array5.idl +80 -0
  32. data/test/assets/attribute/grid_0attribs_2methods.idl +16 -0
  33. data/test/assets/attribute/grid_1ROattribs_1attribs_0methods.idl +19 -0
  34. data/test/assets/attribute/grid_1ROattribs_1attribs_1methods.idl +19 -0
  35. data/test/assets/attribute/grid_1ROattribs_1attribs_2methods.idl +17 -0
  36. data/test/assets/attribute/grid_1ROattribs_1methods.idl +16 -0
  37. data/test/assets/attribute/grid_1ROattribs_2methods.idl +16 -0
  38. data/test/assets/attribute/grid_1attribs_1methods.idl +17 -0
  39. data/test/assets/attribute/grid_1attribs_2methods.idl +17 -0
  40. data/test/assets/attribute/grid_2ROattribs_0methods.idl +16 -0
  41. data/test/assets/attribute/grid_2ROattribs_1methods.idl +16 -0
  42. data/test/assets/attribute/grid_2ROattribs_2methods.idl +16 -0
  43. data/test/assets/attribute/grid_2attribs_0methods.idl +19 -0
  44. data/test/assets/attribute/grid_2attribs_1methods.idl +19 -0
  45. data/test/assets/attribute/grid_2attribs_2methods.idl +19 -0
  46. data/test/assets/comment/c_style_comments.idl +63 -0
  47. data/test/assets/comment/comment1.idl +57 -0
  48. data/test/assets/comment/cpp_style_comments.idl +168 -0
  49. data/test/assets/comment/shortform.idl +0 -0
  50. data/test/assets/complex/TestCodeSets.idl +10 -0
  51. data/test/assets/complex/TestIntfContext.idl +13 -0
  52. data/test/assets/complex/TestIntfLongLong.idl +51 -0
  53. data/test/assets/complex/TestIntfWChar.idl +52 -0
  54. data/test/assets/complex/any1.idl +22 -0
  55. data/test/assets/complex/complex1.idl +495 -0
  56. data/test/assets/complex/complex2.idl +730 -0
  57. data/test/assets/complex/complex3.idl +181 -0
  58. data/test/assets/complex/complex4.idl +181 -0
  59. data/test/assets/complex/interop_wchar.idl +60 -0
  60. data/test/assets/constant/constant1.idl +37 -0
  61. data/test/assets/constant/constant2.idl +29 -0
  62. data/test/assets/constant/constant3.idl +50 -0
  63. data/test/assets/constant/constant4.idl +21 -0
  64. data/test/assets/constant/constant5.idl +65 -0
  65. data/test/assets/constant/constant6.idl +144 -0
  66. data/test/assets/constant/constant7.idl +30 -0
  67. data/test/assets/enum/enum1.idl +13 -0
  68. data/test/assets/exception/TestIntfExceptions.idl +69 -0
  69. data/test/assets/exception/TestIntfExceptionsExt_2_0.idl +34 -0
  70. data/test/assets/exception/TestIntfExceptionsExt_2_3.idl +24 -0
  71. data/test/assets/exception/ex1.idl +6 -0
  72. data/test/assets/exception/ex2.idl +18 -0
  73. data/test/assets/exception/ex3.idl +10 -0
  74. data/test/assets/exception/ex4.idl +20 -0
  75. data/test/assets/exception/sc.idl +0 -0
  76. data/test/assets/exception/simple1.idl +18 -0
  77. data/test/assets/exception/simple2.idl +25 -0
  78. data/test/assets/factory/factory1.idl +77 -0
  79. data/test/assets/factory/objref.idl +25 -0
  80. data/test/assets/forward/forward.idl +15 -0
  81. data/test/assets/forward/forward1.idl +13 -0
  82. data/test/assets/forward/fwd_incl1.idl +6 -0
  83. data/test/assets/forward/fwd_incl2.idl +7 -0
  84. data/test/assets/include/a.idl +23 -0
  85. data/test/assets/include/b.idl +16 -0
  86. data/test/assets/include/employee.idl +12 -0
  87. data/test/assets/include/include1.idl +10 -0
  88. data/test/assets/include/include2.idl +5 -0
  89. data/test/assets/include/manager.idl +10 -0
  90. data/test/assets/include/pragma.idl +41 -0
  91. data/test/assets/include/rookie.idl +13 -0
  92. data/test/assets/include/rookiemanager.idl +15 -0
  93. data/test/assets/include/sample.idl +58 -0
  94. data/test/assets/include/sample_incl.idl +406 -0
  95. data/test/assets/inherit/IDL1.idl +18 -0
  96. data/test/assets/inherit/IDL2.idl +18 -0
  97. data/test/assets/inherit/IDL3.idl +18 -0
  98. data/test/assets/inherit/IDL4.idl +17 -0
  99. data/test/assets/inherit/diamond_inheritance.idl +31 -0
  100. data/test/assets/inherit/inherit.idl +27 -0
  101. data/test/assets/limit/longidentifiers.idl +25 -0
  102. data/test/assets/limit/namelens.idl +26 -0
  103. data/test/assets/limit/tpztest.idl +21 -0
  104. data/test/assets/module/module1.idl +29 -0
  105. data/test/assets/module/module2.idl +34 -0
  106. data/test/assets/module/module3.idl +20 -0
  107. data/test/assets/module/module4.idl +15 -0
  108. data/test/assets/nested/nested1.idl +5 -0
  109. data/test/assets/nested/nested2.idl +11 -0
  110. data/test/assets/operations/Benchmark.idl +331 -0
  111. data/test/assets/operations/CCS.idl +82 -0
  112. data/test/assets/operations/TestIntf.idl +40 -0
  113. data/test/assets/operations/TestIntfBasic.idl +653 -0
  114. data/test/assets/operations/atomic.idl +40 -0
  115. data/test/assets/operations/dif2.idl +48 -0
  116. data/test/assets/operations/interface1.idl +16 -0
  117. data/test/assets/operations/parameters.idl +111 -0
  118. data/test/assets/operations/perf.idl +84 -0
  119. data/test/assets/operations/timer.idl +104 -0
  120. data/test/assets/preprocess/base_for_diamond_inheritance_with_macros.idl +17 -0
  121. data/test/assets/preprocess/basic_macro_marshalling.idl +54 -0
  122. data/test/assets/preprocess/diamond_inheritance_with_macros.idl +74 -0
  123. data/test/assets/preprocess/macro1.idl +52 -0
  124. data/test/assets/preprocess/preprocess1.idl +246 -0
  125. data/test/assets/preprocess/preprocess2.idl +3 -0
  126. data/test/assets/recursion/loop.idl +28 -0
  127. data/test/assets/recursion/recursion1.idl +47 -0
  128. data/test/assets/recursion/recursion2.idl +74 -0
  129. data/test/assets/scenarios/filestat.idl +69 -0
  130. data/test/assets/scenarios/gateway.idl +176 -0
  131. data/test/assets/scenarios/library.idl +20 -0
  132. data/test/assets/scenarios/phone.idl +24 -0
  133. data/test/assets/scenarios/ticketservice.idl +118 -0
  134. data/test/assets/scope/scope01.idl +58 -0
  135. data/test/assets/scope/scope02.idl +25 -0
  136. data/test/assets/scope/scope03.idl +22 -0
  137. data/test/assets/scope/scope04.idl +27 -0
  138. data/test/assets/scope/scope05.idl +30 -0
  139. data/test/assets/scope/scope06.idl +51 -0
  140. data/test/assets/scope/scope07.idl +20 -0
  141. data/test/assets/scope/scope08.idl +88 -0
  142. data/test/assets/scope/scope09.idl +21 -0
  143. data/test/assets/scope/scope10.idl +95 -0
  144. data/test/assets/scope/scope11.idl +62 -0
  145. data/test/assets/scope/scope12.idl +117 -0
  146. data/test/assets/scope/scope13.idl +117 -0
  147. data/test/assets/scope/scope14.idl +117 -0
  148. data/test/assets/scope/scope15.idl +117 -0
  149. data/test/assets/scope/scope16.idl +117 -0
  150. data/test/assets/scope/scope17.idl +117 -0
  151. data/test/assets/scope/scope18.idl +117 -0
  152. data/test/assets/scope/scope19.idl +117 -0
  153. data/test/assets/scope/scope20.idl +215 -0
  154. data/test/assets/scope/scope21.idl +215 -0
  155. data/test/assets/scope/scope22.idl +205 -0
  156. data/test/assets/scope/scope23.idl +261 -0
  157. data/test/assets/scope/scope24.idl +376 -0
  158. data/test/assets/scope/scope25.idl +266 -0
  159. data/test/assets/scope/scope26.idl +180 -0
  160. data/test/assets/scope/scope27.idl +184 -0
  161. data/test/assets/scope/scope28.idl +182 -0
  162. data/test/assets/scope/scope29.idl +182 -0
  163. data/test/assets/scope/scope30.idl +40 -0
  164. data/test/assets/scope/scope31.idl +33 -0
  165. data/test/assets/scope/scope32.idl +37 -0
  166. data/test/assets/scope/scope33.idl +50 -0
  167. data/test/assets/scope/scope34.idl +97 -0
  168. data/test/assets/scope/scope35.idl +72 -0
  169. data/test/assets/scope/scope36.idl +167 -0
  170. data/test/assets/scope/scope37.idl +57 -0
  171. data/test/assets/scope/scope38.idl +38 -0
  172. data/test/assets/scope/scope39.idl +38 -0
  173. data/test/assets/scope/scope40.idl +38 -0
  174. data/test/assets/scope/scope41.idl +24 -0
  175. data/test/assets/scope/scope42.idl +64 -0
  176. data/test/assets/scope/scope43.idl +66 -0
  177. data/test/assets/scope/scope44.idl +52 -0
  178. data/test/assets/sequence/sequence1.idl +24 -0
  179. data/test/assets/sequence/sequence2.idl +9 -0
  180. data/test/assets/simple/basictypes1.idl +80 -0
  181. data/test/assets/simple/basictypes2.idl +197 -0
  182. data/test/assets/simple/basictypes3.idl +23 -0
  183. data/test/assets/simple/basictypes4.idl +73 -0
  184. data/test/assets/simple/basictypes5.idl +29 -0
  185. data/test/assets/simple/basictypes6.idl +63 -0
  186. data/test/assets/simple/simple1.idl +45 -0
  187. data/test/assets/simple/simple2.idl +61 -0
  188. data/test/assets/simple/simple3.idl +36 -0
  189. data/test/assets/string/string1.idl +11 -0
  190. data/test/assets/string/string2.idl +29 -0
  191. data/test/assets/struct/struct1.idl +20 -0
  192. data/test/assets/struct/struct2.idl +21 -0
  193. data/test/assets/struct/struct3.idl +42 -0
  194. data/test/assets/struct/struct4.idl +57 -0
  195. data/test/assets/struct/struct5.idl +71 -0
  196. data/test/assets/typecode/orb.idl +0 -0
  197. data/test/assets/typecode/pseudo.idl +25 -0
  198. data/test/assets/typedef/shorthand_typedef_struct_insideIF.idl +17 -0
  199. data/test/assets/typedef/shorthand_typedef_struct_insideIF_noMO.idl +16 -0
  200. data/test/assets/typedef/shorthand_typedef_struct_insideMO.idl +17 -0
  201. data/test/assets/typedef/shorthand_typedef_struct_outsideMO.idl +17 -0
  202. data/test/assets/typedef/typedef1.idl +8 -0
  203. data/test/assets/typedef/typedef2.idl +22 -0
  204. data/test/assets/typedef/typedef_struct_insideIF.idl +18 -0
  205. data/test/assets/typedef/typedef_struct_insideMO.idl +18 -0
  206. data/test/assets/typedef/typedef_struct_outsideMO.idl +18 -0
  207. data/test/assets/union/union1.idl +31 -0
  208. data/test/assets/union/union2.idl +22 -0
  209. data/test/assets/union/union3.idl +26 -0
  210. data/test/conversions/test_attribute.rb +46 -0
  211. data/test/conversions/test_enum.rb +25 -0
  212. data/test/conversions/test_exception.rb +24 -0
  213. data/test/conversions/test_forward_declaration.rb +22 -0
  214. data/test/conversions/test_interface.rb +30 -0
  215. data/test/conversions/test_module.rb +24 -0
  216. data/test/conversions/test_struct.rb +25 -0
  217. data/test/conversions/test_typedef.rb +22 -0
  218. data/test/conversions/test_union.rb +27 -0
  219. data/test/conversions/test_value_box_dcl.rb +22 -0
  220. data/test/helper.rb +23 -0
  221. data/test/simple/test_basictypes1.rb +87 -0
  222. data/test/simple/test_basictypes2.rb +18 -0
  223. data/test/simple/test_basictypes3.rb +32 -0
  224. data/test/simple/test_basictypes4.rb +25 -0
  225. data/test/simple/test_basictypes5.rb +17 -0
  226. data/test/simple/test_basictypes6.rb +19 -0
  227. data/test/simple/test_simple1.rb +40 -0
  228. data/test/simple/test_simple2.rb +48 -0
  229. data/test/simple/test_simple3.rb +20 -0
  230. data/test/test_array.rb +22 -0
  231. data/test/test_assets.rb +33 -0
  232. data/test/test_complex.rb +17 -0
  233. data/test/test_node.rb +16 -0
  234. data/test/test_parser.rb +17 -0
  235. data/test/test_scanner.rb +234 -0
  236. metadata +334 -0
@@ -0,0 +1,74 @@
1
+ struct ta {
2
+ struct tb {
3
+ long a;
4
+ double b;
5
+ short c;
6
+ } a;
7
+
8
+ struct tc {
9
+ char a;
10
+ string b;
11
+ #ifndef OPENORB
12
+ sequence<tc> c;
13
+ #endif
14
+ } b;
15
+ struct td {
16
+ tb a;
17
+ struct te {
18
+ char a;
19
+ char b;
20
+ char c;
21
+ char d;
22
+ #ifndef OPENORB
23
+ tdSeq e;
24
+ #endif
25
+ } b;
26
+ } c;
27
+ sequence<ta> next;
28
+ tb d;
29
+ tc e;
30
+ td f;
31
+ };
32
+
33
+ struct tb {
34
+ ta::tb a;
35
+ ta::td b;
36
+ sequence<ta::td> c;
37
+ sequence<tb> d;
38
+ };
39
+
40
+ enum tc_enum { NORTH, EAST, WEST, SOUTH, DOWN };
41
+
42
+ union td_union switch (long) {
43
+ case 1:
44
+ ta one;
45
+ case 2:
46
+ tb two;
47
+ case 3:
48
+ union te switch (tc_enum) {
49
+ case NORTH: long x;
50
+ case EAST: double y;
51
+ case WEST: boolean z;
52
+ case SOUTH: tb s;
53
+ #ifndef OPENORB
54
+ case DOWN:
55
+ union tu switch (boolean) {
56
+ case TRUE: sequence<td,1> next;
57
+ } u;
58
+ #endif
59
+ } three;
60
+ default:sequence<td_union> again;
61
+ };
62
+
63
+ interface obj {
64
+
65
+ attribute long my_attr;
66
+
67
+ typedef obj my_obj;
68
+
69
+ my_obj get_server();
70
+ void set_server(in my_obj srvr);
71
+
72
+ td_union convert(inout ta a1, in tb b1, out tc_enum c1);
73
+
74
+ };
@@ -0,0 +1,69 @@
1
+ #define _my_ST_FSTYPSZ 16
2
+
3
+ typedef unsigned long my_ulong_t;
4
+
5
+ typedef my_ulong_t my_dev_t;
6
+ typedef my_ulong_t my_ino_t;
7
+ typedef my_ulong_t my_mode_t;
8
+ typedef my_ulong_t my_nlink_t;
9
+ typedef long my_uid_t;
10
+ typedef my_uid_t my_gid_t;
11
+ typedef long my_off_t;
12
+ typedef long my_time_t;
13
+
14
+ struct my_timespec { /* definition per POSIX.4 */
15
+ my_time_t my_tv_sec; /* seconds */
16
+ long my_tv_nsec; /* and nanoseconds */
17
+ };
18
+
19
+ typedef my_timespec my_timestruc_t; /* definition per SVr4 */
20
+
21
+ interface test {
22
+ struct my_stat {
23
+ my_dev_t st_dev;
24
+ long st_pad1[3]; /* reserve for dev expansion, */
25
+ /* sysid definition */
26
+ my_ino_t st_ino;
27
+ my_mode_t st_mode;
28
+ my_nlink_t st_nlink;
29
+ my_uid_t st_uid;
30
+ my_gid_t st_gid;
31
+ my_dev_t st_rdev;
32
+ long st_pad2[2];
33
+ my_off_t st_size;
34
+ long st_pad3; /* reserve pad for future off_t expansion */
35
+ my_timestruc_t st_atime;
36
+ my_timestruc_t st_mtime;
37
+ my_timestruc_t st_ctime;
38
+ long st_blksize;
39
+ long st_blocks;
40
+ char st_fstype[_my_ST_FSTYPSZ];
41
+ long st_pad4[8]; /* expansion area */
42
+ };
43
+
44
+ struct entry {
45
+ string<255> filename;
46
+ my_stat info;
47
+ };
48
+
49
+ struct inner {
50
+ long a;
51
+ long b;
52
+ };
53
+
54
+ struct outer {
55
+ inner a;
56
+ inner b;
57
+ };
58
+
59
+ typedef sequence<entry> directory;
60
+ typedef sequence<long> longlist;
61
+ typedef sequence<outer> structlist;
62
+
63
+ long dir(in directory entries);
64
+ long lng(in longlist entries);
65
+ long strct(in structlist entries);
66
+ };
67
+
68
+ /* End of file. */
69
+
@@ -0,0 +1,176 @@
1
+ module TOR
2
+ {
3
+
4
+ // Status flag
5
+
6
+ enum GWStatus
7
+ {
8
+ GWOK,
9
+ GWNotOK
10
+ };
11
+
12
+ //------------------
13
+ // Gateway messages |
14
+ //------------------
15
+
16
+ // Format of the messages
17
+
18
+ enum GWMsgContentType
19
+ {
20
+ Parameters,
21
+ // Used by request-related msg with parameters
22
+ IsVoid,
23
+ // Used by request-related msg without parameter
24
+ ReturnValue,
25
+ // Used by reply-related msg with only return result (incl. void)
26
+ ReturnAndParameters,
27
+ // Used by reply-related msg with return result (incl. void) and parameters
28
+ IsException
29
+ // Used by raise-related msg with exception
30
+ };
31
+
32
+ typedef any GWElem;
33
+
34
+ typedef sequence<GWElem> GWParamList;
35
+
36
+ struct GWMsgContent
37
+ {
38
+ GWParamList paramList;
39
+ GWElem returnValue;
40
+ GWElem except;
41
+ };
42
+
43
+ struct GWMessage
44
+ {
45
+ string objectName;
46
+ string operationName;
47
+ GWMsgContentType cntType;
48
+ GWMsgContent content;
49
+ };
50
+
51
+
52
+ // Flag for messages
53
+
54
+ enum GWMsgFlag
55
+ {
56
+ MsgReady,
57
+ MsgNotReady
58
+ };
59
+
60
+ // Message queue
61
+
62
+ struct GWQElem
63
+ {
64
+ GWMsgFlag flag;
65
+ GWMessage message;
66
+ };
67
+
68
+ typedef sequence<GWQElem> GWMsgQueue;
69
+
70
+ //---------------------------------
71
+ // Test configuration information |
72
+ //---------------------------------
73
+
74
+ // Type of connection via PCO or CP
75
+
76
+ enum GWConnType
77
+ {
78
+ PCOtoSUTServer,
79
+ PCOtoSUTClient,
80
+ CPtoTestComponent
81
+ };
82
+
83
+ // Information about an object
84
+
85
+ struct GWObjInfo
86
+ {
87
+ string objName;
88
+ // Object name
89
+ Object objRef;
90
+ // Object reference if available
91
+ };
92
+
93
+ // Information about a connection
94
+
95
+ struct GWConnInfo
96
+ {
97
+ GWConnType connType;
98
+ // Type of connection via PCO or CP
99
+ string pName;
100
+ // PCO or CP name
101
+ GWObjInfo objInfo;
102
+ // Information of the object
103
+ };
104
+
105
+ typedef sequence<GWConnInfo> GWConnections;
106
+
107
+ // Configuration information of a test component
108
+
109
+ struct GWComponentConfig
110
+ {
111
+ string componentID;
112
+ // ID of the test component
113
+ GWConnections connections;
114
+ // Information about the connections
115
+ };
116
+
117
+ //-------------------------
118
+ // Interface GatewayClient |
119
+ //-------------------------
120
+
121
+ interface GatewayClient
122
+ {
123
+ GWStatus sendOutMsg(in GWMessage msg);
124
+ GWMsgFlag getInMsg(out GWMessage msg);
125
+
126
+ }; // End of interface GatewayClient
127
+
128
+ //-------------------------
129
+ // Interface GatewayServer |
130
+ //-------------------------
131
+
132
+ interface GatewayServer
133
+ {
134
+ GWStatus sendOutMsg(in GWMessage msg);
135
+ GWMsgFlag getInMsg(out GWMessage msg);
136
+
137
+ }; // End of interface GatewayServer
138
+
139
+ //------------------------
140
+ // Interface GatewayMain |
141
+ //------------------------
142
+
143
+ interface GatewayMain
144
+ {
145
+ //
146
+ // Operations public for TTCN-based test systems
147
+ //
148
+
149
+ // Initialization
150
+ GWStatus GWInit();
151
+
152
+ // Destroy the current instance.
153
+ void GWDestroy();
154
+
155
+ // Pre-configuration for the associated test component.
156
+ GWStatus GWConfigure (in boolean concurrent, in GWComponentConfig config);
157
+
158
+ // Add an individual connection for the associated test component.
159
+ GWStatus GWAddConnection (in GWConnInfo connInfo);
160
+
161
+ // Dispatch a message to the SUT or another test component
162
+ GWStatus GWSend (in string pcoID, in GWMessage msg);
163
+
164
+ // Poll for an incoming message from the SUT or another test component
165
+ GWMsgFlag GWReceive (out string pcoID, out GWMessage msg);
166
+
167
+ //
168
+ // Operation used by GatewayMain objects to exchange CMs
169
+ //
170
+
171
+ oneway void here_is_a_CM(in GWMessage msg);
172
+
173
+ }; // End of interface GatewayMain
174
+
175
+ }; // End of module TOR
176
+
@@ -0,0 +1,20 @@
1
+ struct BookInfo
2
+ {
3
+ string title;
4
+ string author;
5
+ string isbn;
6
+ };
7
+ typedef sequence<BookInfo> BookInfoSeq;
8
+
9
+ interface Book
10
+ {
11
+ readonly attribute BookInfo info;
12
+ };
13
+
14
+ typedef sequence<string> BookTitles;
15
+
16
+ interface Library
17
+ {
18
+ Book get_book(in string title);
19
+ BookTitles get_titles();
20
+ };
@@ -0,0 +1,24 @@
1
+ module data {
2
+ typedef string<200> name;
3
+ typedef string<20> phone;
4
+
5
+ struct entry {
6
+ name n;
7
+ phone p;
8
+ };
9
+
10
+ exception duplicate {
11
+ phone p;
12
+ };
13
+
14
+ exception notfound {};
15
+
16
+ interface phonebook {
17
+ void add(in entry e) raises (duplicate);
18
+ void remove(in name n) raises (notfound);
19
+ phone find(in name n) raises (notfound);
20
+ };
21
+ };
22
+
23
+ /* End of file. */
24
+
@@ -0,0 +1,118 @@
1
+ // Description : Sample SR handling IDL
2
+
3
+ module myTroubleTicket
4
+ {
5
+ struct ErrorStruct
6
+ {
7
+ long code;
8
+ string description;
9
+ };
10
+ enum TicketStatus { New, Open, Resolved, Closed };
11
+
12
+ // Timestamp is a number that measures time by the number of
13
+ // milliseconds from 1/1/1970 GMT. The number is encoded into
14
+ // a character string.
15
+ typedef string Timestamp;
16
+
17
+ enum ServiceType {ATM, FR};
18
+
19
+ enum TicketType {Autodetect, Chronic, Informational, Release, Vendor,
20
+ Customer, Network, NetworkComplexServices };
21
+
22
+ enum ForeignLogType { CustomerLog, EmployeeLog };
23
+
24
+ struct TroubleTicketSummary
25
+ {
26
+ string troubleTicketId;
27
+ string circuitId;
28
+ string circuitSegmentId;
29
+ string billingAccountNumber;
30
+ TicketStatus status;
31
+ Timestamp createDatetime;
32
+ Timestamp closeDatetime;
33
+ ServiceType svcType;
34
+ string customerName;
35
+ string enterpriseId;
36
+ TicketType type;
37
+ };
38
+
39
+ struct TroubleTicket
40
+ {
41
+ string troubleTicketId;
42
+ string circuitId;
43
+ string circuitSegmentId;
44
+ string billingAccountNumber;
45
+ TicketStatus status;
46
+ Timestamp createDatetime;
47
+ Timestamp closeDatetime;
48
+ ServiceType svcType;
49
+ string customerName;
50
+ string enterpriseId;
51
+ TicketType type;
52
+ string reportByName;
53
+ string reportByPhone;
54
+ string reportByEmail;
55
+ string secondaryContactName;
56
+ string secondaryContactPhone;
57
+ string secondaryContactEmail;
58
+ string problemDescription;
59
+ string submittedBy;
60
+ string ticketClient;
61
+ };
62
+
63
+ typedef sequence<TroubleTicketSummary> TroubleTicketSummaryList;
64
+
65
+ struct TimestampRange
66
+ {
67
+ Timestamp startTime;
68
+ Timestamp endTime;
69
+ };
70
+
71
+ struct TroubleTicketQuery
72
+ {
73
+ sequence<string> circuitId;
74
+ sequence<string> circuitSegmentId;
75
+ sequence<string> billingAccountNumber;
76
+ sequence<string> enterpriseId;
77
+ sequence<string> customerName;
78
+ TimestampRange createDatetime;
79
+ TimestampRange closeDatetime;
80
+ sequence<TicketStatus> status;
81
+ sequence<ServiceType> svcType;
82
+ };
83
+ typedef sequence<TroubleTicketQuery> TTQuerySeq;
84
+
85
+ struct SortCriteria
86
+ {
87
+ string sortByField;
88
+ boolean sortAscending;
89
+ };
90
+ typedef sequence<SortCriteria> SortSeq;
91
+
92
+ interface TicketService
93
+ {
94
+
95
+ void createTicket(
96
+ inout TroubleTicket inTroubleTicket,
97
+ out ErrorStruct error );
98
+
99
+ void findTicketByTicketId(
100
+ in string troubleTicketId,
101
+ out TroubleTicket outTroubleTicket,
102
+ out ErrorStruct error );
103
+
104
+ void findTicketsByTicketQuery(
105
+ in TTQuerySeq ticketQueryList,
106
+ in SortSeq sortList,
107
+ in long fetchLimit,
108
+ out TroubleTicketSummaryList tickets,
109
+ out ErrorStruct error );
110
+
111
+ // simple oneway method to test passing sequences of structs
112
+ // to the CORBA adapter
113
+ oneway void simpleTicketMethod(
114
+ in TTQuerySeq ticketQueryList );
115
+ };
116
+
117
+ };
118
+