00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file Collocated_Object_Proxy_Broker.h 00006 * 00007 * $Id: Collocated_Object_Proxy_Broker.h 79610 2007-09-07 18:17:34Z johnnyw $ 00008 * 00009 * This files contains the Collocated Proxy Broker implementation 00010 * for the CORBA Object. 00011 * 00012 * @author Angelo Corsaro <corsaro@cs.wustl.edu> 00013 * @author Balachandran Natarajan (modified the implementation) 00014 */ 00015 //============================================================================= 00016 00017 #ifndef TAO_COLLOCATED_OBJECT_PROXY_BROKER_H 00018 #define TAO_COLLOCATED_OBJECT_PROXY_BROKER_H 00019 #include /**/ "ace/pre.h" 00020 00021 #include "tao/PortableServer/portableserver_export.h" 00022 00023 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00024 # pragma once 00025 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00026 00027 #include "tao/Object_Proxy_Broker.h" 00028 00029 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00030 00031 namespace TAO 00032 { 00033 /** 00034 * @class Collocated_Object_Proxy_Broker 00035 * 00036 * @brief Collocated_Object_Proxy_Broker 00037 * 00038 * A broker for standard CORBA::Object calls that needs to be made 00039 * on remote objects. 00040 */ 00041 class TAO_PortableServer_Export Collocated_Object_Proxy_Broker 00042 : public Object_Proxy_Broker 00043 { 00044 public: 00045 /// Please see the documentation in Object_Proxy_Broker.h for 00046 /// details. 00047 virtual CORBA::Boolean _is_a (CORBA::Object_ptr target, 00048 const char *logical_type_id); 00049 00050 #if (TAO_HAS_MINIMUM_CORBA == 0) 00051 00052 virtual CORBA::Boolean _non_existent (CORBA::Object_ptr target); 00053 00054 #if !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) 00055 virtual CORBA::InterfaceDef * _get_interface (CORBA::Object_ptr target); 00056 00057 virtual CORBA::Object_ptr _get_component (CORBA::Object_ptr target); 00058 #endif 00059 00060 virtual char * _repository_id (CORBA::Object_ptr target); 00061 00062 #endif /* TAO_HAS_MINIMUM_CORBA == 0 */ 00063 00064 }; 00065 } 00066 00067 // ----------------------------------------------------- 00068 00069 /// This function is used to access the unique instance of strategized 00070 /// proxy broker. All the CORBA::Object share the proxy broker. 00071 TAO::Collocated_Object_Proxy_Broker *the_tao_collocated_object_proxy_broker (void); 00072 00073 TAO_END_VERSIONED_NAMESPACE_DECL 00074 00075 #include /**/ "ace/post.h" 00076 00077 #endif /* TAO_COLLOCATED_OBJECT_PROXY_BROKER_H*/