Revert "Minor modernization of DynamicAny code"
[ACE_TAO.git] / TAO / tao / PortableServer / Regular_POA.h
blobe11f4a1d4feb63a22196e851f8617b0c65e75778
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file Regular_POA.h
7 * Header file for CORBA's ORB type.
9 * @author Irfan Pyarali <irfan@cs.wustl.edu>
11 //=============================================================================
13 #ifndef TAO_REGULAR_POA_H
14 #define TAO_REGULAR_POA_H
16 #include /**/ "ace/pre.h"
18 #include "tao/PortableServer/portableserver_export.h"
20 #if !defined (ACE_LACKS_PRAGMA_ONCE)
21 # pragma once
22 #endif /* ACE_LACKS_PRAGMA_ONCE */
24 #include "tao/PortableServer/Root_POA.h"
26 #if !defined (CORBA_E_MICRO)
28 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
30 /**
31 * @class TAO_Regular_POA
33 * @brief Implementation of the PortableServer::POA interface.
35 * Implementation of the PortableServer::POA interface.
37 class TAO_PortableServer_Export TAO_Regular_POA
38 : public TAO_Root_POA
40 public:
41 TAO_Regular_POA (const String &name,
42 PortableServer::POAManager_ptr poa_manager,
43 const TAO_POA_Policy_Set &policies,
44 TAO_Root_POA *parent,
45 ACE_Lock &lock,
46 TAO_SYNCH_MUTEX &thread_lock,
47 TAO_ORB_Core &orb_core,
48 TAO_Object_Adapter *object_adapter);
50 ~TAO_Regular_POA () override = default;
52 PortableServer::POA_ptr the_parent () override;
54 protected:
55 void remove_from_parent_i () override;
57 CORBA::Boolean root () const override;
59 char root_key_type () override;
61 /// The parent of this POA, be aware that in case this pointer is nill,
62 /// we are a parent. This can be achieved by deriving from this Regular_POA
63 /// and pass a nill pointer as parent with the constructor.
64 TAO_Root_POA *parent_;
67 TAO_END_VERSIONED_NAMESPACE_DECL
69 #endif
71 // ****************************************************************
73 #if defined (__ACE_INLINE__)
74 # include "tao/PortableServer/Regular_POA.inl"
75 #endif /* __ACE_INLINE__ */
77 #include /**/ "ace/post.h"
79 #endif /* TAO_REGULAR_POA_H */