00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file Remote_Object_Proxy_Broker.h 00006 * 00007 * Remote_Object_Proxy_Broker.h,v 1.10 2005/11/02 11:03:26 ossama Exp 00008 * 00009 * This files contains the Remote 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_REMOTE_OBJECT_PROXY_BROKER_H 00018 #define TAO_REMOTE_OBJECT_PROXY_BROKER_H 00019 00020 #include /**/ "ace/pre.h" 00021 00022 #include "tao/Object_Proxy_Broker.h" 00023 #include "tao/orbconf.h" 00024 00025 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00026 # pragma once 00027 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00028 00029 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00030 00031 namespace TAO 00032 { 00033 /** 00034 * @class Remote_Object_Proxy_Broker 00035 * 00036 * @brief Remote_Object_Proxy_Broker 00037 * 00038 * A broker for standard CORBA::Object calls that needs to be made 00039 * on remote objects. 00040 */ 00041 00042 class TAO_Export Remote_Object_Proxy_Broker : public Object_Proxy_Broker 00043 { 00044 public: 00045 /// Please see the documentation in Object_Proxy_Broker.h for 00046 /// details. 00047 00048 virtual CORBA::Boolean _is_a (CORBA::Object_ptr target, 00049 const char *logical_type_id 00050 ACE_ENV_ARG_DECL); 00051 00052 #if (TAO_HAS_MINIMUM_CORBA == 0) 00053 00054 virtual CORBA::Boolean _non_existent (CORBA::Object_ptr target 00055 ACE_ENV_ARG_DECL); 00056 00057 virtual CORBA::InterfaceDef * _get_interface ( 00058 CORBA::Object_ptr target 00059 ACE_ENV_ARG_DECL 00060 ); 00061 00062 virtual CORBA::Object_ptr _get_component (CORBA::Object_ptr target 00063 ACE_ENV_ARG_DECL); 00064 00065 virtual char * _repository_id (CORBA::Object_ptr target 00066 ACE_ENV_ARG_DECL); 00067 #endif /* TAO_HAS_MINIMUM_CORBA == 0 */ 00068 00069 }; 00070 } 00071 00072 // ----------------------------------------------------- 00073 00074 TAO::Remote_Object_Proxy_Broker *the_tao_remote_object_proxy_broker (void); 00075 00076 TAO_END_VERSIONED_NAMESPACE_DECL 00077 00078 #include /**/ "ace/post.h" 00079 00080 #endif /* TAO_REMOTE_OBJECT_PROXY_BROKER_H */