Revert "Minor modernization of DynamicAny code"
[ACE_TAO.git] / TAO / tao / PortableServer / Default_Policy_Validator.h
blobf185890c7477c93db94aa8d4cb0d1a5cc2da365f
1 // -*- C++ -*-
3 //=============================================================================
4 /**
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)
22 # 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
32 public:
33 /// Constructor.
34 TAO_POA_Default_Policy_Validator (TAO_ORB_Core &orb_core);
36 /// Destructor.
37 ~TAO_POA_Default_Policy_Validator () = default;
39 protected:
40 /**
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);
50 /**
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_ */