r2corba 1.4.1

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 (254) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGES +159 -0
  3. data/LICENSE +59 -0
  4. data/README +62 -0
  5. data/THANKS +52 -0
  6. data/bin/r2corba +8 -0
  7. data/bin/ridlc +11 -0
  8. data/bin/rins +7 -0
  9. data/ext/ext.mwc +6 -0
  10. data/ext/extload/extload.c +60 -0
  11. data/ext/libr2tao/any.cpp +1543 -0
  12. data/ext/libr2tao/exception.cpp +202 -0
  13. data/ext/libr2tao/exception.h +104 -0
  14. data/ext/libr2tao/longdouble.cpp +173 -0
  15. data/ext/libr2tao/longdouble.h +31 -0
  16. data/ext/libr2tao/object.cpp +1150 -0
  17. data/ext/libr2tao/object.h +38 -0
  18. data/ext/libr2tao/orb.cpp +1029 -0
  19. data/ext/libr2tao/orb.h +36 -0
  20. data/ext/libr2tao/r2tao_export.h +45 -0
  21. data/ext/libr2tao/r2tao_ext.h +38 -0
  22. data/ext/libr2tao/required.cpp +463 -0
  23. data/ext/libr2tao/required.h +187 -0
  24. data/ext/libr2tao/typecode.cpp +888 -0
  25. data/ext/libr2tao/typecode.h +45 -0
  26. data/ext/libr2tao/values.cpp +2938 -0
  27. data/ext/libr2tao/values.h +396 -0
  28. data/ext/librpoa/iortable.cpp +250 -0
  29. data/ext/librpoa/poa.cpp +1076 -0
  30. data/ext/librpoa/poa.h +24 -0
  31. data/ext/librpoa/rpoa_export.h +44 -0
  32. data/ext/librpoa/servant.cpp +1338 -0
  33. data/ext/librpoa/servant.h +116 -0
  34. data/ext/librpoa/srvreq_fix.cpp +283 -0
  35. data/ext/librpoa/srvreq_fix.h +149 -0
  36. data/ext/librpol/policies.cpp +763 -0
  37. data/ext/librpol/policies.h +15 -0
  38. data/ext/librpol/rpol_export.h +44 -0
  39. data/lib/corba/cbase/IORMap.rb +33 -0
  40. data/lib/corba/cbase/ORB.rb +231 -0
  41. data/lib/corba/cbase/Request.rb +134 -0
  42. data/lib/corba/cbase/Streams.rb +129 -0
  43. data/lib/corba/cbase/Stub.rb +19 -0
  44. data/lib/corba/cbase/Typecode.rb +441 -0
  45. data/lib/corba/cbase/Values.rb +129 -0
  46. data/lib/corba/cbase/exception.rb +66 -0
  47. data/lib/corba/cbase/poa.rb +23 -0
  48. data/lib/corba/cbase/policies.rb +78 -0
  49. data/lib/corba/cbase/post_require.rb +14 -0
  50. data/lib/corba/cbase/require.rb +28 -0
  51. data/lib/corba/cmds/base.rb +85 -0
  52. data/lib/corba/cmds/test.rb +30 -0
  53. data/lib/corba/common/Any.rb +91 -0
  54. data/lib/corba/common/IDL.rb +104 -0
  55. data/lib/corba/common/ORB.rb +368 -0
  56. data/lib/corba/common/Object.rb +208 -0
  57. data/lib/corba/common/Request.rb +20 -0
  58. data/lib/corba/common/Servant.rb +108 -0
  59. data/lib/corba/common/Struct.rb +22 -0
  60. data/lib/corba/common/Stub.rb +79 -0
  61. data/lib/corba/common/Typecode.rb +1121 -0
  62. data/lib/corba/common/Union.rb +56 -0
  63. data/lib/corba/common/Values.rb +92 -0
  64. data/lib/corba/common/const.rb +22 -0
  65. data/lib/corba/common/exception.rb +68 -0
  66. data/lib/corba/common/require.rb +27 -0
  67. data/lib/corba/common/version.rb +22 -0
  68. data/lib/corba/idl/IDL.rb +21 -0
  69. data/lib/corba/idl/IORTable.pidl +62 -0
  70. data/lib/corba/idl/TAO_Ext.pidl +46 -0
  71. data/lib/corba/idl/require.rb +20 -0
  72. data/lib/corba/jbase/Any.rb +273 -0
  73. data/lib/corba/jbase/IORMap.rb +36 -0
  74. data/lib/corba/jbase/ORB.rb +99 -0
  75. data/lib/corba/jbase/Object.rb +98 -0
  76. data/lib/corba/jbase/Request.rb +226 -0
  77. data/lib/corba/jbase/Servant.rb +247 -0
  78. data/lib/corba/jbase/ServerRequest.rb +128 -0
  79. data/lib/corba/jbase/Streams.rb +671 -0
  80. data/lib/corba/jbase/Stub.rb +38 -0
  81. data/lib/corba/jbase/Typecode.rb +520 -0
  82. data/lib/corba/jbase/Values.rb +173 -0
  83. data/lib/corba/jbase/exception.rb +106 -0
  84. data/lib/corba/jbase/poa.rb +229 -0
  85. data/lib/corba/jbase/policies.rb +300 -0
  86. data/lib/corba/jbase/post_require.rb +14 -0
  87. data/lib/corba/jbase/require.rb +86 -0
  88. data/lib/corba/naming.rb +14 -0
  89. data/lib/corba/naming_service.rb +15 -0
  90. data/lib/corba/poa.rb +15 -0
  91. data/lib/corba/policies.rb +18 -0
  92. data/lib/corba/require.rb +17 -0
  93. data/lib/corba/svcs/ins/cos_naming.rb +426 -0
  94. data/lib/corba/svcs/ins/ins.rb +526 -0
  95. data/lib/corba/svcs/ins/naming_service.rb +119 -0
  96. data/lib/corba.rb +16 -0
  97. data/lib/ridlbe/ruby/config.rb +336 -0
  98. data/lib/ridlbe/ruby/require.rb +16 -0
  99. data/lib/ridlbe/ruby/walker.rb +1582 -0
  100. data/mkrf_conf_srcgem.rb +186 -0
  101. data/rakelib/bin.rake +80 -0
  102. data/rakelib/bin.rb +146 -0
  103. data/rakelib/build.rake +87 -0
  104. data/rakelib/config.rake +52 -0
  105. data/rakelib/config.rb +450 -0
  106. data/rakelib/ext.rake +242 -0
  107. data/rakelib/ext.rb +308 -0
  108. data/rakelib/ext_r2tao.rb +232 -0
  109. data/rakelib/gem.rake +212 -0
  110. data/rakelib/gem.rb +146 -0
  111. data/rakelib/package.rake +26 -0
  112. data/rakelib/test.rake +23 -0
  113. data/test/BiDirectional/Test.idl +34 -0
  114. data/test/BiDirectional/client.rb +132 -0
  115. data/test/BiDirectional/run_test.rb +68 -0
  116. data/test/BiDirectional/server.rb +169 -0
  117. data/test/CORBA_Services/Naming/BindingIterator/Test.idl +27 -0
  118. data/test/CORBA_Services/Naming/BindingIterator/client.rb +121 -0
  119. data/test/CORBA_Services/Naming/BindingIterator/run_test.rb +82 -0
  120. data/test/CORBA_Services/Naming/BindingIterator/server.rb +109 -0
  121. data/test/CORBA_Services/Naming/Corbaname/Test.idl +27 -0
  122. data/test/CORBA_Services/Naming/Corbaname/client.rb +85 -0
  123. data/test/CORBA_Services/Naming/Corbaname/run_test.rb +88 -0
  124. data/test/CORBA_Services/Naming/Corbaname/server.rb +135 -0
  125. data/test/CORBA_Services/Naming/Simple/Test.idl +27 -0
  126. data/test/CORBA_Services/Naming/Simple/client.rb +84 -0
  127. data/test/CORBA_Services/Naming/Simple/run_test.rb +82 -0
  128. data/test/CORBA_Services/Naming/Simple/server.rb +109 -0
  129. data/test/Collocation/Diamond.idl +39 -0
  130. data/test/Collocation/run_test.rb +52 -0
  131. data/test/Collocation/test.rb +195 -0
  132. data/test/Connect_Timeout/Test.idl +27 -0
  133. data/test/Connect_Timeout/client.rb +111 -0
  134. data/test/Connect_Timeout/run_test.rb +52 -0
  135. data/test/DII/Test.idl +27 -0
  136. data/test/DII/client.rb +115 -0
  137. data/test/DII/run_test.rb +69 -0
  138. data/test/DII/server.rb +95 -0
  139. data/test/DSI/Test.idl +27 -0
  140. data/test/DSI/client.rb +66 -0
  141. data/test/DSI/run_test.rb +69 -0
  142. data/test/DSI/server.rb +106 -0
  143. data/test/Exceptions/Test.idl +48 -0
  144. data/test/Exceptions/client.rb +118 -0
  145. data/test/Exceptions/run_test.rb +69 -0
  146. data/test/Exceptions/server.rb +131 -0
  147. data/test/Hello/Test.idl +27 -0
  148. data/test/Hello/client.rb +78 -0
  149. data/test/Hello/run_test.rb +71 -0
  150. data/test/Hello/server.rb +95 -0
  151. data/test/IDL_Test/Test.idl +113 -0
  152. data/test/IDL_Test/Test_inc.idl +17 -0
  153. data/test/IDL_Test/client.rb +102 -0
  154. data/test/IDL_Test/run_test.rb +69 -0
  155. data/test/IDL_Test/server.rb +99 -0
  156. data/test/IORMap/Test.idl +27 -0
  157. data/test/IORMap/client.rb +73 -0
  158. data/test/IORMap/run_test.rb +69 -0
  159. data/test/IORMap/server.rb +114 -0
  160. data/test/IORTable/Test.idl +27 -0
  161. data/test/IORTable/client.rb +75 -0
  162. data/test/IORTable/run_test.rb +69 -0
  163. data/test/IORTable/server.rb +130 -0
  164. data/test/Implicit_Conversion/Test.idl +31 -0
  165. data/test/Implicit_Conversion/client.rb +110 -0
  166. data/test/Implicit_Conversion/run_test.rb +69 -0
  167. data/test/Implicit_Conversion/server.rb +99 -0
  168. data/test/Multi_Threading/Multiple_ORB/Test.idl +27 -0
  169. data/test/Multi_Threading/Multiple_ORB/client.rb +82 -0
  170. data/test/Multi_Threading/Multiple_ORB/run_test.rb +71 -0
  171. data/test/Multi_Threading/Multiple_ORB/server.rb +108 -0
  172. data/test/Multi_Threading/Simple/Test.idl +27 -0
  173. data/test/Multi_Threading/Simple/client.rb +88 -0
  174. data/test/Multi_Threading/Simple/run_test.rb +69 -0
  175. data/test/Multi_Threading/Simple/server.rb +118 -0
  176. data/test/Multi_Threading/Threads/Test.idl +31 -0
  177. data/test/Multi_Threading/Threads/client.rb +80 -0
  178. data/test/Multi_Threading/Threads/run_test.rb +76 -0
  179. data/test/Multi_Threading/Threads/server.rb +119 -0
  180. data/test/Multi_Threading/Threads/watchdog.rb +87 -0
  181. data/test/Multiple_Servant_Interfaces/Test.idl +34 -0
  182. data/test/Multiple_Servant_Interfaces/client.rb +70 -0
  183. data/test/Multiple_Servant_Interfaces/run_test.rb +69 -0
  184. data/test/Multiple_Servant_Interfaces/server.rb +102 -0
  185. data/test/Nil/Test.idl +27 -0
  186. data/test/Nil/run_test.rb +52 -0
  187. data/test/Nil/test.rb +78 -0
  188. data/test/OBV/AbstractInterface/client.rb +179 -0
  189. data/test/OBV/AbstractInterface/run_test.rb +69 -0
  190. data/test/OBV/AbstractInterface/server.rb +149 -0
  191. data/test/OBV/AbstractInterface/test.idl +53 -0
  192. data/test/OBV/Custom/OBV.idl +18 -0
  193. data/test/OBV/Custom/OBV_impl.rb +40 -0
  194. data/test/OBV/Custom/client.rb +86 -0
  195. data/test/OBV/Custom/run_test.rb +69 -0
  196. data/test/OBV/Custom/server.rb +100 -0
  197. data/test/OBV/Simple/OBV.idl +15 -0
  198. data/test/OBV/Simple/OBV_impl.rb +26 -0
  199. data/test/OBV/Simple/client.rb +86 -0
  200. data/test/OBV/Simple/run_test.rb +69 -0
  201. data/test/OBV/Simple/server.rb +100 -0
  202. data/test/OBV/Simple_Event/Event.idl +15 -0
  203. data/test/OBV/Simple_Event/Event_impl.rb +26 -0
  204. data/test/OBV/Simple_Event/client.rb +86 -0
  205. data/test/OBV/Simple_Event/run_test.rb +69 -0
  206. data/test/OBV/Simple_Event/server.rb +100 -0
  207. data/test/OBV/Supports/client.rb +116 -0
  208. data/test/OBV/Supports/run_test.rb +69 -0
  209. data/test/OBV/Supports/server.rb +103 -0
  210. data/test/OBV/Supports/supports.idl +33 -0
  211. data/test/OBV/Supports/supports_impl.rb +57 -0
  212. data/test/OBV/Tree/client.rb +116 -0
  213. data/test/OBV/Tree/run_test.rb +69 -0
  214. data/test/OBV/Tree/server.rb +117 -0
  215. data/test/OBV/Tree/test.idl +32 -0
  216. data/test/OBV/Truncatable/Extra.idl +27 -0
  217. data/test/OBV/Truncatable/Truncatable.idl +105 -0
  218. data/test/OBV/Truncatable/Truncatable_impl.rb +86 -0
  219. data/test/OBV/Truncatable/client.rb +279 -0
  220. data/test/OBV/Truncatable/run_test.rb +69 -0
  221. data/test/OBV/Truncatable/server.rb +89 -0
  222. data/test/OBV/ValueBox/client.rb +497 -0
  223. data/test/OBV/ValueBox/run_test.rb +69 -0
  224. data/test/OBV/ValueBox/server.rb +271 -0
  225. data/test/OBV/ValueBox/valuebox.idl +101 -0
  226. data/test/OBV/ValueBox/vb_basic.idl +75 -0
  227. data/test/OBV/ValueBox/vb_struct.idl +68 -0
  228. data/test/OBV/ValueBox/vb_union.idl +21 -0
  229. data/test/Object/Test.idl +27 -0
  230. data/test/Object/client.rb +103 -0
  231. data/test/Object/run_test.rb +69 -0
  232. data/test/Object/server.rb +126 -0
  233. data/test/POA/Test.idl +27 -0
  234. data/test/POA/run_test.rb +52 -0
  235. data/test/POA/test.rb +112 -0
  236. data/test/Param_Test/Test.idl +182 -0
  237. data/test/Param_Test/client.rb +277 -0
  238. data/test/Param_Test/run_test.rb +69 -0
  239. data/test/Param_Test/server.rb +296 -0
  240. data/test/Performance/Simple/Test.idl +27 -0
  241. data/test/Performance/Simple/client.rb +90 -0
  242. data/test/Performance/Simple/run_test.rb +69 -0
  243. data/test/Performance/Simple/server.rb +95 -0
  244. data/test/Policies/Test.idl +27 -0
  245. data/test/Policies/run_test.rb +52 -0
  246. data/test/Policies/test.rb +144 -0
  247. data/test/Timeout/client.rb +207 -0
  248. data/test/Timeout/run_test.rb +69 -0
  249. data/test/Timeout/server.rb +109 -0
  250. data/test/Timeout/test.idl +19 -0
  251. data/test/lib/assert.rb +43 -0
  252. data/test/lib/test.rb +542 -0
  253. data/test/test_runner.rb +193 -0
  254. metadata +334 -0
