Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions

CORBA::LocalObject Class Reference

#include <LocalObject.h>

Inherits CORBA::Object.

Inherited by Client_Interceptor, IIOPEndpointValue_i [virtual], Server_Interceptor, TAO::BaseCompressor [virtual], TAO::CompressionEnablingPolicy [virtual], TAO::CompressionLowValuePolicy [virtual], TAO::CompressionManager [virtual], TAO::CompressionMinRatioPolicy [virtual], TAO::CompressorFactory [virtual], TAO::CompressorIdLevelListPolicy [virtual], TAO::CSD::Strategy_Base, TAO::PICurrent [virtual], TAO::Portable_Server::IdAssignmentPolicy [virtual], TAO::Portable_Server::IdUniquenessPolicy [virtual], TAO::Portable_Server::ImplicitActivationPolicy [virtual], TAO::Portable_Server::LifespanPolicy [virtual], TAO::Portable_Server::POA_Current, TAO::Portable_Server::RequestProcessingPolicy [virtual], TAO::Portable_Server::ServantRetentionPolicy [virtual], TAO::Portable_Server::ThreadPolicy [virtual], TAO::ServerRequestInfo [virtual], TAO::Transport::Current_Impl [virtual], TAO::Transport::Current_ORBInitializer_Base [virtual], TAO_AMH_Response_Handler, TAO_BiDir_ORBInitializer [virtual], TAO_BiDir_PolicyFactory, TAO_BidirectionalPolicy [virtual], TAO_CDR_Encaps_Codec [virtual], TAO_Client_Network_Priority_Policy, TAO_ClientProtocolPolicy, TAO_ClientRequestInfo [virtual], TAO_CodecFactory [virtual], TAO_ConnectionTimeoutPolicy, TAO_CSD_ORBInitializer [virtual], TAO_DiffServ_PolicyFactory [virtual], TAO_DiffServPolicy_ORBInitializer [virtual], TAO_DII_Reply_Handler [virtual], TAO_DistributableThread, TAO_DynAny_i [virtual], TAO_DynAnyFactory [virtual], TAO_DynArray_i [virtual], TAO_DynEnum_i [virtual], TAO_DynSequence_i [virtual], TAO_DynStruct_i [virtual], TAO_DynUnion_i [virtual], TAO_EndpointPolicy_Factory [virtual], TAO_EndpointPolicy_i [virtual], TAO_EndpointPolicy_ORBInitializer [virtual], TAO_GIOP_Protocol_Properties, TAO_IOR_Manipulation_impl, TAO_IOR_Table_Impl [virtual], TAO_IORInfo [virtual], TAO_Local_RefCounted_Object [virtual], TAO_Messaging_ORBInitializer [virtual], TAO_Messaging_PolicyFactory [virtual], TAO_Network_Priority_Mapping_Manager [virtual], TAO_ORBInitInfo [virtual], TAO_PI_ORBInitializer [virtual], TAO_PI_PolicyFactory [virtual], TAO_POA_Manager, TAO_POAManager_Factory, TAO_Policy_Current, TAO_Policy_Manager, TAO_PortableServer_ORBInitializer [virtual], TAO_PortableServer_PolicyFactory [virtual], TAO_Priority_Mapping_Manager [virtual], TAO_PriorityBandedConnectionPolicy, TAO_PriorityModelPolicy, TAO_PrivateConnectionPolicy, TAO_ProcessingModePolicy, TAO_RelativeRoundtripTimeoutPolicy, TAO_Root_POA [virtual], TAO_RT_Current, TAO_RT_Mutex, TAO_RT_ORB, TAO_RT_ORBInitializer [virtual], TAO_RT_PolicyFactory [virtual], TAO_RTScheduler_Current, TAO_RTScheduler_Manager [virtual], TAO_RTScheduler_ORB_Initializer [virtual], TAO_Server_Network_Priority_Policy, TAO_ServerProtocolPolicy, TAO_SharedMemory_Protocol_Properties, TAO_Smart_Proxy_Base, TAO_Strategies_ORBInitializer [virtual], TAO_StreamControl_Protocol_Properties, TAO_Sync_Scope_Policy, TAO_TCP_Protocol_Properties, TAO_ThreadAction, TAO_ThreadpoolPolicy, TAO_TypeCodeFactory_i [virtual], TAO_UnixDomain_Protocol_Properties, TAO_UserDatagram_Protocol_Properties, TAO_ZIOP_ORBInitializer [virtual], and TAO_ZIOP_PolicyFactory.

