// File CORBA_ORB.idl // CORBA 3.0, Chapter 4 # if ! defined(CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO) typedef sequence RequestSeq; # endif # if ! defined(CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO) native AbstractBase; # endif typedef unsigned short ServiceType; typedef unsigned long ServiceOption; typedef unsigned long ServiceDetailType; const ServiceType Security = 1; struct ServiceDetail { ServiceDetailType service_detail_type; sequence service_detail; }; struct ServiceInformation { sequence service_options; sequence service_details; }; # if ! defined (CORBA_E_MICRO) native ValueFactory; # endif typedef string ORBid; interface ORB { // PIDL typedef string ObjectId; typedef sequence ObjectIdList; exception InvalidName {}; ORBid id(); string object_to_string ( in Object obj ); Object string_to_object ( in string str ); # if ! defined(CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO) // Dynamic Invocation related operations void create_list ( in long count, out NVList new_list ); void create_operation_list ( in OperationDef oper, out NVList new_list ); void get_default_context ( out Context ctx ); void send_multiple_requests_oneway( in RequestSeq req ); void send_multiple_requests_deferred( in RequestSeq req ); boolean poll_next_response(); void get_next_response( out Request req ) raises (WrongTransaction); # endif // Service information operations boolean get_service_information ( in ServiceType service_type, out ServiceInformation service_information ); ObjectIdList list_initial_services (); // Initial reference operation Object resolve_initial_references ( in ObjectId identifier ) raises (InvalidName); # if ! defined(CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO) // Type code creation operations TypeCode create_struct_tc ( in RepositoryId id, in Identifier name, in StructMemberSeq members ); TypeCode create_union_tc ( in RepositoryId id, in Identifier name, in TypeCode discriminator_type, in UnionMemberSeq members ); TypeCode create_enum_tc ( in RepositoryId id, in Identifier name, in EnumMemberSeq members ); TypeCode create_alias_tc ( in RepositoryId id, in Identifier name, in TypeCode original_type ); TypeCode create_exception_tc ( in RepositoryId id, in Identifier name, in StructMemberSeq members ); TypeCode create_interface_tc ( in RepositoryId id, in Identifier name ); TypeCode create_string_tc ( in unsigned long bound ); TypeCode create_wstring_tc ( in unsigned long bound ); TypeCode create_fixed_tc ( in unsigned short digits, in short scale ); TypeCode create_sequence_tc ( in unsigned long bound, in TypeCode element_type ); TypeCode create_recursive_sequence_tc( // deprecated in unsigned long bound, in unsigned long offset ); TypeCode create_array_tc ( in unsigned long length, in TypeCode element_type ); TypeCode create_value_tc ( in RepositoryId id, in Identifier name, in ValueModifier type_modifier, in TypeCode concrete_base, in ValueMemberSeq members ); TypeCode create_value_box_tc ( in RepositoryId id, in Identifier name, in TypeCode boxed_type ); TypeCode create_native_tc ( in RepositoryId id, in Identifier name ); TypeCode create_recursive_tc( in RepositoryId id ); TypeCode create_abstract_interface_tc( in RepositoryId id, in Identifier name ); TypeCode create_local_interface_tc( in RepositoryId id, in Identifier name ); TypeCode create_component_tc ( in RepositoryId id, in Identifier name ); TypeCode create_home_tc ( in RepositoryId id, in Identifier name ); TypeCode create_event_tc ( in RepositoryId id, in Identifier name, in ValueModifier type_modifier, in TypeCode concrete_base, in ValueMemberSeq members ); # endif // Thread related operations boolean work_pending( ); void perform_work(); void run(); void shutdown( in boolean wait_for_completion ); void destroy(); // Policy related operations # if ! defined (CORBA_E_MICRO) Policy create_policy( in PolicyType type, in any val ) raises (PolicyError); # endif // Dynamic Any related operations deprecated and removed // from primary list of ORB operations # if ! defined (CORBA_E_MICRO) // Value factory operations ValueFactory register_value_factory( in RepositoryId id, in ValueFactory _factory ); void unregister_value_factory( in RepositoryId id); ValueFactory lookup_value_factory( in RepositoryId id); void register_initial_reference( in ObjectId id, in Object obj ) raises (InvalidName); # endif };