#include <ORB.h>
Collaboration diagram for CORBA::ORB:
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 ORB_out CORBA::ORB::_out_type |
typedef ORB_ptr CORBA::ORB::_ptr_type |
typedef ORB_var CORBA::ORB::_var_type |
typedef char* CORBA::ORB::ObjectId |
typedef CORBA::ORB_ObjectIdList CORBA::ORB::ObjectIdList |
typedef CORBA::ORB_ObjectIdList* CORBA::ORB::ObjectIdList_ptr |
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] |
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::_decr_refcnt | ( | void | ) |
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().
TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE unsigned long CORBA::ORB::_incr_refcnt | ( | void | ) |
ACE_INLINE CORBA::ORB_ptr CORBA::ORB::_nil | ( | void | ) | [static] |
CORBA::ORB_ptr CORBA::ORB::_tao_make_ORB | ( | TAO_ORB_Core * | orb_core | ) | [static] |
Factory method that creates an ORB.
ACE_INLINE CORBA::Boolean CORBA::ORB::_use_omg_ior_format | ( | void | ) |
Get the IOR flag.
ACE_INLINE void CORBA::ORB::_use_omg_ior_format | ( | CORBA::Boolean | ior | ) |
Set the IOR flag.
void CORBA::ORB::check_shutdown | ( | ) | [private] |
Check if ORB has shutdown. If it has, throw the appropriate exception.
CORBA::TypeCode_ptr CORBA::ORB::create_abstract_interface_tc | ( | const char * | id, | |
const char * | name | |||
) |
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_array_tc | ( | CORBA::ULong | length, | |
CORBA::TypeCode_ptr | element_type | |||
) |
CORBA::TypeCode_ptr CORBA::ORB::create_component_tc | ( | const char * | id, | |
const char * | name | |||
) |
void CORBA::ORB::create_context_list | ( | CORBA::ContextList_ptr & | ctxtlist | ) |
CORBA::TypeCode_ptr CORBA::ORB::create_enum_tc | ( | const char * | id, | |
const char * | name, | |||
const CORBA::EnumMemberSeq & | members | |||
) |
void CORBA::ORB::create_environment | ( | CORBA::Environment_ptr & | new_env | ) |
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::create_exception_list | ( | CORBA::ExceptionList_ptr & | exclist | ) |
CORBA::TypeCode_ptr CORBA::ORB::create_exception_tc | ( | const char * | id, | |
const char * | name, | |||
const CORBA::StructMemberSeq & | members | |||
) |
CORBA::TypeCode_ptr CORBA::ORB::create_fixed_tc | ( | CORBA::UShort | digits, | |
CORBA::UShort | scale | |||
) |
CORBA::TypeCode_ptr CORBA::ORB::create_home_tc | ( | const char * | id, | |
const char * | name | |||
) |
CORBA::TypeCode_ptr CORBA::ORB::create_interface_tc | ( | const char * | id, | |
const char * | name | |||
) |
void CORBA::ORB::create_list | ( | CORBA::Long | count, | |
CORBA::NVList_ptr & | new_list | |||
) |
CORBA::TypeCode_ptr CORBA::ORB::create_local_interface_tc | ( | const char * | id, | |
const char * | name | |||
) |
void CORBA::ORB::create_named_value | ( | CORBA::NamedValue_ptr & | nmval | ) |
CORBA::TypeCode_ptr CORBA::ORB::create_native_tc | ( | const char * | id, | |
const char * | name | |||
) |
void CORBA::ORB::create_operation_list | ( | CORBA::OperationDef_ptr | opDef, | |
CORBA::NVList_ptr & | result | |||
) |
CORBA::Policy_ptr CORBA::ORB::create_policy | ( | CORBA::PolicyType | type, | |
const CORBA::Any & | val | |||
) |
CORBA::TypeCode_ptr CORBA::ORB::create_recursive_tc | ( | const char * | id | ) |
CORBA::TypeCode_ptr CORBA::ORB::create_sequence_tc | ( | CORBA::ULong | bound, | |
CORBA::TypeCode_ptr | element_type | |||
) |
CORBA::TypeCode_ptr CORBA::ORB::create_string_tc | ( | CORBA::ULong | bound | ) |
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_value_box_tc | ( | const char * | id, | |
const char * | name, | |||
CORBA::TypeCode_ptr | boxed_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_wstring_tc | ( | CORBA::ULong | bound | ) |
void CORBA::ORB::destroy | ( | ) |
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.
void CORBA::ORB::get_default_context | ( | CORBA::Context_ptr & | ctx | ) |
void CORBA::ORB::get_next_response | ( | CORBA::Request_ptr & | req | ) |
CORBA::Boolean CORBA::ORB::get_service_information | ( | CORBA::ServiceType | service_type, | |
CORBA::ServiceInformation_out | service_information | |||
) |
ACE_Time_Value * CORBA::ORB::get_timeout | ( | void | ) |
Get the Timeout value.
char * CORBA::ORB::id | ( | ) |
Return this ORB's ORBid.
CORBA::Object_ptr CORBA::ORB::ior_string_to_object | ( | const char * | ior | ) | [private] |
Convert an OMG IOR into an object reference.
CORBA::ORB::ObjectIdList_ptr CORBA::ORB::list_initial_services | ( | ) |
Returns a sequence of ObjectIds that lists which objects have references available via the initial references mechanism.
CORBA::ValueFactory CORBA::ORB::lookup_value_factory | ( | const char * | repository_id | ) |
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.
ACE_INLINE TAO_ORB_Core * CORBA::ORB::orb_core | ( | void | ) | const |
Get the ORB core.
void CORBA::ORB::perform_work | ( | ACE_Time_Value * | tv | ) |
void CORBA::ORB::perform_work | ( | ACE_Time_Value & | tv | ) |
void CORBA::ORB::perform_work | ( | ) |
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().
CORBA::Boolean CORBA::ORB::poll_next_response | ( | ) |
void CORBA::ORB::register_initial_reference | ( | const char * | id, | |
CORBA::Object_ptr | obj | |||
) |
Register an object reference with the ORB.
CORBA::ValueFactory CORBA::ORB::register_value_factory | ( | const char * | repository_id, | |
CORBA::ValueFactory | factory | |||
) |
CORBA::Object_ptr CORBA::ORB::resolve_initial_references | ( | const char * | name, | |
ACE_Time_Value * | timeout | |||
) |
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. CORBA::Object_ptr CORBA::ORB::resolve_initial_references | ( | const char * | name | ) |
CORBA::Object_ptr CORBA::ORB::resolve_policy_current | ( | void | ) | [protected] |
Resolve the Policy Current for this thread.
CORBA::Object_ptr CORBA::ORB::resolve_policy_manager | ( | void | ) | [protected] |
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().
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 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 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 | ( | ) |
void CORBA::ORB::send_multiple_requests_deferred | ( | const CORBA::RequestSeq & | req | ) |
void CORBA::ORB::send_multiple_requests_oneway | ( | const CORBA::RequestSeq & | req | ) |
void CORBA::ORB::set_timeout | ( | ACE_Time_Value * | timeout | ) | [private] |
Set the timeout value.
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.
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.
void CORBA::ORB::unregister_value_factory | ( | const char * | repository_id | ) |
CORBA::Object_ptr CORBA::ORB::url_ior_string_to_object | ( | const char * | ior | ) | [private] |
Convert an URL style IOR into an object reference.
CORBA::Boolean CORBA::ORB::work_pending | ( | ACE_Time_Value & | tv | ) |
CORBA::Boolean CORBA::ORB::work_pending | ( | ) |
Returns an indication of whether the ORB needs to perform some work.
CORBA::TypeCode_ptr const CORBA::ORB::_tc_ObjectId [static] |
CORBA::TypeCode_ptr const CORBA::ORB::_tc_ObjectIdList [static] |
TAO_ORB_Core* CORBA::ORB::orb_core_ [private] |
The ORB_Core that created us....
ACE_Atomic_Op<TAO_SYNCH_MUTEX, unsigned long> CORBA::ORB::refcount_ [private] |
Maintains a reference count of number of instantiations of the ORB.
ACE_Time_Value* CORBA::ORB::timeout_ [private] |
Timeout value.
Decides whether to use the URL notation or to use IOR notation.