00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef TAO_OBJECT_PROXY_BROKER_H
00020 #define TAO_OBJECT_PROXY_BROKER_H
00021
00022 #include "ace/pre.h"
00023
00024 #include "tao/Basic_Types.h"
00025
00026 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00027 # pragma once
00028 #endif
00029
00030 #include "tao/TAO_Export.h"
00031 #include "tao/orbconf.h"
00032
00033 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00034
00035 namespace CORBA
00036 {
00037 class InterfaceDef;
00038
00039 class Object;
00040 typedef Object *Object_ptr;
00041 }
00042
00043 namespace TAO
00044 {
00045
00046
00047
00048
00049
00050
00051 class TAO_Export Object_Proxy_Broker
00052 {
00053 public:
00054
00055
00056 virtual ~Object_Proxy_Broker (void);
00057
00058 virtual CORBA::Boolean _is_a (CORBA::Object_ptr target,
00059 const char *logical_type_id) = 0;
00060
00061 #if (TAO_HAS_MINIMUM_CORBA == 0)
00062
00063 virtual CORBA::Boolean _non_existent (CORBA::Object_ptr target) = 0;
00064
00065 #if !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO)
00066 virtual CORBA::InterfaceDef *_get_interface (CORBA::Object_ptr target) = 0;
00067
00068 virtual CORBA::Object_ptr _get_component (CORBA::Object_ptr target) = 0;
00069 #endif
00070
00071 virtual char * _repository_id (CORBA::Object_ptr target) = 0;
00072
00073 #endif
00074 };
00075 }
00076
00077 TAO_END_VERSIONED_NAMESPACE_DECL
00078
00079 #include "ace/post.h"
00080
00081 #endif