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