Revert "Minor modernization of DynamicAny code"
[ACE_TAO.git] / TAO / tao / ImR_Client / ImR_Client.h
blob0139e8372f57e81260fe3192f663096eaadeccb8
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file ImR_Client.h
7 * @author Johnny Willemsen <jwillemsen@remedy.nl>
8 */
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)
20 # 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
29 class ServerObject_i;
31 namespace TAO
33 namespace ImR_Client
35 /**
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
47 public:
48 /// Constructor.
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;
65 private:
66 /// Implementation Repository Server Object
67 ServerObject_i *server_object_;
70 static int
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 */