00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file Remote_Object_Proxy_Broker.h 00006 * 00007 * $Id: Remote_Object_Proxy_Broker.h 76551 2007-01-24 13:42:44Z johnnyw $ 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 00051 #if (TAO_HAS_MINIMUM_CORBA == 0) 00052 00053 virtual CORBA::Boolean _non_existent (CORBA::Object_ptr target); 00054 00055 virtual CORBA::InterfaceDef * _get_interface (CORBA::Object_ptr target); 00056 00057 virtual CORBA::Object_ptr _get_component (CORBA::Object_ptr target); 00058 00059 virtual char * _repository_id (CORBA::Object_ptr target); 00060 #endif /* TAO_HAS_MINIMUM_CORBA == 0 */ 00061 00062 }; 00063 } 00064 00065 // ----------------------------------------------------- 00066 00067 TAO::Remote_Object_Proxy_Broker *the_tao_remote_object_proxy_broker (void); 00068 00069 TAO_END_VERSIONED_NAMESPACE_DECL 00070 00071 #include /**/ "ace/post.h" 00072 00073 #endif /* TAO_REMOTE_OBJECT_PROXY_BROKER_H */