summaryrefslogtreecommitdiff
path: root/CIAO/tools/Config_Handlers/RT-CCM/TP_Handler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'CIAO/tools/Config_Handlers/RT-CCM/TP_Handler.cpp')
-rw-r--r--CIAO/tools/Config_Handlers/RT-CCM/TP_Handler.cpp57
1 files changed, 57 insertions, 0 deletions
diff --git a/CIAO/tools/Config_Handlers/RT-CCM/TP_Handler.cpp b/CIAO/tools/Config_Handlers/RT-CCM/TP_Handler.cpp
new file mode 100644
index 00000000000..3def524a0bb
--- /dev/null
+++ b/CIAO/tools/Config_Handlers/RT-CCM/TP_Handler.cpp
@@ -0,0 +1,57 @@
+// $Id$Exp lseibert
+
+#include "TP_Handler.h"
+#include "CIAOServerResources.hpp"
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+ bool TP_Handler::thread_pool (const ThreadpoolDef &src,
+ ::CIAO::DAnCE::ORS_Threadpool &dest)
+ {
+ dest.Id = CORBA::String_var (src.id ().c_str ());
+
+ dest.stacksize =
+ static_cast <ACE_UINT32> (src.stacksize ());
+
+ dest.static_threads =
+ static_cast <ACE_UINT32> (src.static_threads( ));
+
+ dest.dynamic_threads =
+ static_cast <ACE_UINT32> (src.dynamic_threads());
+
+ dest.default_priority =
+ static_cast <ACE_INT16> (src.default_priority ());
+
+ dest.allow_request_buffering = src.allow_request_buffering ();
+
+ dest.max_buffered_requests =
+ static_cast <ACE_UINT32> (src.max_buffered_requests ());
+
+ dest.max_request_buffer_size =
+ static_cast <ACE_UINT32> (src.max_request_buffered_size ());
+
+ return true;
+ }
+
+ ThreadpoolDef
+ TP_Handler::thread_pool (const ::CIAO::DAnCE::ORS_Threadpool &src)
+ {
+ ThreadpoolDef tp (XMLSchema::unsignedLong (src.stacksize),
+ XMLSchema::unsignedLong (src.static_threads),
+ XMLSchema::unsignedLong (src.dynamic_threads),
+ XMLSchema::int_ (src.default_priority),
+ XMLSchema::boolean (src.allow_request_buffering),
+ XMLSchema::unsignedLong (src.max_buffered_requests),
+ XMLSchema::unsignedLong (src.max_request_buffer_size));
+
+ if (src.Id.in () == 0)
+ {
+ tp.id (src.Id.in ());
+ }
+
+ return tp;
+ }
+ }
+}