00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file Collocated_Object_Proxy_Broker.h 00006 * 00007 * Collocated_Object_Proxy_Broker.h,v 1.7 2006/03/10 07:19:13 jtc Exp 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 ACE_ENV_ARG_DECL); 00050 00051 #if (TAO_HAS_MINIMUM_CORBA == 0) 00052 00053 virtual CORBA::Boolean _non_existent (CORBA::Object_ptr target 00054 ACE_ENV_ARG_DECL); 00055 00056 virtual CORBA::InterfaceDef * _get_interface ( 00057 CORBA::Object_ptr target 00058 ACE_ENV_ARG_DECL 00059 ); 00060 00061 virtual CORBA::Object_ptr _get_component (CORBA::Object_ptr target 00062 ACE_ENV_ARG_DECL); 00063 00064 virtual char * _repository_id (CORBA::Object_ptr target 00065 ACE_ENV_ARG_DECL); 00066 00067 #endif /* TAO_HAS_MINIMUM_CORBA == 0 */ 00068 00069 }; 00070 } 00071 00072 // ----------------------------------------------------- 00073 00074 /// This function is used to access the unique instance of strategized 00075 /// proxy broker. All the CORBA::Object share the proxy broker. 00076 TAO::Collocated_Object_Proxy_Broker *the_tao_collocated_object_proxy_broker (void); 00077 00078 TAO_END_VERSIONED_NAMESPACE_DECL 00079 00080 #include /**/ "ace/post.h" 00081 00082 #endif /* TAO_COLLOCATED_OBJECT_PROXY_BROKER_H*/