Policy_Current.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file   Policy_Current.h
00006  *
00007  *  $Id: Policy_Current.h 81429 2008-04-24 18:49:54Z johnnyw $
00008  *
00009  * An implementation for the CORBA::PolicyCurrent interface.
00010  *
00011  *
00012  *  @author Carlos O'Ryan (coryan@cs.wustl.edu)
00013  */
00014 //=============================================================================
00015 
00016 
00017 #ifndef TAO_POLICY_CURRENT_H
00018 #define TAO_POLICY_CURRENT_H
00019 
00020 #include /**/ "ace/pre.h"
00021 
00022 #include "tao/orbconf.h"
00023 
00024 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00025 # pragma once
00026 #endif /* ACE_LACKS_PRAGMA_ONCE */
00027 
00028 #if (TAO_HAS_CORBA_MESSAGING == 1)
00029 
00030 #include "tao/Policy_CurrentC.h"
00031 #include "tao/LocalObject.h"
00032 
00033 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00034 
00035 class TAO_Policy_Current_Impl;
00036 
00037 class TAO_Policy_Current
00038   : public CORBA::PolicyCurrent
00039   , public ::CORBA::LocalObject
00040 {
00041 public:
00042   /// Constructor
00043   TAO_Policy_Current (void);
00044 
00045   /// Obtain a single policy.
00046   CORBA::Policy_ptr get_policy (CORBA::PolicyType policy);
00047 
00048   /// Obtain a single cached policy.
00049   CORBA::Policy_ptr get_cached_policy (TAO_Cached_Policy_Type type);
00050 
00051   // = The CORBA::PolicyManager operations
00052 
00053   virtual CORBA::PolicyList * get_policy_overrides (
00054         const CORBA::PolicyTypeSeq & ts);
00055 
00056   virtual void set_policy_overrides (
00057         const CORBA::PolicyList & policies,
00058         CORBA::SetOverrideType set_add);
00059 
00060   // = Set and get the implementation.
00061   TAO_Policy_Current_Impl &implementation (void) const;
00062   TAO_Policy_Current_Impl &implementation (TAO_Policy_Current_Impl &);
00063 };
00064 
00065 TAO_END_VERSIONED_NAMESPACE_DECL
00066 
00067 #if defined (__ACE_INLINE__)
00068 # include "tao/Policy_Current.inl"
00069 #endif /* __ACE_INLINE__ */
00070 
00071 #endif /* TAO_HAS_CORBA_MESSAGING == 1 */
00072 
00073 #include /**/ "ace/post.h"
00074 
00075 #endif /* TAO_POLICY_CURRENT_H */

Generated on Tue Feb 2 17:37:52 2010 for TAO by  doxygen 1.4.7