3 //=============================================================================
5 * @file Default_Policy_Validator.h
7 * This file contains the declaration for the default POA policy validator.
9 * @author Angelo Corsaro <corsaro@cs.wustl.edu>
10 * @author Frank Hunleth <fhuntleth@cs.wustl.edu>
12 //=============================================================================
14 #ifndef TAO_DEFAULT_POLICY_VALIDATOR_H_
15 #define TAO_DEFAULT_POLICY_VALIDATOR_H_
17 #include /**/ "ace/pre.h"
19 #include "tao/PortableServer/portableserver_export.h"
21 #if !defined (ACE_LACKS_PRAGMA_ONCE)
23 #endif /* ACE_LACKS_PRAGMA_ONCE */
25 #include "tao/Policy_Validator.h"
27 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
29 class TAO_PortableServer_Export TAO_POA_Default_Policy_Validator
30 : public TAO_Policy_Validator
34 TAO_POA_Default_Policy_Validator (TAO_ORB_Core
&orb_core
);
37 ~TAO_POA_Default_Policy_Validator () = default;
41 * Validate that the policies in the specified set
42 * are consistent and legal. Throw an appropriate exception
43 * if that is not the case.
45 void validate_impl (TAO_Policy_Set
&policies
);
47 /// Add/merge policies.
48 void merge_policies_impl (TAO_Policy_Set
&policies
);
51 * Return whether the specified policy type is legal for the
52 * current configuration. This is needed since the user can
53 * potentially specify policies that are unknown to an
54 * validate () routine, and these need to be caught.
56 virtual CORBA::Boolean
legal_policy_impl (CORBA::PolicyType type
);
59 TAO_END_VERSIONED_NAMESPACE_DECL
61 #include /**/ "ace/post.h"
62 #endif /* TAO_DEFAULT_POLICY_VALIDATOR_H_ */