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,38 @@
1
+
2
+
3
+ union Broadbeans switch (unsigned short) {
4
+ case 521:
5
+ float ButterBean;
6
+ case 298:
7
+ double Cinnamon;
8
+ case 57:
9
+ long BreadFruit;
10
+ case 9875:
11
+ short BambooShoot;
12
+ case 7667:
13
+ unsigned long Fennell;
14
+ case 12:
15
+ unsigned short Pineapple;
16
+ case 76:
17
+ char Radish;
18
+ case 23:
19
+ boolean Damsons;
20
+ default :
21
+ octet Mullberry;
22
+ };
23
+
24
+ interface idlServer {
25
+
26
+ exception BroadbeansExcpt{
27
+ ::Broadbeans ex1;
28
+ };
29
+
30
+ attribute ::Broadbeans BroadbeansAttr;
31
+
32
+ ::Broadbeans BroadbeansOp(
33
+ in ::Broadbeans p1,
34
+ out ::Broadbeans p2,
35
+ inout ::Broadbeans p3
36
+ ) raises (BroadbeansExcpt);
37
+ };
38
+
@@ -0,0 +1,38 @@
1
+
2
+
3
+ union Broadbeans switch (char) {
4
+ case 'a':
5
+ float ButterBean;
6
+ case 'z':
7
+ double Cinnamon;
8
+ default :
9
+ long BreadFruit;
10
+ case '!':
11
+ short BambooShoot;
12
+ case '\0':
13
+ unsigned long Fennell;
14
+ case 'S':
15
+ unsigned short Pineapple;
16
+ case 'R':
17
+ char Radish;
18
+ case 's':
19
+ boolean Damsons;
20
+ case 'E':
21
+ octet Mullberry;
22
+ };
23
+
24
+ interface idlServer {
25
+
26
+ exception BroadbeansExcpt{
27
+ ::Broadbeans ex1;
28
+ };
29
+
30
+ attribute ::Broadbeans BroadbeansAttr;
31
+
32
+ ::Broadbeans BroadbeansOp(
33
+ in ::Broadbeans p1,
34
+ out ::Broadbeans p2,
35
+ inout ::Broadbeans p3
36
+ ) raises (BroadbeansExcpt);
37
+ };
38
+
@@ -0,0 +1,24 @@
1
+
2
+
3
+ union Broadbeans switch (boolean) {
4
+ case TRUE:
5
+ float ButterBean;
6
+ case FALSE:
7
+ unsigned long Fennell;
8
+ };
9
+
10
+ interface idlServer {
11
+
12
+ exception BroadbeansExcpt{
13
+ ::Broadbeans ex1;
14
+ };
15
+
16
+ attribute ::Broadbeans BroadbeansAttr;
17
+
18
+ ::Broadbeans BroadbeansOp(
19
+ in ::Broadbeans p1,
20
+ out ::Broadbeans p2,
21
+ inout ::Broadbeans p3
22
+ ) raises (BroadbeansExcpt);
23
+ };
24
+
@@ -0,0 +1,64 @@
1
+
2
+
3
+ union Broadbeans switch (
4
+ enum Fennell{
5
+ UgliFruit,
6
+ Chickpea,
7
+ Waterchestnut,
8
+ Cress,
9
+ BambooShoot,
10
+ BeechNut,
11
+ KidneyBean,
12
+ Onion,
13
+ Sweetcorn,
14
+ LolloRossa,
15
+ CantelopeMelon,
16
+ Zucchini,
17
+ Shallots
18
+ }
19
+ ) {
20
+ case ::Broadbeans::UgliFruit :
21
+ float ButterBean;
22
+ case ::Broadbeans::Chickpea :
23
+ unsigned long Fig;
24
+ case ::Broadbeans::Waterchestnut :
25
+ double Cinnamon;
26
+ case ::Broadbeans::BambooShoot :
27
+ long BreadFruit;
28
+ case ::Broadbeans::BeechNut :
29
+ long Tarragon;
30
+ case ::Broadbeans::Sweetcorn :
31
+ unsigned short Pineapple;
32
+ case ::Broadbeans::LolloRossa :
33
+ unsigned short RedPepper;
34
+ case ::Broadbeans::CantelopeMelon :
35
+ char Radish;
36
+ };
37
+
38
+ interface idlServer {
39
+
40
+ exception BroadbeansExcpt{
41
+ ::Broadbeans ex1;
42
+ };
43
+
44
+ attribute ::Broadbeans BroadbeansAttr;
45
+
46
+ ::Broadbeans BroadbeansOp(
47
+ in ::Broadbeans p1,
48
+ out ::Broadbeans p2,
49
+ inout ::Broadbeans p3
50
+ ) raises (BroadbeansExcpt);
51
+
52
+ exception FennellExcpt{
53
+ ::Broadbeans::Fennell ex1;
54
+ };
55
+
56
+ attribute ::Broadbeans::Fennell FennellAttr;
57
+
58
+ ::Broadbeans::Fennell FennellOp(
59
+ in ::Broadbeans::Fennell p1,
60
+ out ::Broadbeans::Fennell p2,
61
+ inout ::Broadbeans::Fennell p3
62
+ ) raises (FennellExcpt);
63
+ };
64
+
@@ -0,0 +1,66 @@
1
+
2
+
3
+ typedef long Apple;
4
+
5
+ union Broadbeans switch (Apple) {
6
+ case 521:
7
+ float ButterBean;
8
+ case 298:
9
+ double Cinnamon;
10
+ case 57:
11
+ long BreadFruit;
12
+ case 2436:
13
+ long Tarragon;
14
+ case 9875:
15
+ short BambooShoot;
16
+ default :
17
+ short BeechNut;
18
+ case 7667:
19
+ unsigned long Fennell;
20
+ case 765:
21
+ unsigned long Beetroot;
22
+ case 12:
23
+ unsigned short Pineapple;
24
+ case 98:
25
+ unsigned short RedPepper;
26
+ case 76:
27
+ char Radish;
28
+ case 67:
29
+ char Susander;
30
+ case 75:
31
+ boolean Damsons;
32
+ case 125:
33
+ boolean GreenGrapes;
34
+ case 23:
35
+ octet Mullberry;
36
+ case 72:
37
+ octet Corn;
38
+ };
39
+
40
+ interface idlServer {
41
+
42
+ exception AppleExcpt{
43
+ ::Apple ex1;
44
+ };
45
+
46
+ attribute ::Apple AppleAttr;
47
+
48
+ ::Apple AppleOp(
49
+ in ::Apple p1,
50
+ out ::Apple p2,
51
+ inout ::Apple p3
52
+ ) raises (AppleExcpt);
53
+
54
+ exception BroadbeansExcpt{
55
+ ::Broadbeans ex1;
56
+ };
57
+
58
+ attribute ::Broadbeans BroadbeansAttr;
59
+
60
+ ::Broadbeans BroadbeansOp(
61
+ in ::Broadbeans p1,
62
+ out ::Broadbeans p2,
63
+ inout ::Broadbeans p3
64
+ ) raises (BroadbeansExcpt);
65
+ };
66
+
@@ -0,0 +1,52 @@
1
+ union Broadbeans switch (long) {
2
+ case 521:
3
+ struct Avocado{
4
+ float ButterBean;
5
+ } Banana;
6
+ case 45:
7
+ struct GalaApple{
8
+ float ButterBean, ChestNut, Currant, CoxPippin, Chervil, Scallion, Tomato;
9
+ } Orange;
10
+ case 72:
11
+ octet Corn;
12
+ };
13
+
14
+ interface idlServer {
15
+
16
+ exception BroadbeansExcpt{
17
+ ::Broadbeans ex1;
18
+ };
19
+
20
+ attribute ::Broadbeans BroadbeansAttr;
21
+
22
+ ::Broadbeans BroadbeansOp(
23
+ in ::Broadbeans p1,
24
+ out ::Broadbeans p2,
25
+ inout ::Broadbeans p3
26
+ ) raises (BroadbeansExcpt);
27
+
28
+ exception AvocadoExcpt{
29
+ ::Broadbeans::Avocado ex1;
30
+ };
31
+
32
+ attribute ::Broadbeans::Avocado AvocadoAttr;
33
+
34
+ ::Broadbeans::Avocado AvocadoOp(
35
+ in ::Broadbeans::Avocado p1,
36
+ out ::Broadbeans::Avocado p2,
37
+ inout ::Broadbeans::Avocado p3
38
+ ) raises (AvocadoExcpt);
39
+
40
+ exception GalaAppleExcpt{
41
+ ::Broadbeans::GalaApple ex1;
42
+ };
43
+
44
+ attribute ::Broadbeans::GalaApple GalaAppleAttr;
45
+
46
+ ::Broadbeans::GalaApple GalaAppleOp(
47
+ in ::Broadbeans::GalaApple p1,
48
+ out ::Broadbeans::GalaApple p2,
49
+ inout ::Broadbeans::GalaApple p3
50
+ ) raises (GalaAppleExcpt);
51
+ };
52
+
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Sequences as in, inout, out and return
3
+ */
4
+
5
+ struct S {
6
+ long x;
7
+ sequence<long> seq;
8
+ };
9
+
10
+ typedef sequence<S> SSeq;
11
+
12
+ typedef sequence<string> StringSeq;
13
+
14
+ struct S2 {
15
+ sequence<char,10> seq;
16
+ };
17
+
18
+
19
+ interface foo {
20
+ S bar( in S s1, inout S s2, out S s3 );
21
+ SSeq bar2( in SSeq s1, inout SSeq s2, out SSeq s3 );
22
+ void bar3( in StringSeq s );
23
+ };
24
+
@@ -0,0 +1,9 @@
1
+ typedef sequence<long,10> vec10;
2
+
3
+ exception puke {
4
+ long reason;
5
+ };
6
+
7
+ interface TestSeq {
8
+ vec10 op(in vec10 iv, out vec10 ov, inout vec10 iov) raises (puke);
9
+ };
@@ -0,0 +1,80 @@
1
+ // Description : Tests most basic types used by all ORBs
2
+
3
+ struct BasicTypes
4
+ {
5
+ short argShort;
6
+ unsigned short argUShort;
7
+ long argLong;
8
+ unsigned long argULong;
9
+ float argFloat;
10
+ double argDouble;
11
+ char argChar;
12
+ string argString;
13
+ boolean argBoolean;
14
+ octet argOctet;
15
+ };
16
+
17
+ enum Color { blue, green, red, black };
18
+
19
+ union U switch( long ) {
20
+ case 10: string str;
21
+ case 20: short s;
22
+ case 50: long r;
23
+ case 60: float f;
24
+ default: char c;
25
+ };
26
+
27
+ typedef long IntSequence[10];
28
+
29
+ typedef sequence<long> longSeq;
30
+
31
+ interface RequestBht
32
+ {
33
+ //
34
+ // Basic types
35
+ //
36
+ void requestVoid ( );
37
+ short requestShort ( in short arg );
38
+ unsigned short requestUShort ( in unsigned short arg );
39
+ long requestLong ( in long arg );
40
+ unsigned long requestULong ( in unsigned long arg );
41
+ float requestFloat ( in float arg );
42
+ double requestDouble ( in double arg );
43
+ char requestChar ( in char arg );
44
+ string requestString ( in string arg );
45
+ boolean requestBoolean ( in boolean arg );
46
+ octet requestOctet ( in octet arg );
47
+ IntSequence requestArray ( in IntSequence arg);
48
+ Color requestEnum ( in Color arg);
49
+ U requestUnion ( in U arg);
50
+ BasicTypes requestBasicTypes( in BasicTypes arg );
51
+
52
+ oneway void onewayVoid ( );
53
+ oneway void onewayShort ( in short arg );
54
+ oneway void onewayUShort ( in unsigned short arg );
55
+ oneway void onewayLong ( in long arg );
56
+ oneway void onewayULong ( in unsigned long arg );
57
+ oneway void onewayFloat ( in float arg );
58
+ oneway void onewayDouble ( in double arg );
59
+ oneway void onewayChar ( in char arg );
60
+ oneway void onewayString ( in string arg );
61
+ oneway void onewayBoolean ( in boolean arg );
62
+ oneway void onewayOctet ( in octet arg );
63
+ oneway void onewayArray ( in IntSequence arg);
64
+ oneway void onewayEnum ( in Color arg);
65
+ oneway void onewayUnion ( in U arg);
66
+
67
+ //
68
+ // IN, OUT, INOUT, RESULT tests
69
+ //
70
+ short request_short ( in short i1, out short i2, inout short i3 );
71
+ long request_long ( in long i1, out long i2, inout long i3 );
72
+ float request_float ( in float i1, out float i2, inout float i3 );
73
+ string request_string ( in string i1, out string i2, inout string i3 );
74
+ octet request_octet ( in octet i1, out octet i2, inout octet i3 );
75
+ IntSequence request_array ( in IntSequence i1, out IntSequence i2, inout IntSequence i3);
76
+ Color request_enum ( in Color i1, out Color i2, inout Color i3);
77
+ U request_union ( in U i1, out U i2, inout U i3);
78
+
79
+ };
80
+
@@ -0,0 +1,197 @@
1
+ // Description : Tests most basic types used by all ORBs
2
+
3
+ struct BasicTypes
4
+ {
5
+ short argShort;
6
+ unsigned short argUShort;
7
+ long argLong;
8
+ unsigned long argULong;
9
+ float argFloat;
10
+ double argDouble;
11
+ char argChar;
12
+ string argString;
13
+ boolean argBoolean;
14
+ octet argOctet;
15
+ };
16
+
17
+
18
+ typedef long IntSequence[10];
19
+
20
+
21
+
22
+ interface C2RTwowayVoid
23
+ {
24
+ void twowayVoid ( );
25
+ };
26
+
27
+ interface C2RTwowayShort
28
+ {
29
+ short twowayShort ( in short arg );
30
+ };
31
+
32
+ interface C2RTwowayUShort
33
+ {
34
+ unsigned short twowayUShort ( in unsigned short arg );
35
+ };
36
+
37
+ interface C2RTwowayLong
38
+ {
39
+ long twowayLong ( in long arg );
40
+ };
41
+
42
+ interface C2RTwowayULong
43
+ {
44
+ unsigned long twowayULong ( in unsigned long arg );
45
+ };
46
+
47
+ interface C2RTwowayFloat
48
+ {
49
+ float twowayFloat ( in float arg );
50
+ };
51
+
52
+ interface C2RTwowayDouble
53
+ {
54
+ double twowayDouble ( in double arg );
55
+ };
56
+
57
+ interface C2RTwowayChar
58
+ {
59
+ char twowayChar ( in char arg );
60
+ };
61
+
62
+ interface C2RTwowayString
63
+ {
64
+ string twowayString ( in string arg );
65
+ };
66
+
67
+ interface C2RTwowayBoolean
68
+ {
69
+ boolean twowayBoolean ( in boolean arg );
70
+ };
71
+
72
+ interface C2RTwowayOctet
73
+ {
74
+ octet twowayOctet ( in octet arg );
75
+ };
76
+
77
+ interface C2RTwowayShortIO
78
+ {
79
+ short twowayShortIO ( in short i1, out short i2, inout short i3 );
80
+ };
81
+
82
+ interface C2RTwowayLongIO
83
+ {
84
+ long twowayLongIO ( in long i1, out long i2, inout long i3 );
85
+ };
86
+
87
+ interface C2RTwowayFloatIO
88
+ {
89
+ float twowayFloatIO ( in float i1, out float i2, inout float i3 );
90
+ };
91
+
92
+ interface C2RTwowayStringIO
93
+ {
94
+ string twowayStringIO ( in string i1, out string i2, inout string i3 );
95
+ };
96
+
97
+
98
+ interface C2ROnewayVoid
99
+ {
100
+ oneway void onewayVoid ( );
101
+ };
102
+
103
+ interface C2ROnewayShort
104
+ {
105
+ oneway void onewayShort ( in short arg );
106
+ };
107
+
108
+ interface C2ROnewayUShort
109
+ {
110
+ oneway void onewayUShort ( in unsigned short arg );
111
+ };
112
+
113
+ interface C2ROnewayLong
114
+ {
115
+ oneway void onewayLong ( in long arg );
116
+ };
117
+
118
+ interface C2ROnewayULong
119
+ {
120
+ oneway void onewayULong ( in unsigned long arg );
121
+ };
122
+
123
+ interface C2ROnewayFloat
124
+ {
125
+ oneway void onewayFloat ( in float arg );
126
+ };
127
+
128
+ interface C2ROnewayDouble
129
+ {
130
+ oneway void onewayDouble ( in double arg );
131
+ };
132
+
133
+ interface C2ROnewayChar
134
+ {
135
+ oneway void onewayChar ( in char arg );
136
+ };
137
+
138
+ interface C2ROnewayString
139
+ {
140
+ oneway void onewayString ( in string arg );
141
+ };
142
+
143
+ interface C2ROnewayBoolean
144
+ {
145
+ oneway void onewayBoolean ( in boolean arg );
146
+ };
147
+
148
+ interface C2ROnewayOctet
149
+ {
150
+ oneway void onewayOctet (in octet arg );
151
+ };
152
+
153
+
154
+ interface RequestSenderC2R
155
+ {
156
+ //
157
+ // Basic types
158
+ //
159
+ void requestVoid ( );
160
+ short requestShort ( in short arg );
161
+ unsigned short requestUShort ( in unsigned short arg );
162
+ long requestLong ( in long arg );
163
+ unsigned long requestULong ( in unsigned long arg );
164
+ float requestFloat ( in float arg );
165
+ double requestDouble ( in double arg );
166
+ char requestChar ( in char arg );
167
+ string requestString ( in string arg );
168
+ boolean requestBoolean ( in boolean arg );
169
+ octet requestOctet ( in octet arg );
170
+
171
+ oneway void onewayVoid ( );
172
+ oneway void onewayShort ( in short arg );
173
+ oneway void onewayUShort ( in unsigned short arg );
174
+ oneway void onewayLong ( in long arg );
175
+ oneway void onewayULong ( in unsigned long arg );
176
+ oneway void onewayFloat ( in float arg );
177
+ oneway void onewayDouble ( in double arg );
178
+ oneway void onewayChar ( in char arg );
179
+ oneway void onewayString ( in string arg );
180
+ oneway void onewayBoolean ( in boolean arg );
181
+ oneway void onewayOctet ( in octet arg );
182
+
183
+ //
184
+ // Complex types
185
+ //
186
+ BasicTypes requestBasicTypes ( in BasicTypes arg );
187
+ IntSequence requestIntSequence ( in IntSequence arg );
188
+
189
+ //
190
+ // IN, OUT, INOUT, RESULT tests
191
+ //
192
+ short request_IO_1 ( in short i1, out short i2, inout short i3 );
193
+ long request_IO_2 ( in long i1, out long i2, inout long i3 );
194
+ float request_IO_3 ( in float i1, out float i2, inout float i3 );
195
+ string request_IO_4 ( in string i1, out string i2, inout string i3 );
196
+
197
+ };