3 //=============================================================================
7 * @author Johnny Willemsen <jwillemsen@remedy.nl>
9 //=============================================================================
12 #ifndef TAO_IMR_CLIENT_ADAPTER_IMPL_H
13 #define TAO_IMR_CLIENT_ADAPTER_IMPL_H
15 #include /**/ "ace/pre.h"
17 #include "tao/ImR_Client/imr_client_export.h"
19 #if !defined (ACE_LACKS_PRAGMA_ONCE)
21 #endif /* ACE_LACKS_PRAGMA_ONCE */
23 #include "tao/PortableServer/ImR_Client_Adapter.h"
25 #include "ace/Service_Config.h"
27 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
36 * @class IFR_Client_Adapter_Impl
38 * @brief IFR_Client_Adapter_Impl.
40 * Class that adapts various functions in the PortableServer library
41 * which use the Implementation Repository. This is the derived class
42 * that contains the actual implementations.
44 class TAO_IMR_Client_Export ImR_Client_Adapter_Impl
45 : public ::TAO::Portable_Server::ImR_Client_Adapter
49 ImR_Client_Adapter_Impl ();
51 /// Used to force the initialization of the PortableServer code.
52 static int Initializer ();
54 /// ImplRepo helper method, notify the ImplRepo on startup
55 virtual void imr_notify_startup (TAO_Root_POA
* poa
);
57 /// ImplRepo helper method, notify the ImplRepo on shutdown
58 virtual void imr_notify_shutdown (TAO_Root_POA
* poa
);
60 /// ImplRepo helper method, create an IMR-ified object for a
61 /// key with a given type
62 virtual CORBA::Object_ptr
imr_key_to_object(TAO_Root_POA
* poa
,
63 const TAO::ObjectKey
&key
,
64 const char *type_id
) const;
66 /// Implementation Repository Server Object
67 ServerObject_i
*server_object_
;
71 TAO_Requires_ImR_Client_Initializer
=
72 TAO::ImR_Client::ImR_Client_Adapter_Impl::Initializer ();
77 ACE_STATIC_SVC_DECLARE (ImR_Client_Adapter_Impl
)
78 ACE_FACTORY_DECLARE (TAO_IMR_Client
, ImR_Client_Adapter_Impl
)
80 TAO_END_VERSIONED_NAMESPACE_DECL
82 #include /**/ "ace/post.h"
84 #endif /* TAO_IMR_CLIENT_ADAPTER_IMPL_H */