3 //=============================================================================
5 * @file ImR_Client_Adapter.h
7 * @author Johnny Willemsen <jwillemsen@remedy.nl>
9 //=============================================================================
12 #ifndef TAO_IMR_CLIENT_ADAPTER_H
13 #define TAO_IMR_CLIENT_ADAPTER_H
15 #include /**/ "ace/pre.h"
17 #include "tao/PortableServer/portableserver_export.h"
19 #if !defined (ACE_LACKS_PRAGMA_ONCE)
21 #endif /* ACE_LACKS_PRAGMA_ONCE */
23 #include "ace/Service_Object.h"
24 #include "tao/orbconf.h"
26 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
33 typedef Object
* Object_ptr
;
40 namespace Portable_Server
43 * @class ImR_Client_Adapter
45 * @brief IFR_Client_Adapter.
47 * Class that adapts various functions in the PortableServer library
48 * which use the Implementation Repository. This is a base class for
49 * the actual implementation in the TAO_IMR_Client library.
51 class TAO_PortableServer_Export ImR_Client_Adapter
:
52 public ACE_Service_Object
55 virtual ~ImR_Client_Adapter ();
57 /// ImplRepo helper method, notify the ImplRepo on startup
58 virtual void imr_notify_startup (TAO_Root_POA
* poa
) = 0;
60 /// ImplRepo helper method, notify the ImplRepo on shutdown
61 virtual void imr_notify_shutdown (TAO_Root_POA
* poa
) = 0;
63 /// ImplRepo helper method, create an IMR-ified object for a
64 /// key with a given type
65 virtual CORBA::Object_ptr
imr_key_to_object(
67 const TAO::ObjectKey
&key
,
68 const char *type_id
) const = 0;
73 TAO_END_VERSIONED_NAMESPACE_DECL
75 #include /**/ "ace/post.h"
76 #endif /* TAO_IMR_CLIENT_ADAPTER_H */