3 //=============================================================================
5 * @file Object_Proxy_Broker.h
7 * This files contains the abstract class for the CORBA Object
10 * @author Angelo Corsaro <corsaro@cs.wustl.edu>
12 * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
14 //=============================================================================
17 #ifndef TAO_OBJECT_PROXY_BROKER_H
18 #define TAO_OBJECT_PROXY_BROKER_H
20 #include /**/ "ace/pre.h"
22 #include "tao/Basic_Types.h"
24 #if !defined (ACE_LACKS_PRAGMA_ONCE)
26 #endif /* ACE_LACKS_PRAGMA_ONCE */
28 #include /**/ "tao/TAO_Export.h"
29 #include "tao/orbconf.h"
31 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
38 typedef Object
*Object_ptr
;
44 * @class Object_Proxy_Broker
46 * @brief Object_Proxy_Broker
49 class TAO_Export Object_Proxy_Broker
53 virtual ~Object_Proxy_Broker ();
55 virtual CORBA::Boolean
_is_a (CORBA::Object_ptr target
,
56 const char *logical_type_id
) = 0;
58 #if (TAO_HAS_MINIMUM_CORBA == 0)
60 virtual CORBA::Boolean
_non_existent (CORBA::Object_ptr target
) = 0;
62 #if !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO)
63 virtual CORBA::InterfaceDef
*_get_interface (CORBA::Object_ptr target
) = 0;
65 virtual CORBA::Object_ptr
_get_component (CORBA::Object_ptr target
) = 0;
68 virtual char * _repository_id (CORBA::Object_ptr target
) = 0;
70 #endif /* TAO_HAS_MINIMUM_CORBA == 0 */
74 TAO_END_VERSIONED_NAMESPACE_DECL
76 #include /**/ "ace/post.h"
78 #endif /* TAO_OBJECT_PROXY_BROKER_H_ */