Collaboration diagram for CORBA::LocalObject:
Collaboration graph
[legend]

List of all members.

Public Types

typedef LocalObject_ptr _ptr_type
 Useful for template programming.
typedef LocalObject_var _var_type
typedef LocalObject_out _out_type

Public Member Functions

virtual ~LocalObject (void)
 Destructor.
virtual CORBA::Boolean _non_existent (void)
 Always returns false.
virtual char * _repository_id (void)
 Get the repository id.
virtual CORBA::InterfaceDef_ptr _get_interface (void)
 Gets info about object from the Interface Repository.
virtual CORBA::Object_ptr _get_component (void)
 Throws NO_IMPLEMENT.
virtual void _create_request (CORBA::Context_ptr ctx, const char *operation, CORBA::NVList_ptr arg_list, CORBA::NamedValue_ptr result, CORBA::Request_ptr &request, CORBA::Flags req_flags)
 Determine if we are of the type specified by the "logical_type_id".
virtual void _create_request (CORBA::Context_ptr ctx, const char *operation, CORBA::NVList_ptr arg_list, CORBA::NamedValue_ptr result, CORBA::ExceptionList_ptr exclist, CORBA::ContextList_ptr ctxtlist, CORBA::Request_ptr &request, CORBA::Flags req_flags)
 Determine if we are of the type specified by the "logical_type_id".
virtual CORBA::Request_ptr _request (const char *operation)
 Throws NO_IMPLEMENT.
CORBA::Policy_ptr _get_policy (CORBA::PolicyType type)
 Throws CORBA::NO_IMPLEMENT.
CORBA::Policy_ptr _get_cached_policy (TAO_Cached_Policy_Type type)
 Throws CORBA::NO_IMPLEMENT.
CORBA::Object_ptr _set_policy_overrides (const CORBA::PolicyList &policies, CORBA::SetOverrideType set_add)
 Throws CORBA::NO_IMPLEMENT.
CORBA::PolicyList * _get_policy_overrides (const CORBA::PolicyTypeSeq &types)
 Throws CORBA::NO_IMPLEMENT.
CORBA::Boolean _validate_connection (CORBA::PolicyList_out inconsistent_policies)
 Throws CORBA::NO_IMPLEMENT.
virtual CORBA::ULong _hash (CORBA::ULong maximum)
virtual CORBA::Boolean _is_equivalent (CORBA::Object_ptr other_obj)
virtual CORBA::ORB_ptr _get_orb (void)
 Determine if we are of the type specified by the "logical_type_id".
virtual TAO::ObjectKey * _key (void)
 Throws CORBA::NO_IMPLEMENT.

Static Public Member Functions

static LocalObject_ptr _duplicate (LocalObject_ptr obj)
 Increment the ref count.
static LocalObject_ptr _nil (void)
 Return a NIL object.
static LocalObject_ptr _narrow (CORBA::Object_ptr obj)

Protected Member Functions

 LocalObject (void)
 Default constructor.

Private Member Functions

Unimplemented methods

 LocalObject (const LocalObject &)
LocalObjectoperator= (const LocalObject &)

Detailed Description

Definition at line 46 of file LocalObject.h.


Member Typedef Documentation

Reimplemented from CORBA::Object.

Definition at line 154 of file LocalObject.h.


Constructor & Destructor Documentation

CORBA::LocalObject::~LocalObject ( void   )  [virtual]

Destructor.

Definition at line 22 of file LocalObject.cpp.

{
}

CORBA::LocalObject::LocalObject ( void   )  [protected]

Default constructor.

Make it protected to prevent instantiation of this class.

Definition at line 40 of file LocalObject.inl.

  : Object (0)
{
}

CORBA::LocalObject::LocalObject ( const LocalObject  )  [private]

Member Function Documentation

void CORBA::LocalObject::_create_request ( CORBA::Context_ptr  ctx,
const char *  operation,
CORBA::NVList_ptr  arg_list,
CORBA::NamedValue_ptr  result,
CORBA::Request_ptr request,
CORBA::Flags  req_flags 
) [virtual]

Determine if we are of the type specified by the "logical_type_id".

