3 //=============================================================================
5 * @file Policy_Current_Impl.h
7 * An implementation for the CORBA::PolicyManager interface.
9 * @author Carlos O'Ryan (coryan@cs.wustl.edu)
11 //=============================================================================
14 #ifndef TAO_POLICY_CURRENT_IMPL_H
15 #define TAO_POLICY_CURRENT_IMPL_H
17 #include /**/ "ace/pre.h"
19 #include /**/ "tao/TAO_Export.h"
21 #if !defined (ACE_LACKS_PRAGMA_ONCE)
23 #endif /* ACE_LACKS_PRAGMA_ONCE */
25 #include "tao/orbconf.h"
27 #if (TAO_HAS_CORBA_MESSAGING == 1)
29 #include "tao/PolicyC.h"
30 #include "tao/LocalObject.h"
31 #include "tao/Policy_Set.h"
33 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
35 class TAO_Policy_Current_Impl
38 TAO_Policy_Current_Impl ();
40 /// Obtain a single policy.
41 CORBA::Policy_ptr
get_policy (CORBA::PolicyType policy
);
43 /// Obtain a single cached policy.
44 CORBA::Policy_ptr
get_cached_policy (TAO_Cached_Policy_Type type
);
46 // = The CORBA::PolicyManager operations
48 CORBA::PolicyList
* get_policy_overrides (const CORBA::PolicyTypeSeq
& ts
);
49 void set_policy_overrides (const CORBA::PolicyList
& policies
,
50 CORBA::SetOverrideType set_add
);
53 /// The implementation.
54 TAO_Policy_Set manager_impl_
;
57 TAO_END_VERSIONED_NAMESPACE_DECL
59 #if defined (__ACE_INLINE__)
60 # include "tao/Policy_Current_Impl.inl"
61 #endif /* __ACE_INLINE__ */
63 #endif /* TAO_HAS_CORBA_MESSAGING == 1 */
65 #include /**/ "ace/post.h"
67 #endif /* TAO_POLICY_CURRENT_IMPL_H */