home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / omgidl.zip / orb.idl < prev   
Text File  |  2002-09-04  |  9KB  |  293 lines

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