Policy_Creator_T.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file Policy_Creator_T.h
00006  *
00007  *  Policy_Creator_T.h,v 1.3 2005/11/04 09:26:55 ossama Exp
00008  *
00009  *  @author  Johnny Willemsen  <jwillemsen@remedy.nl>
00010  */
00011 //=============================================================================
00012 
00013 #ifndef TAO_PORTABLESERVER_POLICY_CREATOR_T_H
00014 #define TAO_PORTABLESERVER_POLICY_CREATOR_T_H
00015 
00016 #include /**/ "ace/pre.h"
00017 
00018 #include "tao/ORB_Constants.h"
00019 
00020 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00021 # pragma once
00022 #endif /* ACE_LACKS_PRAGMA_ONCE */
00023 
00024 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00025 
00026 namespace TAO
00027 {
00028   namespace Portable_Server
00029   {
00030     template <class POLICYTYPE, typename POLICYVALUE>
00031     void create_policy (
00032         POLICYTYPE *& policy,
00033         POLICYVALUE &value,
00034         const CORBA::Any& val
00035         ACE_ENV_ARG_DECL)
00036     {
00037       if ((val >>= value) == 0)
00038         ACE_THROW (CORBA::PolicyError (CORBA::BAD_POLICY_VALUE));
00039 
00040       ACE_NEW_THROW_EX (policy,
00041                         POLICYTYPE (value),
00042                         CORBA::NO_MEMORY (TAO::VMCID,
00043                                           CORBA::COMPLETED_NO));
00044       ACE_CHECK;
00045     }
00046   }
00047 }
00048 
00049 TAO_END_VERSIONED_NAMESPACE_DECL
00050 
00051 #include /**/ "ace/post.h"
00052 
00053 #endif /* TAO_PORTABLESERVER_POLICY_CREATOR_T_H */

Generated on Thu Nov 9 12:53:59 2006 for TAO_PI_Server by doxygen 1.3.6