Updated logging to include the class/method so that it is more obvious where these...
[ACE_TAO.git] / TAO / tao / Policy_Manager.h
blob97a2fea048473cc7f4dd920438229ea7b88a1f95
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file Policy_Manager.h
7 * An implementation for the CORBA::PolicyManager interface.
9 * @author Carlos O'Ryan (coryan@cs.wustl.edu)
11 //=============================================================================
14 #ifndef TAO_POLICY_MANAGER_H
15 #define TAO_POLICY_MANAGER_H
17 #include /**/ "ace/pre.h"
18 #include "ace/Guard_T.h"
20 #if !defined (ACE_LACKS_PRAGMA_ONCE)
21 # pragma once
22 #endif /* ACE_LACKS_PRAGMA_ONCE */
24 #include "tao/orbconf.h"
26 #if (TAO_HAS_CORBA_MESSAGING == 1)
28 #include "tao/Policy_ManagerC.h"
29 #include "tao/LocalObject.h"
30 #include "tao/Policy_Set.h"
32 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
34 class TAO_Policy_Manager
35 : public CORBA::PolicyManager
36 , public ::CORBA::LocalObject
38 public:
39 /// constructor
40 TAO_Policy_Manager (void);
42 /// Obtain a single policy.
43 CORBA::Policy_ptr get_policy (CORBA::PolicyType policy);
45 /// Obtain a single cached policy.
46 CORBA::Policy_ptr get_cached_policy (TAO_Cached_Policy_Type type);
48 // = The CORBA::PolicyManager operations
50 virtual CORBA::PolicyList * get_policy_overrides (
51 const CORBA::PolicyTypeSeq & ts);
53 virtual void set_policy_overrides (const CORBA::PolicyList & policies,
54 CORBA::SetOverrideType set_add);
56 private:
57 TAO_Policy_Manager (TAO_Policy_Manager const &) = delete;
58 TAO_Policy_Manager & operator= (TAO_Policy_Manager const &) = delete;
59 TAO_Policy_Manager (TAO_Policy_Manager &&) = delete;
60 TAO_Policy_Manager & operator= (TAO_Policy_Manager &&) = delete;
62 private:
63 /// Protect access
64 TAO_SYNCH_MUTEX mutex_;
66 /// The implementation.
67 TAO_Policy_Set impl_;
70 TAO_END_VERSIONED_NAMESPACE_DECL
72 #if defined (__ACE_INLINE__)
73 # include "tao/Policy_Manager.inl"
74 #endif /* __ACE_INLINE__ */
76 #endif /* TAO_HAS_CORBA_MESSAGING == 1 */
78 #include /**/ "ace/post.h"
80 #endif /* TAO_POLICY_MANAGER_H */