POA_Policy_Set.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file POA_Policy_Set.h
00006  *
00007  *  $Id: POA_Policy_Set.h 79118 2007-07-31 11:38:01Z johnnyw $
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 
00051   void merge_policies (const CORBA::PolicyList &policies);
00052 
00053   void merge_policy (const CORBA::Policy_ptr policy);
00054 
00055   void validate_policies (TAO_Policy_Validator &validator,
00056                           TAO_ORB_Core &orb_core);
00057 
00058   /// Add all of the client exposed policies to the specified list.
00059   void add_client_exposed_fixed_policies (CORBA::PolicyList *client_exposed_policies);
00060 
00061   TAO_Policy_Set &policies (void);
00062 
00063   /// Obtain a single policy.
00064   CORBA::Policy_ptr get_policy (CORBA::PolicyType policy);
00065 
00066 protected:
00067   TAO_Policy_Set impl_;
00068 };
00069 
00070 TAO_END_VERSIONED_NAMESPACE_DECL
00071 
00072 #if defined (__ACE_INLINE__)
00073 # include "tao/PortableServer/POA_Policy_Set.inl"
00074 #endif /* __ACE_INLINE__ */
00075 
00076 #include /**/ "ace/post.h"
00077 #endif /* TAO_POA_POLICY_SET_H */

Generated on Tue Feb 2 17:40:54 2010 for TAO_PortableServer by  doxygen 1.4.7