summaryrefslogtreecommitdiff
path: root/TAO/tao/PI_Server/Policy_Creator_T.h
diff options
context:
space:
mode:
authorWilliam R. Otte <wotte@dre.vanderbilt.edu>2006-07-24 15:50:21 +0000
committerWilliam R. Otte <wotte@dre.vanderbilt.edu>2006-07-24 15:50:21 +0000
commit3aff90f4a822fcf5d902bbfbcc9fa931d6191a8c (patch)
tree197c810e5f5bce17b1233a7cb8d7b50c0bcd25e2 /TAO/tao/PI_Server/Policy_Creator_T.h
parent6b846cf03c0bcbd8c276cb0af61a181e5f98eaae (diff)
downloadATCD-3aff90f4a822fcf5d902bbfbcc9fa931d6191a8c.tar.gz
Repo restructuring
Diffstat (limited to 'TAO/tao/PI_Server/Policy_Creator_T.h')
-rw-r--r--TAO/tao/PI_Server/Policy_Creator_T.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/TAO/tao/PI_Server/Policy_Creator_T.h b/TAO/tao/PI_Server/Policy_Creator_T.h
new file mode 100644
index 00000000000..6b4784fb607
--- /dev/null
+++ b/TAO/tao/PI_Server/Policy_Creator_T.h
@@ -0,0 +1,53 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Policy_Creator_T.h
+ *
+ * $Id$
+ *
+ * @author Johnny Willemsen <jwillemsen@remedy.nl>
+ */
+//=============================================================================
+
+#ifndef TAO_PORTABLESERVER_POLICY_CREATOR_T_H
+#define TAO_PORTABLESERVER_POLICY_CREATOR_T_H
+
+#include /**/ "ace/pre.h"
+
+#include "tao/ORB_Constants.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+ namespace Portable_Server
+ {
+ template <class POLICYTYPE, typename POLICYVALUE>
+ void create_policy (
+ POLICYTYPE *& policy,
+ POLICYVALUE &value,
+ const CORBA::Any& val
+ ACE_ENV_ARG_DECL)
+ {
+ if ((val >>= value) == 0)
+ ACE_THROW (CORBA::PolicyError (CORBA::BAD_POLICY_VALUE));
+
+ ACE_NEW_THROW_EX (policy,
+ POLICYTYPE (value),
+ CORBA::NO_MEMORY (TAO::VMCID,
+ CORBA::COMPLETED_NO));
+ ACE_CHECK;
+ }
+ }
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#include /**/ "ace/post.h"
+
+#endif /* TAO_PORTABLESERVER_POLICY_CREATOR_T_H */