Revert "Minor modernization of DynamicAny code"
[ACE_TAO.git] / TAO / tao / PortableServer / POAManagerFactory.h
blob319fffaef87c7804d8ba2dcb69dd4df8f79cc88c
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file POAManagerFactory.h
7 * POAManagerFactory
9 * @author Johnny Willemsen <jwillemsen@remedy.nl>
11 //=============================================================================
13 #ifndef TAO_POAMANAGERFACTORY_H
14 #define TAO_POAMANAGERFACTORY_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 "tao/PortableServer/POAManagerFactoryC.h"
24 #include "tao/PortableServer/Object_Adapter.h"
25 #include "tao/LocalObject.h"
26 #include "ace/Unbounded_Set.h"
28 // This is to remove "inherits via dominance" warnings from MSVC.
29 // MSVC is being a little too paranoid.
30 #if defined(_MSC_VER)
31 #pragma warning(push)
32 #pragma warning(disable:4250)
33 #endif /* _MSC_VER */
35 #if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO)
37 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
39 class TAO_PortableServer_Export TAO_POAManager_Factory :
40 public ::PortableServer::POAManagerFactory,
41 public ::CORBA::LocalObject
43 public:
44 TAO_POAManager_Factory (TAO_Object_Adapter &object_adapter);
46 virtual ~TAO_POAManager_Factory ();
48 virtual ::PortableServer::POAManager_ptr create_POAManager (
49 const char * id,
50 const ::CORBA::PolicyList & policies);
52 virtual ::PortableServer::POAManagerFactory::POAManagerSeq * list ();
54 virtual ::PortableServer::POAManager_ptr find (const char * id);
56 void remove_all_poamanagers ();
58 int remove_poamanager (::PortableServer::POAManager_ptr poamanager);
60 int register_poamanager (::PortableServer::POAManager_ptr poamanager);
62 private:
63 TAO_Object_Adapter &object_adapter_;
65 typedef ACE_Unbounded_Set < ::PortableServer::POAManager_ptr> POAMANAGERSET;
67 POAMANAGERSET poamanager_set_;
70 TAO_END_VERSIONED_NAMESPACE_DECL
72 #endif
74 #if defined(_MSC_VER)
75 #pragma warning(pop)
76 #endif /* _MSC_VER */
78 #include /**/ "ace/post.h"
79 #endif /* TAO_POAMANAGERFACTORY_H */