@@ -0,0 +1,56 @@
1
+ #--------------------------------------------------------------------
2
+ # Union.rb - Definition of CORBA Union class as baseclass for all
3
+ # IDL defined unions
4
+ #
5
+ # Author: Martin Corino
6
+ #
7
+ # This program is free software; you can redistribute it and/or
8
+ # modify it under the terms of the R2CORBA LICENSE which is
9
+ # included with this program.
10
+ #
11
+ # Copyright (c) Remedy IT Expertise BV
12
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
13
+ #--------------------------------------------------------------------
14
+
15
+ module R2CORBA
16
+ module CORBA
17
+ module Portable
18
+ class Union
19
+ def initialize
20
+ @discriminator = nil
21
+ @value = nil
22
+ end
23
+ def _is_at_default?
24
+ @discriminator == :default
25
+ end
26
+ def _value_tc
27
+ ix = self.class._tc.label_index(@discriminator)
28
+ self.class._tc.member_type(ix)
29
+ end
30
+ def _disc
31
+ @discriminator
32
+ end
33
+ def _disc=(val)
34
+ m_cur = self.class._tc.label_member(@discriminator) unless @discriminator.nil?
35
+ m_new = self.class._tc.label_member(val)
36
+ raise ::CORBA::BAD_PARAM.new(
37
+ "discriminator value (#{val.to_s}) outside current member for union #{self.class._tc.name}",
38
+ 1, ::CORBA::COMPLETED_NO) unless @discriminator.nil? || m_cur == m_new
39
+ disc_ = @discriminator
40
+ @discriminator = val
41
+ disc_
42
+ end
43
+ def _value
44
+ @value
45
+ end
46
+ protected
47
+ def _set_value(ix, val)
48
+ oldval = @value
49
+ @discriminator = self.class._tc.member_label(ix)
50
+ @value = val
51
+ oldval
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,92 @@
1
+ #--------------------------------------------------------------------
2
+ # Values.rb - Definition of CORBA Valuetype base classes for all
3
+ # IDL defined valuetypes
4
+ #
5
+ # Author: Martin Corino
6
+ #
7
+ # This program is free software; you can redistribute it and/or
8
+ # modify it under the terms of the R2CORBA LICENSE which is
9
+ # included with this program.
10
+ #
11
+ # Copyright (c) Remedy IT Expertise BV
12
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
13
+ #--------------------------------------------------------------------
14
+
15
+ module R2CORBA
16
+ module CORBA
17
+ module AbstractBase
18
+ Id = 'IDL:omg.org/CORBA/AbstractBase:1.0'.freeze
19
+ Ids = [Id].freeze
20
+ end
21
+
22
+ module AbstractValueBase
23
+ end
24
+
25
+ module ValueBase
26
+ def do_marshal(os)
27
+ self.marshal(os)
28
+ end
29
+
30
+ def do_unmarshal(is)
31
+ self.unmarshal(is)
32
+ end
33
+ end
34
+
35
+ class ValueFactory
36
+ end
37
+
38
+ module Portable
39
+ module BoxedValueBase
40
+ end
41
+
42
+ module CustomValueBase
43
+ def marshal(os)
44
+ raise CORBA::NO_IMPLEMENT
45
+ end
46
+ def unmarshal(is)
47
+ raise CORBA::NO_IMPLEMENT
48
+ end
49
+ end
50
+
51
+ class ValueFactoryBase < CORBA::ValueFactory
52
+ def _create_default
53
+ raise CORBA::NO_IMPLEMENT
54
+ end
55
+
56
+ def value_id
57
+ self.class.value_id # derived classes define this
58
+ end
59
+
60
+ def self.register_factory(orb)
61
+ orb.register_value_factory(self.value_id, self.new)
62
+ end
63
+
64
+ def self.get_factory(orb)
65
+ f = orb.lookup_value_factory(self.value_id)
66
+ self.register_factory(orb) if f.nil?
67
+ f || orb.lookup_value_factory(self.value_id)
68
+ end
69
+
70
+ def self.unregister_factory(orb)
71
+ orb.unregister_value_factory(self.value_id)
72
+ end
73
+ end
74
+ end # Portable
75
+
76
+ VM_NONE = 0
77
+ VM_CUSTOM = 1
78
+ VM_ABSTRACT = 2
79
+ VM_TRUNCATABLE = 3
80
+
81
+ VT_MODIFIERS = {
82
+ :none => VM_NONE,
83
+ :abstract => VM_ABSTRACT,
84
+ :truncatable => VM_TRUNCATABLE,
85
+ :custom => VM_CUSTOM
86
+ }.freeze
87
+
88
+ PRIVATE_MEMBER = 0
89
+ PUBLIC_MEMBER = 1
90
+
91
+ end # CORBA
92
+ end # R2CORBA
@@ -0,0 +1,22 @@
1
+ #--------------------------------------------------------------------
2
+ # const.rb - Common constants
3
+ #
4
+ # Author: Martin Corino
5
+ #
6
+ # This program is free software; you can redistribute it and/or
7
+ # modify it under the terms of the R2CORBA LICENSE which is
8
+ # included with this program.
9
+ #
10
+ # Copyright (c) Remedy IT Expertise BV
11
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
12
+ #--------------------------------------------------------------------
13
+ module R2CORBA
14
+ module CORBA
15
+ BIG_ENDIAN, LTL_ENDIAN = 0,1
16
+ ENDIAN = ("Ruby".unpack("i")[0] == 2036495698)? LTL_ENDIAN: BIG_ENDIAN
17
+
18
+ ARG_IN = 1
19
+ ARG_OUT = 2
20
+ ARG_INOUT = 3
21
+ end
22
+ end
@@ -0,0 +1,68 @@
1
+ #--------------------------------------------------------------------
2
+ # exception.rb - Common CORBA Exception definitions
3
+ #
4
+ # Author: Martin Corino
5
+ #
6
+ # This program is free software; you can redistribute it and/or
7
+ # modify it under the terms of the R2CORBA LICENSE which is
8
+ # included with this program.
9
+ #
10
+ # Copyright (c) Remedy IT Expertise BV
11
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
12
+ #--------------------------------------------------------------------
13
+
14
+ module R2CORBA
15
+ module CORBA
16
+ COMPLETED_YES, COMPLETED_NO, COMPLETED_MAYBE = (0..2).to_a
17
+ COMPLETED_TXT = ["YES", "NO", "MAYBE"].freeze
18
+ class Exception < StandardError
19
+ end
20
+
21
+ class UserException < CORBA::Exception
22
+ end
23
+
24
+ class InternalError < StandardError
25
+ end
26
+
27
+ class SystemException < CORBA::Exception
28
+ private_class_method :new
29
+ attr_accessor :minor, :completed
30
+ def reason
31
+ self.message
32
+ end
33
+ def to_s
34
+ "CORBA::#{self.class::Name}(#{super}) [minor=#{@minor};completed=#{COMPLETED_TXT[@completed.to_i]}]"
35
+ end
36
+ end
37
+
38
+ def CORBA.define_system_exception(name)
39
+ self.module_eval %Q^
40
+ class #{name} < SystemException
41
+ public_class_method :new
42
+ def initialize(*args)
43
+ super(*args)
44
+ end
45
+ Id = "IDL:omg.org/CORBA/#{name}:1.0"
46
+ Name = "#{name}"
47
+ def self._tc
48
+ @@tc_ ||= TypeCode::SysExcept.new(self::Id, self::Name)
49
+ end
50
+ end
51
+ ^
52
+ end
53
+
54
+ # SystemException derivatives
55
+ [
56
+ 'UNKNOWN', 'BAD_PARAM', 'NO_MEMORY', 'IMP_LIMIT', 'COMM_FAILURE', 'INV_OBJREF',
57
+ 'OBJECT_NOT_EXIST', 'NO_PERMISSION', 'INTERNAL', 'MARSHAL', 'INITIALIZE', 'NO_IMPLEMENT',
58
+ 'BAD_TYPECODE', 'BAD_OPERATION', 'NO_RESOURCES', 'NO_RESPONSE', 'PERSIST_STORE',
59
+ 'BAD_INV_ORDER', 'TRANSIENT', 'FREE_MEM', 'INV_IDENT', 'INV_FLAG', 'INTF_REPOS', 'BAD_CONTEXT',
60
+ 'OBJ_ADAPTER', 'DATA_CONVERSION', 'INV_POLICY', 'REBIND', 'TIMEOUT',
61
+ 'TRANSACTION_UNAVAILABLE', 'TRANSACTION_MODE', 'TRANSACTION_REQUIRED', 'TRANSACTION_ROLLEDBACK',
62
+ 'INVALID_TRANSACTION', 'CODESET_INCOMPATIBLE', 'BAD_QOS', 'INVALID_ACTIVITY',
63
+ 'ACTIVITY_COMPLETED', 'ACTIVITY_REQUIRED', 'THREAD_CANCELLED'
64
+ ].each do |s|
65
+ define_system_exception(s)
66
+ end
67
+ end # CORBA
68
+ end # R2CORBA
@@ -0,0 +1,27 @@
1
+ #--------------------------------------------------------------------
2
+ # require.rb - R2CORBA loader
3
+ #
4
+ # Author: Martin Corino
5
+ #
6
+ # This program is free software; you can redistribute it and/or
7
+ # modify it under the terms of the R2CORBA LICENSE which is
8
+ # included with this program.
9
+ #
10
+ # Copyright (c) Remedy IT Expertise BV
11
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
12
+ #--------------------------------------------------------------------
13
+
14
+ [ 'version',
15
+ 'const',
16
+ 'IDL',
17
+ 'exception',
18
+ 'Stub',
19
+ 'Struct',
20
+ 'Union',
21
+ 'Typecode',
22
+ 'Values',
23
+ 'Any',
24
+ 'Object',
25
+ 'ORB',
26
+ 'Request'
27
+ ].each { |f| require "corba/common/#{f}.rb" }
@@ -0,0 +1,22 @@
1
+ #--------------------------------------------------------------------
2
+ # version.rb - R2CORBA version constants
3
+ #
4
+ # Author: Martin Corino
5
+ #
6
+ # This program is free software; you can redistribute it and/or
7
+ # modify it under the terms of the R2CORBA LICENSE which is
8
+ # included with this program.
9
+ #
10
+ # Copyright (c) Remedy IT Expertise BV
11
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
12
+ #--------------------------------------------------------------------
13
+
14
+ module R2CORBA
15
+
16
+ R2CORBA_MAJOR = 1.freeze
17
+ R2CORBA_MINOR = 4.freeze
18
+ R2CORBA_RELEASE = '1'.freeze
19
+
20
+ R2CORBA_VERSION = "#{R2CORBA_MAJOR}.#{R2CORBA_MINOR}.#{R2CORBA_RELEASE}".freeze
21
+
22
+ end
@@ -0,0 +1,21 @@
1
+ #--------------------------------------------------------------------
2
+ # IDL.rb - R2CORBA inline IDL support
3
+ #
4
+ # Author: Martin Corino
5
+ #
6
+ # This program is free software; you can redistribute it and/or
7
+ # modify it under the terms of the R2CORBA LICENSE which is
8
+ # included with this program.
9
+ #
10
+ # Copyright (c) Remedy IT Expertise BV
11
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
12
+ #--------------------------------------------------------------------
13
+ module R2CORBA
14
+
15
+ module CORBA
16
+ def CORBA.implement(idlfile, params={}, genbits = IDL::CLIENT_STUB, &block)
17
+ IDL.implement(idlfile, params, genbits, &block)
18
+ end
19
+ end
20
+
21
+ end
@@ -0,0 +1,62 @@
1
+ // -*- IDL -*-
2
+ // $Id$
3
+
4
+ #ifndef R2TAO_IORTABLE_IORTABLE_PIDL
5
+ #define R2TAO_IORTABLE_IORTABLE_PIDL
6
+
7
+ /// Define a module to avoid namespace pollution
8
+ module IORTable
9
+ {
10
+ local interface Locator;
11
+
12
+ /// The object key is already in the IORTable
13
+ exception AlreadyBound {};
14
+
15
+ /// Cannot find the object key in the IORTable
16
+ exception NotFound {};
17
+
18
+ /// Define the IORTable interface
19
+ /**
20
+ *
21
+ * Any TAO server can be configured as an corbaloc agent.
22
+ * Such agents forward requests generated using a simple
23
+ * ObjectKey in a corbaloc specifcation to the real location
24
+ * of the object.
25
+ * In TAO we implement this feature by dynamically (or
26
+ * statically) adding a new Object Adapter to the ORB, that
27
+ * handles any sort of request.
28
+ */
29
+ local interface Table
30
+ {
31
+ /// Bind @a object_key to the @a IOR
32
+ void bind (in string object_key,
33
+ in string IOR)
34
+ raises (AlreadyBound);
35
+
36
+ /// Bind @a object_key to the @a IOR
37
+ void rebind (in string object_key,
38
+ in string IOR);
39
+
40
+ /// Remove the binding for @a object_key
41
+ void unbind (in string object_key)
42
+ raises (NotFound);
43
+
44
+ /// Set the locator, if no binding is set for an object_key we try
45
+ /// to use the locator to resolve it
46
+ void set_locator (in Locator the_locator);
47
+ };
48
+
49
+ /// Callback interface to locate object keys dynamically
50
+ /**
51
+ * The application can provide a callback interface to locate object
52
+ * keys dynamically.
53
+ */
54
+ local interface Locator
55
+ {
56
+ /// Returns an IOR to use for @a object_key
57
+ string locate (in string object_key)
58
+ raises (NotFound);
59
+ };
60
+ };
61
+
62
+ #endif /* R2TAO_IORTABLE_IORTABLE_PIDL */
@@ -0,0 +1,46 @@
1
+ // -*- IDL -*-
2
+ // $Id$
3
+
4
+ #ifndef R2TAO_TAO_EXT_IDL
5
+ #define R2TAO_TAO_EXT_IDL
6
+
7
+ #include "TimeBase.pidl"
8
+
9
+ #pragma prefix "tao"
10
+
11
+ module TAO
12
+ {
13
+ const CORBA::PolicyType CONNECTION_TIMEOUT_POLICY_TYPE = 0x54410008;
14
+
15
+ local interface ConnectionTimeoutPolicy : CORBA::Policy {
16
+ readonly attribute TimeBase::TimeT relative_expiry;
17
+ };
18
+
19
+ //
20
+ // Buffering constraint.
21
+ //
22
+ typedef unsigned short BufferingConstraintMode;
23
+ const BufferingConstraintMode BUFFER_FLUSH = 0x00;
24
+
25
+ // Note that timeout, message_count, and message_bytes can be or'd.
26
+ const BufferingConstraintMode BUFFER_TIMEOUT = 0x01;
27
+ const BufferingConstraintMode BUFFER_MESSAGE_COUNT = 0x02;
28
+ const BufferingConstraintMode BUFFER_MESSAGE_BYTES = 0x04;
29
+
30
+ struct BufferingConstraint
31
+ {
32
+ BufferingConstraintMode mode;
33
+ TimeBase::TimeT timeout;
34
+ unsigned long message_count;
35
+ unsigned long message_bytes;
36
+ };
37
+
38
+ const CORBA::PolicyType BUFFERING_CONSTRAINT_POLICY_TYPE = 0x54410001;
39
+
40
+ local interface BufferingConstraintPolicy : CORBA::Policy
41
+ {
42
+ readonly attribute BufferingConstraint buffering_constraint;
43
+ };
44
+ };
45
+
46
+ #endif /* TAO_TAO_EXT_IDL */
@@ -0,0 +1,20 @@
1
+ #--------------------------------------------------------------------
2
+ # require.rb - R2CORBA loader
3
+ #
4
+ # Author: Martin Corino
5
+ #
6
+ # This program is free software; you can redistribute it and/or
7
+ # modify it under the terms of the R2CORBA LICENSE which is
8
+ # included with this program.
9
+ #
10
+ # Copyright (c) Remedy IT Expertise BV
11
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
12
+ #--------------------------------------------------------------------
13
+
14
+ require 'corba/idl/IDL.rb'
15
+ require 'corba/idl/r2c_orb.rb'
16
+
17
+ ## fake Ruby into believing 'orb.rb' has already been loaded
18
+ ## which is what the IDL compiler will generate for
19
+ ## '#include "orb.idl"'
20
+ $" << 'orb.rb'