Reimplemented from CORBA::Object.

Definition at line 89 of file LocalObject.cpp.

{
  throw ::CORBA::NO_IMPLEMENT (CORBA::OMGVMCID | 4, CORBA::COMPLETED_NO);
}

void CORBA::LocalObject::_create_request ( CORBA::Context_ptr  ctx,
const char *  operation,
CORBA::NVList_ptr  arg_list,
CORBA::NamedValue_ptr  result,
CORBA::ExceptionList_ptr  exclist,
CORBA::ContextList_ptr  ctxtlist,
CORBA::Request_ptr request,
CORBA::Flags  req_flags 
) [virtual]

Determine if we are of the type specified by the "logical_type_id".

Reimplemented from CORBA::Object.

Definition at line 100 of file LocalObject.cpp.

{
  throw ::CORBA::NO_IMPLEMENT (CORBA::OMGVMCID | 4, CORBA::COMPLETED_NO);
}

CORBA::LocalObject_ptr CORBA::LocalObject::_duplicate ( CORBA::LocalObject_ptr  obj  )  [static]

Increment the ref count.

Definition at line 9 of file LocalObject.inl.

{
  if (obj)
    {
      obj->_add_ref ();
    }

  return obj;
}

CORBA::Policy_ptr CORBA::LocalObject::_get_cached_policy ( TAO_Cached_Policy_Type  type  ) 

Throws CORBA::NO_IMPLEMENT.

Reimplemented from CORBA::Object.

Definition at line 142 of file LocalObject.cpp.

{
  throw ::CORBA::NO_IMPLEMENT ();
}

CORBA::Object_ptr CORBA::LocalObject::_get_component ( void   )  [virtual]

Throws NO_IMPLEMENT.

Reimplemented from CORBA::Object.

Definition at line 119 of file LocalObject.cpp.

{
  throw ::CORBA::NO_IMPLEMENT (CORBA::OMGVMCID | 8, CORBA::COMPLETED_NO);
}

CORBA::InterfaceDef_ptr CORBA::LocalObject::_get_interface ( void   )  [virtual]

Gets info about object from the Interface Repository.

Reimplemented from CORBA::Object.

Definition at line 125 of file LocalObject.cpp.

{
  throw ::CORBA::NO_IMPLEMENT (CORBA::OMGVMCID | 8, CORBA::COMPLETED_NO);
}

CORBA::ORB_ptr CORBA::LocalObject::_get_orb ( void   )  [virtual]

Determine if we are of the type specified by the "logical_type_id".

Reimplemented from CORBA::Object.

Reimplemented in TAO_ORBInitInfo, TAO::PICurrent, TAO_POA_Manager, and TAO_Root_POA.

Definition at line 169 of file LocalObject.cpp.

{
  throw ::CORBA::NO_IMPLEMENT (CORBA::OMGVMCID | 8, CORBA::COMPLETED_NO);
}

CORBA::Policy_ptr CORBA::LocalObject::_get_policy ( CORBA::PolicyType  type  ) 

Throws CORBA::NO_IMPLEMENT.

Reimplemented from CORBA::Object.

Definition at line 136 of file LocalObject.cpp.

{
  throw ::CORBA::NO_IMPLEMENT (CORBA::OMGVMCID | 8, CORBA::COMPLETED_NO);
}

CORBA::PolicyList * CORBA::LocalObject::_get_policy_overrides ( const CORBA::PolicyTypeSeq &  types  ) 

Throws CORBA::NO_IMPLEMENT.

Reimplemented from CORBA::Object.

Definition at line 155 of file LocalObject.cpp.

{
  throw ::CORBA::NO_IMPLEMENT (CORBA::OMGVMCID | 8, CORBA::COMPLETED_NO);
}

CORBA::ULong CORBA::LocalObject::_hash ( CORBA::ULong  maximum  )  [virtual]

Return a hash value for this object. The hash is based on the address of the object. On non-32 bit platforms, the hash may be non-unique.

Reimplemented from CORBA::Object.

Definition at line 30 of file LocalObject.cpp.

{
  // Note that we reinterpret_cast to an "ptrdiff_t" instead of
  // CORBA::ULong since we need to first cast to an integer large
  // enough to hold an address to avoid compile-time warnings on some
  // 64-bit platforms.

  CORBA::ULong const hash =
    static_cast<CORBA::ULong> (reinterpret_cast<ptrdiff_t> (this));

  return hash % maximum;
}

