Merge pull request #2309 from mitza-oci/warnings
[ACE_TAO.git] / TAO / tao / PortableServer / ImR_Client_Adapter.h
blob5f183ef335ca0de845ab83093f4722c7c34c3d6b
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file ImR_Client_Adapter.h
7 * @author Johnny Willemsen <jwillemsen@remedy.nl>
8 */
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)
20 # 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
28 class TAO_Root_POA;
30 namespace CORBA
32 class Object;
33 typedef Object* Object_ptr;
36 namespace TAO
38 class ObjectKey;
40 namespace Portable_Server
42 /**
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
54 public:
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(
66 TAO_Root_POA* poa,
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 */