RT_PolicyFactory.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file     RT_PolicyFactory.h
00006  *
00007  *  RT_PolicyFactory.h,v 1.11 2006/06/01 02:46:41 mesnier_p Exp
00008  *
00009  *  @author  Angelo Corsaro <corsaro@cs.wustl.edu>
00010  *  @author  Ossama Othman <ossama@uci.edu>
00011  */
00012 //=============================================================================
00013 
00014 
00015 #ifndef TAO_RT_POLICY_FACTORY_H
00016 #define TAO_RT_POLICY_FACTORY_H
00017 
00018 #include /**/ "ace/pre.h"
00019 
00020 #include "tao/orbconf.h"
00021 
00022 #if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0
00023 
00024 #include "tao/RTCORBA/rtcorba_export.h"
00025 
00026 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00027 # pragma once
00028 #endif /* ACE_LACKS_PRAGMA_ONCE */
00029 
00030 #include "tao/PI/PI.h"
00031 #include "tao/LocalObject.h"
00032 
00033 // This is to remove "inherits via dominance" warnings from MSVC.
00034 // MSVC is being a little too paranoid.
00035 #if defined(_MSC_VER)
00036 #pragma warning(push)
00037 #pragma warning(disable:4250)
00038 #endif /* _MSC_VER */
00039 
00040 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00041 
00042 /// Policy factory for all RTCORBA related policies.
00043 class TAO_RT_PolicyFactory
00044   : public virtual PortableInterceptor::PolicyFactory,
00045     public virtual TAO_Local_RefCounted_Object
00046 {
00047 public:
00048 
00049   CORBA::Policy_ptr create_policy (CORBA::PolicyType type,
00050                                    const CORBA::Any &value
00051                                    ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00052     ACE_THROW_SPEC ((CORBA::SystemException,
00053                      CORBA::PolicyError));
00054 
00055   CORBA::Policy_ptr _create_policy (CORBA::PolicyType type
00056                                     ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00057     ACE_THROW_SPEC ((CORBA::SystemException,
00058                      CORBA::PolicyError));
00059 };
00060 
00061 TAO_END_VERSIONED_NAMESPACE_DECL
00062 
00063 #if defined(_MSC_VER)
00064 #pragma warning(pop)
00065 #endif /* _MSC_VER */
00066 
00067 #endif /* TAO_HAS_CORBA_MESSAGING && TAO_HAS_CORBA_MESSAGING != 0 */
00068 
00069 #include /**/ "ace/post.h"
00070 
00071 #endif /* TAO_RT_POLICY_FACTORY_H */

Generated on Thu Nov 9 12:58:01 2006 for TAO_RTCORBA by doxygen 1.3.6