00001 // -*- C++ -*- 00002 // 00003 // =================================================================== 00004 /** 00005 * @file BiDir_PolicyFactory.h 00006 * 00007 * $Id: BiDir_PolicyFactory.h 81429 2008-04-24 18:49:54Z johnnyw $ 00008 * 00009 * @author Balachandran Natarajan <bala@cs.wustl.edu> 00010 */ 00011 // =================================================================== 00012 #ifndef TAO_BIDIR_POLICY_FACTORY_H 00013 #define TAO_BIDIR_POLICY_FACTORY_H 00014 00015 #include /**/ "ace/pre.h" 00016 00017 #include "tao/BiDir_GIOP/bidirgiop_export.h" 00018 00019 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00020 # pragma once 00021 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00022 00023 00024 #include "tao/PI/PI.h" 00025 #include "tao/LocalObject.h" 00026 00027 // This is to remove "inherits via dominance" warnings from MSVC. 00028 // MSVC is being a little too paranoid. 00029 #if defined(_MSC_VER) 00030 # pragma warning(push) 00031 # pragma warning(disable:4250) 00032 #endif /* _MSC_VER */ 00033 00034 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00035 00036 /// Policy factory for all Messaging related policies. 00037 class TAO_BiDir_PolicyFactory 00038 : public PortableInterceptor::PolicyFactory 00039 , public ::CORBA::LocalObject 00040 { 00041 public: 00042 00043 virtual CORBA::Policy_ptr create_policy (CORBA::PolicyType type, 00044 const CORBA::Any & value); 00045 00046 }; 00047 00048 TAO_END_VERSIONED_NAMESPACE_DECL 00049 00050 #if defined(_MSC_VER) 00051 # pragma warning(pop) 00052 #endif /* _MSC_VER */ 00053 00054 00055 #include /**/ "ace/post.h" 00056 00057 #endif /* TAO_BIDIR_POLICY_FACTORY_H */