#include <ORB.h>
The "ORB" pseudo-object is used in bootstrapping, such as to create object references from strings. This class is intended to be inherited by others, which will provide some more of the CORBA support. Implementations of this "CORBA::ORB" class must know how to create stringify/destringify their objrefs, as well as how to marshal and unmarshal them.
typedef char* CORBA::ORB::ObjectId |
typedef CORBA::ORB_ObjectIdList CORBA::ORB::ObjectIdList |
typedef CORBA::ORB_ObjectIdList* CORBA::ORB::ObjectIdList_ptr |
typedef ORB_ptr CORBA::ORB::_ptr_type |
typedef ORB_var CORBA::ORB::_var_type |
typedef ORB_out CORBA::ORB::_out_type |
CORBA::ORB::ORB | ( | TAO_ORB_Core * | orb_core | ) | [protected] |
CORBA::ORB::~ORB | ( | void | ) | [protected] |
Destructor.
Protected destructor to enforce proper memory management through the reference counting mechanism.
CORBA::ORB::ORB | ( | const ORB & | ) | [private] |
ACE_INLINE CORBA::ORB_ptr CORBA::ORB::_duplicate | ( | CORBA::ORB_ptr | orb | ) | [static] |
Return a duplicate of orb
.
When work with this duplicate is complete, it should be freed up using CORBA::release().
ACE_INLINE CORBA::ORB_ptr CORBA::ORB::_nil | ( | void | ) | [static] |
char * CORBA::ORB::id | ( | void | ) |
Return this ORB's ORBid.
CORBA::Object_ptr CORBA::ORB::string_to_object | ( | const char * | str | ) |
Turn a string-ified object reference back into an object pointer. Typically these strings are created using object_to_string(), but not necessarily locally.
char * CORBA::ORB::object_to_string | ( | CORBA::Object_ptr | obj | ) |
Turn an object reference into a string. Each type of ORB, e.g. an IIOP ORB, must implement this. This can be used by servers to publish their whereabouts to clients. The output of this is typically eventually given to string_to_object()
as an argument.
CORBA::ValueFactory CORBA::ORB::register_value_factory | ( | const char * | repository_id, | |
CORBA::ValueFactory | factory | |||
) |
void CORBA::ORB::unregister_value_factory | ( | const char * | repository_id | ) |
CORBA::ValueFactory CORBA::ORB::lookup_value_factory | ( | const char * | repository_id | ) |
void CORBA::ORB::create_list | ( | CORBA::Long | count, | |
CORBA::NVList_ptr & | new_list | |||
) |
void CORBA::ORB::create_operation_list | ( | CORBA::OperationDef_ptr | opDef, | |
CORBA::NVList_ptr & | result | |||
) |
void CORBA::ORB::create_named_value | ( | CORBA::NamedValue_ptr & | nmval | ) |
void CORBA::ORB::create_exception_list | ( | CORBA::ExceptionList_ptr & | exclist | ) |
void CORBA::ORB::create_environment | ( | CORBA::Environment_ptr & | new_env | ) |
void CORBA::ORB::create_context_list | ( | CORBA::ContextList_ptr & | ctxtlist | ) |
void CORBA::ORB::get_default_context | ( | CORBA::Context_ptr & | ctx | ) |
CORBA::Boolean CORBA::ORB::get_service_information | ( | CORBA::ServiceType | service_type, | |
CORBA::ServiceInformation_out | service_information | |||
) |
void CORBA::ORB::send_multiple_requests_oneway | ( | const CORBA::RequestSeq & | req | ) |
void CORBA::ORB::send_multiple_requests_deferred | ( | const CORBA::RequestSeq & | req | ) |
void CORBA::ORB::get_next_response | ( | CORBA::Request_ptr & | req | ) |
CORBA::Boolean CORBA::ORB::poll_next_response | ( | void | ) |
CORBA::TypeCode_ptr CORBA::ORB::create_struct_tc | ( | const char * | id, | |
const char * | name, | |||
const CORBA::StructMemberSeq & | members | |||
) |
The ORB TypeCode creation functions.
CORBA::TypeCode_ptr CORBA::ORB::create_union_tc | ( | const char * | id, | |
const char * | name, | |||
CORBA::TypeCode_ptr | discriminator_type, | |||
const CORBA::UnionMemberSeq & | members | |||
) |
CORBA::TypeCode_ptr CORBA::ORB::create_enum_tc | ( | const char * | id, | |
const char * | name, | |||
const CORBA::EnumMemberSeq & | members | |||
) |
CORBA::TypeCode_ptr CORBA::ORB::create_alias_tc | ( | const char * | id, | |
const char * | name, | |||
CORBA::TypeCode_ptr | original_type | |||
) |
CORBA::TypeCode_ptr CORBA::ORB::create_exception_tc | ( | const char * | id, | |
const char * | name, | |||
const CORBA::StructMemberSeq & | members | |||
) |
CORBA::TypeCode_ptr CORBA::ORB::create_interface_tc | ( | const char * | id, | |
const char * | name | |||
) |
CORBA::TypeCode_ptr CORBA::ORB::create_string_tc | ( | CORBA::ULong | bound | ) |
CORBA::TypeCode_ptr CORBA::ORB::create_wstring_tc | ( | CORBA::ULong | bound | ) |
CORBA::TypeCode_ptr CORBA::ORB::create_fixed_tc | ( | CORBA::UShort | digits, | |
CORBA::UShort | scale | |||
) |
CORBA::TypeCode_ptr CORBA::ORB::create_sequence_tc | ( | CORBA::ULong | bound, | |
CORBA::TypeCode_ptr | element_type | |||
) |
CORBA::TypeCode_ptr CORBA::ORB::create_array_tc | ( | CORBA::ULong | length, | |
CORBA::TypeCode_ptr | element_type | |||
) |
CORBA::TypeCode_ptr CORBA::ORB::create_value_tc | ( | const char * | id, | |
const char * | name, | |||
CORBA::ValueModifier | type_modifier, | |||
CORBA::TypeCode_ptr | concrete_base, | |||
const CORBA::ValueMemberSeq & | members | |||
) |
CORBA::TypeCode_ptr CORBA::ORB::create_value_box_tc | ( | const char * | id, | |
const char * | name, | |||
CORBA::TypeCode_ptr | boxed_type | |||
) |
CORBA::TypeCode_ptr CORBA::ORB::create_native_tc | ( | const char * | id, | |
const char * | name | |||
) |
CORBA::TypeCode_ptr CORBA::ORB::create_recursive_tc | ( | const char * | id | ) |
CORBA::TypeCode_ptr CORBA::ORB::create_abstract_interface_tc | ( | const char * | id, | |
const char * | name | |||
) |
CORBA::TypeCode_ptr CORBA::ORB::create_local_interface_tc | ( | const char * | id, | |
const char * | name | |||
) |
CORBA::TypeCode_ptr CORBA::ORB::create_component_tc | ( | const char * | id, | |
const char * | name | |||
) |
CORBA::TypeCode_ptr CORBA::ORB::create_home_tc | ( | const char * | id, | |
const char * | name | |||
) |
CORBA::TypeCode_ptr CORBA::ORB::create_event_tc | ( | const char * | id, | |
const char * | name, | |||
CORBA::ValueModifier | type_modifier, | |||
CORBA::TypeCode_ptr | concrete_base, | |||
const CORBA::ValueMemberSeq & | members | |||
) |
void CORBA::ORB::run | ( | void | ) |
void CORBA::ORB::run | ( | ACE_Time_Value & | tv | ) |
Instructs the ORB to initialize itself and run its event loop in the current thread, not returning until the ORB has shut down or the time value specified through tv has expired. If an error occurs during initialization or at runtime, a CORBA system exception will be thrown. tv is reduced by the amount of time spent in this call.
If this function is called with a @ tv value, client threads making invocations will continue their operations. When the operation timesout and returns, any invocations showing up on the server will be buffered by TCP.
void CORBA::ORB::run | ( | ACE_Time_Value * | tv | ) |
Instructs the ORB to initialize itself and run its event loop in the current thread, not returning until the ORB has shut down or the time value specified through tv has expired. If an error occurs during initialization or at runtime, a CORBA system exception will be thrown. tv is reduced by the amount of time spent in this call. If tv is 0, it means that the timeout is infinite. If tv is ACE_Time_Value::zero
, it specifies to poll and does not block.
If this function is called with tv value, client threads making invocations will continue their operations. When the operation times out and returns, any invocations showing up on the server will be buffered by TCP.
CORBA::Boolean CORBA::ORB::work_pending | ( | void | ) |
Returns an indication of whether the ORB needs to perform some work.
CORBA::Boolean CORBA::ORB::work_pending | ( | ACE_Time_Value & | tv | ) |
Returns an indication of whether the ORB needs to perform some work but will look for work pending for no more than the specified time.
void CORBA::ORB::perform_work | ( | void | ) |
This operation performs an implementation-defined unit of work. Note that the default behavior is to block if the unit of work is not present; this behavior can be modified by passing an appropriate ACE_Time_Value
as described in run().
void CORBA::ORB::perform_work | ( | ACE_Time_Value & | tv | ) |
void CORBA::ORB::perform_work | ( | ACE_Time_Value * | tv | ) |
void CORBA::ORB::shutdown | ( | CORBA::Boolean | wait_for_completion = false |
) |
This operation instructs the ORB to shut down. Shutting down the ORB causes all Object Adapters to be shut down. If wait_for_completion
parameter is TRUE, this operation blocks until all ORB processing (including request processing and object deactivation or other operations associated with object adapters) has completed.
void CORBA::ORB::destroy | ( | void | ) |
Explicitly destroy the ORB, releasing any resources. Note that TAO *cannot* implicitly release the resources even if you have destroyed all the references to a particular ORB since CORBA::ORB_init() is required to return the same pointer if called with the same ORBid, only after ORB::destroy() is called it may return a new one.
The results of multi-threaded applications, trying to destroy () the ORB in one thread and trying to service a request in another thread are not well defined. TAO does not support such cases.
CORBA::Object_ptr CORBA::ORB::resolve_initial_references | ( | const char * | name, | |
ACE_Time_Value * | timeout = 0 | |||
) |
This method acts as a mini-bootstrapping Naming Service, which is provided by the ORB for certain well-known object references. TAO supports the "NameService", "TradingService", "RootPOA", "ImplRepo", and "POACurrent" via this method. The timeout
value bounds the amount of time the ORB blocks waiting to resolve the service. This is most useful for bootstrapping remote services, such as the "NameService" or "TradingService", that are commonly resolved via multicast. By default, the value is 0, which means "use the TAO_DEFAULT_SERVICE_RESOLUTION_TIMEOUT
timeout period".
timeout
parameter, TAO will remains compliant with the CORBA resolve_initial_references() specification. void CORBA::ORB::register_initial_reference | ( | const char * | id, | |
CORBA::Object_ptr | obj | |||
) |
Register an object reference with the ORB.
CORBA::ORB::ObjectIdList_ptr CORBA::ORB::list_initial_services | ( | void | ) |
Returns a sequence of ObjectIds that lists which objects have references available via the initial references mechanism.
CORBA::Policy_ptr CORBA::ORB::create_policy | ( | CORBA::PolicyType | type, | |
const CORBA::Any & | val | |||
) |
CORBA::Policy_ptr CORBA::ORB::_create_policy | ( | CORBA::PolicyType | type | ) |
Create an empty policy, usually to be filled in later by demarshaling.
ACE_INLINE unsigned long CORBA::ORB::_incr_refcnt | ( | void | ) |
ACE_INLINE unsigned long CORBA::ORB::_decr_refcnt | ( | void | ) |
ACE_INLINE void CORBA::ORB::_use_omg_ior_format | ( | CORBA::Boolean | ior | ) |
Set the IOR flag.
ACE_INLINE CORBA::Boolean CORBA::ORB::_use_omg_ior_format | ( | void | ) |
Get the IOR flag.
ACE_INLINE TAO_ORB_Core * CORBA::ORB::orb_core | ( | void | ) | const |
Get the ORB core.
CORBA::ORB_ptr CORBA::ORB::_tao_make_ORB | ( | TAO_ORB_Core * | orb_core | ) | [static] |
Factory method that creates an ORB.
TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE ACE_Time_Value * CORBA::ORB::get_timeout | ( | void | ) |
Get the Timeout value.
CORBA::Object_ptr CORBA::ORB::resolve_policy_manager | ( | void | ) | [protected] |
CORBA::Object_ptr CORBA::ORB::resolve_policy_current | ( | void | ) | [protected] |
Resolve the Policy Current for this thread.
void CORBA::ORB::resolve_service | ( | TAO::MCAST_SERVICEID | service_id | ) | [private] |
Resolve the given service based on the service ID.
"@c resolve_service" is a legacy name. This method now simply sets up a default initial reference that will be subsequently used in resolve_initial_references().
CORBA::Object_ptr CORBA::ORB::ior_string_to_object | ( | const char * | ior | ) | [private] |
Convert an OMG IOR into an object reference.
CORBA::Object_ptr CORBA::ORB::url_ior_string_to_object | ( | const char * | ior | ) | [private] |
Convert an URL style IOR into an object reference.
void CORBA::ORB::check_shutdown | ( | void | ) | [private] |
Check if ORB has shutdown. If it has, throw the appropriate exception.
ACE_INLINE void CORBA::ORB::set_timeout | ( | ACE_Time_Value * | timeout | ) | [private] |
Set the timeout value.
CORBA::TypeCode_ptr const CORBA::ORB::_tc_ObjectId [static] |
CORBA::TypeCode_ptr const CORBA::ORB::_tc_ObjectIdList [static] |
ACE_Atomic_Op<TAO_SYNCH_MUTEX, unsigned long> CORBA::ORB::refcount_ [private] |
Maintains a reference count of number of instantiations of the ORB.
TAO_ORB_Core* CORBA::ORB::orb_core_ [private] |
The ORB_Core that created us....
Decides whether to use the URL notation or to use IOR notation.
ACE_Time_Value* CORBA::ORB::timeout_ [private] |
Timeout value.