3 //=============================================================================
5 * @file Policy_Current.h
7 * An implementation for the CORBA::PolicyCurrent interface.
9 * @author Carlos O'Ryan (coryan@cs.wustl.edu)
11 //=============================================================================
14 #ifndef TAO_POLICY_CURRENT_H
15 #define TAO_POLICY_CURRENT_H
17 #include /**/ "ace/pre.h"
19 #include "tao/orbconf.h"
21 #if !defined (ACE_LACKS_PRAGMA_ONCE)
23 #endif /* ACE_LACKS_PRAGMA_ONCE */
25 #if (TAO_HAS_CORBA_MESSAGING == 1)
27 #include "tao/Policy_CurrentC.h"
28 #include "tao/LocalObject.h"
30 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
32 class TAO_Policy_Current_Impl
;
34 class TAO_Policy_Current
35 : public CORBA::PolicyCurrent
36 , public ::CORBA::LocalObject
40 TAO_Policy_Current ();
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 (
54 const CORBA::PolicyList
& policies
,
55 CORBA::SetOverrideType set_add
);
57 // = Set and get the implementation.
58 TAO_Policy_Current_Impl
&implementation () const;
59 TAO_Policy_Current_Impl
&implementation (TAO_Policy_Current_Impl
&);
62 TAO_END_VERSIONED_NAMESPACE_DECL
64 #if defined (__ACE_INLINE__)
65 # include "tao/Policy_Current.inl"
66 #endif /* __ACE_INLINE__ */
68 #endif /* TAO_HAS_CORBA_MESSAGING == 1 */
70 #include /**/ "ace/post.h"
72 #endif /* TAO_POLICY_CURRENT_H */