// File CORBA_ORB.idl // CORBA 3.0, Chapter 4 typedef sequence RequestSeq; native AbstractBase; typedef unsigned short ServiceType; typedef unsigned long ServiceOption; typedef unsigned long ServiceDetailType; typedef CORBA::OctetSeq ServiceDetailData; typedef sequence ServiceOptionSeq; const ServiceType Security = 1; struct ServiceDetail { ServiceDetailType service_detail_type; ServiceDetailData service_detail; }; typedef sequence ServiceDetailSeq; struct ServiceInformation { ServiceOptionSeq service_options; ServiceDetailSeq service_details; }; native ValueFactory; typedef string ORBid; exception WrongTransaction {}; 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 ); // 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); // 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); // 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 ); // Thread related operations boolean work_pending( ); void perform_work(); void run(); void shutdown( in boolean wait_for_completion ); void destroy(); // Policy related operations Policy create_policy( in PolicyType type, in any val ) raises (PolicyError); // Dynamic Any related operations deprecated and removed // from primary list of ORB operations // 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); // Portable Interceptor related operations void register_initial_reference( in ObjectId id, in Object obj ) raises (InvalidName); };