Revert "Use a variable on the stack to not have a temporary in the call"
[ACE_TAO.git] / TAO / tao / PortableServer / POA_Policy_Set.h
blobd0d860b731844bdd6154b7a130360110e30e0183
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file POA_Policy_Set.h
7 * POA
9 * @author Irfan Pyarali
11 //=============================================================================
13 #ifndef TAO_POA_POLICY_SET_H
14 #define TAO_POA_POLICY_SET_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/Policy_Set.h"
25 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
27 class TAO_Policy_Validator;
29 class TAO_PortableServer_Export TAO_POA_Policy_Set
31 public:
32 TAO_POA_Policy_Set ();
34 TAO_POA_Policy_Set (const TAO_POA_Policy_Set &rhs);
36 ~TAO_POA_Policy_Set ();
38 /// Returns the policy at the specified index.
39 /// CORBA::Policy::_nil () is returned if the policy doesn't exist
40 CORBA::Policy *get_policy_by_index (CORBA::ULong index);
42 /// Get the number of policies
43 CORBA::ULong num_policies () const;
45 /// Obtain a single cached policy.
46 CORBA::Policy_ptr get_cached_policy (TAO_Cached_Policy_Type type);
48 void merge_policies (const CORBA::PolicyList &policies);
50 void merge_policy (const CORBA::Policy_ptr policy);
52 void validate_policies (TAO_Policy_Validator &validator,
53 TAO_ORB_Core &orb_core);
55 /// Add all of the client exposed policies to the specified list.
56 void add_client_exposed_fixed_policies (CORBA::PolicyList *client_exposed_policies);
58 TAO_Policy_Set &policies ();
60 /// Obtain a single policy.
61 CORBA::Policy_ptr get_policy (CORBA::PolicyType policy);
63 protected:
64 TAO_Policy_Set impl_;
67 TAO_END_VERSIONED_NAMESPACE_DECL
69 #if defined (__ACE_INLINE__)
70 # include "tao/PortableServer/POA_Policy_Set.inl"
71 #endif /* __ACE_INLINE__ */
73 #include /**/ "ace/post.h"
74 #endif /* TAO_POA_POLICY_SET_H */