POA_Policy_Set.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file POA_Policy_Set.h
00006  *
00007  *  POA_Policy_Set.h,v 1.13 2006/03/10 07:19:13 jtc Exp
00008  *
00009  *  POA
00010  *
00011  *  @author  Irfan Pyarali
00012  */
00013 //=============================================================================
00014 
00015 #ifndef TAO_POA_POLICY_SET_H
00016 #define TAO_POA_POLICY_SET_H
00017 #include /**/ "ace/pre.h"
00018 
00019 #include "tao/PortableServer/portableserver_export.h"
00020 
00021 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00022 # pragma once
00023 #endif /* ACE_LACKS_PRAGMA_ONCE */
00024 
00025 #include "tao/Policy_Set.h"
00026 
00027 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00028 
00029 class TAO_Policy_Validator;
00030 
00031 class TAO_PortableServer_Export TAO_POA_Policy_Set
00032 {
00033 public:
00034 
00035   TAO_POA_Policy_Set (void);
00036 
00037   TAO_POA_Policy_Set (const TAO_POA_Policy_Set &rhs);
00038 
00039   ~TAO_POA_Policy_Set (void);
00040 
00041   /// Returns the policy at the specified index.
00042   /// CORBA::Policy::_nil () is returned if the policy doesn't exist
00043   CORBA::Policy *get_policy_by_index (CORBA::ULong index);
00044 
00045   /// Get the number of policies
00046   CORBA::ULong num_policies (void) const;
00047 
00048   /// Obtain a single cached policy.
00049   CORBA::Policy_ptr get_cached_policy (TAO_Cached_Policy_Type type
00050                                        ACE_ENV_ARG_DECL);
00051 
00052   void merge_policies (const CORBA::PolicyList &policies
00053                        ACE_ENV_ARG_DECL);
00054 
00055   void merge_policy (const CORBA::Policy_ptr policy
00056                      ACE_ENV_ARG_DECL);
00057 
00058   void validate_policies (TAO_Policy_Validator &validator,
00059                           TAO_ORB_Core &orb_core
00060                           ACE_ENV_ARG_DECL);
00061 
00062   /// Add all of the client exposed policies to the specified list.
00063   void add_client_exposed_fixed_policies (CORBA::PolicyList *client_exposed_policies
00064                                           ACE_ENV_ARG_DECL);
00065 
00066   TAO_Policy_Set &policies (void);
00067 
00068   /// Obtain a single policy.
00069   CORBA::Policy_ptr get_policy (CORBA::PolicyType policy
00070                                 ACE_ENV_ARG_DECL);
00071 
00072 protected:
00073   TAO_Policy_Set impl_;
00074 };
00075 
00076 TAO_END_VERSIONED_NAMESPACE_DECL
00077 
00078 #if defined (__ACE_INLINE__)
00079 # include "tao/PortableServer/POA_Policy_Set.i"
00080 #endif /* __ACE_INLINE__ */
00081 
00082 #include /**/ "ace/post.h"
00083 #endif /* TAO_POA_POLICY_SET_H */

Generated on Thu Nov 9 12:40:40 2006 for TAO_PortableServer by doxygen 1.3.6