CORBA::Boolean CORBA::LocalObject::_is_equivalent ( CORBA::Object_ptr  other_obj  )  [virtual]

Try to determine if this object is the same as other_obj. This method relies on the representation of the object reference's private state. Since that changes easily (when different ORB protocols are in use) there is no default implementation.

Reimplemented from CORBA::Object.

Definition at line 50 of file LocalObject.cpp.

{
  return (other_obj == this) ? true : false;
}

TAO::ObjectKey * CORBA::LocalObject::_key ( void   )  [virtual]

Throws CORBA::NO_IMPLEMENT.

Reimplemented from CORBA::Object.

Definition at line 59 of file LocalObject.cpp.

{
  if (TAO_debug_level > 0)
    ACE_ERROR ((LM_ERROR,
                ACE_TEXT ("TAO (%P|%t) - Cannot get _key from a LocalObject!\n")));

  throw ::CORBA::NO_IMPLEMENT ();
}

CORBA::LocalObject_ptr CORBA::LocalObject::_narrow ( CORBA::Object_ptr  obj  )  [static]
Todo:
Narrowing a LocalObject to a CORBA::Object is broken right now. The solution seems to be making CORBA::Object an abstract base class and create a CORBA::RemoteObject for regular object. Or, even easier, add a is_local member into CORBA::Object. I'll take the easier route for now.

Reimplemented from CORBA::Object.

Reimplemented in TAO_DynAny_i, TAO_DynArray_i, TAO_DynEnum_i, TAO_DynSequence_i, TAO_DynStruct_i, TAO_DynUnion_i, TAO_AMH_DSI_Response_Handler, TAO_DII_Reply_Handler, TAO_ORBInitInfo, TAO_Network_Priority_Mapping_Manager, TAO_Priority_Mapping_Manager, TAO_RTScheduler_Current, TAO_RTScheduler_Manager, and TAO_TypeCodeFactory_i.

Definition at line 28 of file LocalObject.inl.

{
  if (obj->_is_local () != 0)
    {
      return ::CORBA::LocalObject::_duplicate (
          dynamic_cast<CORBA::LocalObject_ptr> (obj));
    }

  return 0;
}

CORBA::LocalObject_ptr CORBA::LocalObject::_nil ( void   )  [static]
CORBA::Boolean CORBA::LocalObject::_non_existent ( void   )  [virtual]

Always returns false.

Reimplemented from CORBA::Object.

Definition at line 75 of file LocalObject.cpp.

{
  // Always return false.
  return false;
}

char * CORBA::LocalObject::_repository_id ( void   )  [virtual]

Get the repository id.

Reimplemented from CORBA::Object.

Definition at line 82 of file LocalObject.cpp.

{
  throw ::CORBA::NO_IMPLEMENT (CORBA::OMGVMCID | 8, CORBA::COMPLETED_NO);
}

CORBA::Request_ptr CORBA::LocalObject::_request ( const char *  operation  )  [virtual]

Throws NO_IMPLEMENT.

Reimplemented from CORBA::Object.

Definition at line 113 of file LocalObject.cpp.

{
  throw ::CORBA::NO_IMPLEMENT (CORBA::OMGVMCID | 4, CORBA::COMPLETED_NO);
}

CORBA::Object_ptr CORBA::LocalObject::_set_policy_overrides ( const CORBA::PolicyList &  policies,
CORBA::SetOverrideType  set_add 
)

Throws CORBA::NO_IMPLEMENT.

Reimplemented from CORBA::Object.

Definition at line 148 of file LocalObject.cpp.

{
  throw ::CORBA::NO_IMPLEMENT (CORBA::OMGVMCID | 8, CORBA::COMPLETED_NO);
}

CORBA::Boolean CORBA::LocalObject::_validate_connection ( CORBA::PolicyList_out  inconsistent_policies  ) 

Throws CORBA::NO_IMPLEMENT.

Reimplemented from CORBA::Object.

Definition at line 161 of file LocalObject.cpp.

{
  throw ::CORBA::NO_IMPLEMENT (CORBA::OMGVMCID | 8, CORBA::COMPLETED_NO);
}

LocalObject& CORBA::LocalObject::operator= ( const LocalObject  )  [private]

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines