orb.idl 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306
  1. //
  2. // %Z%%W% %I%
  3. // ===========================================================================
  4. // Licensed Materials - Property of IBM
  5. // "Restricted Materials of IBM"
  6. //
  7. // IBM Object Request Broker Edition, 2.00
  8. // (C) Copyright IBM Corp. 1998, 2015. All Rights Reserved
  9. //
  10. // US Government Users Restricted Rights - Use, duplication or disclosure
  11. // restricted by GSA ADP Schedule Contract with IBM Corp.
  12. // ===========================================================================
  13. //
  14. //Updated: December 1999
  15. //This file contains OMG IDL from CORBA V2.3 December 1999
  16. //
  17. // OMG IDL from Chapters 1 through 15 CORBA module
  18. //
  19. // Post CORBA 2.3 changes from core RTF bracketed
  20. // in #ifdef CORBA_2_5 ... #endif
  21. //
  22. // Stuff from Messaging specification are bracketed
  23. // in #ifdef CORBA3 ... #endif
  24. #ifndef _ORB_IDL_
  25. #define _ORB_IDL_
  26. #pragma prefix "omg.org"
  27. #include "ir.idl" //ibm@10071 moved up top to remove duplicate decls
  28. module CORBA {
  29. // Chapter 3/4 OMG IDL Syntax and Semantics
  30. const unsigned long OMGVMCID = 0x4f4d0000;
  31. // Chapter 4 ORB Interface
  32. exception WrongTransaction {};
  33. interface OperationDef; // forward declaration
  34. typedef short PolicyErrorCode;
  35. // for the definition of consts see "PolicyErrorCode" on page 4-22
  36. // Not yet supported native AbstractBase;
  37. exception PolicyError {PolicyErrorCode reason;};
  38. //typedef string RepositoryId; //ibm@10071 duplicate decls removed, now in ir.idl only
  39. //typedef string Identifier; //ibm@10071
  40. // StructMemberSeq defined in Chapter 10
  41. // UnionMemberSeq defined in Chapter 10
  42. // EnumMemberSeq defined in Chapter 10
  43. typedef unsigned short ServiceType;
  44. typedef unsigned long ServiceOption;
  45. typedef unsigned long ServiceDetailType;
  46. const ServiceType Security = 1;
  47. struct ServiceDetail {
  48. ServiceDetailType service_detail_type;
  49. sequence <octet> service_detail;
  50. };
  51. struct ServiceInformation {
  52. sequence <ServiceOption> service_options;
  53. sequence <ServiceDetail> service_details;
  54. };
  55. // Not yet supported native ValueFactory;
  56. interface DomainManager; // forward declaration
  57. typedef sequence <DomainManager> DomainManagersList;
  58. interface Policy; // forward declaration
  59. typedef sequence <Policy> PolicyList;
  60. typedef unsigned long PolicyType;
  61. #ifdef CORBA3
  62. typedef sequence <PolicyType> PolicyTypeSeq;
  63. exception InvalidPolicies { seqeunce <unsigned short> indices;};
  64. #endif // CORBA3
  65. typedef unsigned long Flags;
  66. struct NamedValue {
  67. Identifier name; // argument name
  68. any argument; // argument
  69. long len; // length/count of argument value
  70. Flags arg_modes; // argument mode flags
  71. };
  72. interface InterfaceDef;
  73. enum SetOverrideType {SET_OVERRIDE, ADD_OVERRIDE};
  74. // interface for the Current object
  75. interface Current {};
  76. // Basic IDL definition
  77. interface Policy {
  78. readonly attribute PolicyType policy_type;
  79. Policy copy();
  80. void destroy();
  81. };
  82. // typedef short PolicyErrorCode;
  83. const PolicyErrorCode BAD_POLICY = 0;
  84. const PolicyErrorCode UNSUPPORTED_POLICY = 1;
  85. const PolicyErrorCode BAD_POLICY_TYPE = 2;
  86. const PolicyErrorCode BAD_POLICY_VALUE = 3;
  87. const PolicyErrorCode UNSUPPORTED_POLICY_VALUE = 4;
  88. // exception PolicyError {PolicyErrorCode reason;};
  89. interface DomainManager {
  90. Policy get_domain_policy (
  91. in PolicyType policy_type
  92. );
  93. };
  94. const PolicyType SecConstruction = 11;
  95. interface ConstructionPolicy: Policy {
  96. void make_domain_manager(
  97. in CORBA::InterfaceDef object_type,
  98. in boolean constr_policy
  99. );
  100. };
  101. // Chapter 5 Value Type Semantics
  102. valuetype StringValue string;
  103. valuetype WStringValue wstring;
  104. // Not yet supported native ValueFactory;
  105. typedef sequence<any> AnySeq;
  106. typedef sequence<boolean> BooleanSeq;
  107. typedef sequence<char> CharSeq;
  108. typedef sequence<wchar> WCharSeq;
  109. typedef sequence<octet> OctetSeq;
  110. typedef sequence<short> ShortSeq;
  111. typedef sequence<unsigned short> UShortSeq;
  112. typedef sequence<long> LongSeq;
  113. typedef sequence<unsigned long> ULongSeq;
  114. typedef sequence<long long> LongLongSeq;
  115. typedef sequence<unsigned long long> ULongLongSeq;
  116. typedef sequence<float> FloatSeq;
  117. typedef sequence<double> DoubleSeq;
  118. #ifdef CORERTF_2_5
  119. // Not yet supported typedef sequence<long double> LongDoubleSeq;
  120. #endif
  121. abstract valuetype DataOutputStream {
  122. void write_any (in any value);
  123. void write_boolean (in boolean value);
  124. void write_char (in char value);
  125. void write_wchar (in wchar value);
  126. void write_octet (in octet value);
  127. void write_short (in short value);
  128. void write_ushort (in unsigned short value);
  129. void write_long (in long value);
  130. void write_ulong (in unsigned long value);
  131. void write_longlong (in long long value);
  132. void write_ulonglong (in unsigned long long value);
  133. void write_float (in float value);
  134. void write_double (in double value);
  135. // Not yet supported void write_longdouble (in long double value);
  136. void write_string (in string value);
  137. void write_wstring (in wstring value);
  138. void write_Object (in Object value);
  139. // Not yet supported void write_Abstract (in AbstractBase value);
  140. void write_Value (in ValueBase value);
  141. void write_TypeCode (in TypeCode value);
  142. void write_any_array( in AnySeq seq,
  143. in unsigned long offset,
  144. in unsigned long length);
  145. void write_boolean_array( in BooleanSeq seq,
  146. in unsigned long offset,
  147. in unsigned long length);
  148. void write_char_array( in CharSeq seq,
  149. in unsigned long offset,
  150. in unsigned long length);
  151. void write_wchar_array( in WCharSeq seq,
  152. in unsigned long offset,
  153. in unsigned long length);
  154. void write_octet_array( in OctetSeq seq,
  155. in unsigned long offset,
  156. in unsigned long length);
  157. void write_short_array( in ShortSeq seq,
  158. in unsigned long offset,
  159. in unsigned long length);
  160. void write_ushort_array( in UShortSeq seq,
  161. in unsigned long offset,
  162. in unsigned long length);
  163. void write_long_array( in LongSeq seq,
  164. in unsigned long offset,
  165. in unsigned long length);
  166. void write_ulong_array( in ULongSeq seq,
  167. in unsigned long offset,
  168. in unsigned long length);
  169. void write_ulonglong_array( in ULongLongSeq seq,
  170. in unsigned long offset,
  171. in unsigned long length);
  172. void write_longlong_array( in LongLongSeq seq,
  173. in unsigned long offset,
  174. in unsigned long length);
  175. void write_float_array( in FloatSeq seq,
  176. in unsigned long offset,
  177. in unsigned long length);
  178. void write_double_array( in DoubleSeq seq,
  179. in unsigned long offset,
  180. in unsigned long length);
  181. #ifdef CORERTF_2_5
  182. void write_long_double_array( in LongDoubleSeq seq,
  183. in unsigned long offset,
  184. in unsigned long length);
  185. #endif
  186. };
  187. abstract valuetype DataInputStream {
  188. any read_any();
  189. boolean read_boolean();
  190. char read_char();
  191. wchar read_wchar();
  192. octet read_octet();
  193. short read_short();
  194. unsigned short read_ushort();
  195. long read_long();
  196. unsigned long read_ulong();
  197. long long read_longlong();
  198. unsigned long long read_ulonglong();
  199. float read_float();
  200. double read_double();
  201. // Not yet supported long double read_longdouble();
  202. string read_string();
  203. wstring read_wstring();
  204. Object read_Object();
  205. // Not yet supported AbstractBase read_Abstract();
  206. ValueBase read_Value();
  207. TypeCode read_TypeCode();
  208. void read_any_array( inout AnySeq seq,
  209. in unsigned long offset,
  210. in unsigned long length);
  211. void read_boolean_array( inout BooleanSeq seq,
  212. in unsigned long offset,
  213. in unsigned long length);
  214. void read_char_array( inout CharSeq seq,
  215. in unsigned long offset,
  216. in unsigned long length);
  217. void read_wchar_array( inout WCharSeq seq,
  218. in unsigned long offset,
  219. in unsigned long length);
  220. void read_octet_array( inout OctetSeq seq,
  221. in unsigned long offset,
  222. in unsigned long length);
  223. void read_short_array( inout ShortSeq seq,
  224. in unsigned long offset,
  225. in unsigned long length);
  226. void read_ushort_array( inout UShortSeq seq,
  227. in unsigned long offset,
  228. in unsigned long length);
  229. void read_long_array( inout LongSeq seq,
  230. in unsigned long offset,
  231. in unsigned long length);
  232. void read_ulong_array( inout ULongSeq seq,
  233. in unsigned long offset,
  234. in unsigned long length);
  235. void read_ulonglong_array( inout ULongLongSeq seq,
  236. in unsigned long offset,
  237. in unsigned long length);
  238. void read_longlong_array( inout LongLongSeq seq,
  239. in unsigned long offset,
  240. in unsigned long length);
  241. void read_float_array( inout FloatSeq seq,
  242. in unsigned long offset,
  243. in unsigned long length);
  244. void read_double_array( inout DoubleSeq seq,
  245. in unsigned long offset,
  246. in unsigned long length);
  247. #ifdef CORERTF_2_5
  248. void read_long_double_array( inout LongDoubleSeq seq,
  249. in unsigned long offset,
  250. in unsigned long length);
  251. #endif
  252. };
  253. abstract valuetype CustomMarshal {
  254. void marshal (in DataOutputStream os);
  255. void unmarshal (in DataInputStream is);
  256. };
  257. // Chapter 7 Dynamic Invocation Interface
  258. // Not yet supported native OpaqueValue;
  259. };
  260. //ibm@10071 include ir.idl moved to top of module
  261. #pragma prefix ""
  262. #endif // _ORB_IDL_