summaryrefslogtreecommitdiff
path: root/quellcode/demo1/Executor
diff options
context:
space:
mode:
Diffstat (limited to 'quellcode/demo1/Executor')
-rwxr-xr-xquellcode/demo1/Executor/.depend.Executor0
-rwxr-xr-xquellcode/demo1/Executor/.depend.Executor_Executor0
-rwxr-xr-xquellcode/demo1/Executor/.depend.Executor_Receiver0
-rwxr-xr-xquellcode/demo1/Executor/Executorbin0 -> 745856 bytes
-rwxr-xr-xquellcode/demo1/Executor/Executor.cpp53
-rwxr-xr-xquellcode/demo1/Executor/Executor.idl7
-rwxr-xr-xquellcode/demo1/Executor/Executor.mpc9
-rwxr-xr-xquellcode/demo1/Executor/ExecutorC.cpp500
-rwxr-xr-xquellcode/demo1/Executor/ExecutorC.h312
-rwxr-xr-xquellcode/demo1/Executor/ExecutorC.inl64
-rwxr-xr-xquellcode/demo1/Executor/ExecutorS.cpp925
-rwxr-xr-xquellcode/demo1/Executor/ExecutorS.h182
-rwxr-xr-xquellcode/demo1/Executor/ExecutorS.inl28
-rwxr-xr-xquellcode/demo1/Executor/ExecutorS_T.cpp41
-rwxr-xr-xquellcode/demo1/Executor/ExecutorS_T.h133
-rwxr-xr-xquellcode/demo1/Executor/ExecutorS_T.inl160
-rwxr-xr-xquellcode/demo1/Executor/Executor_i.cpp146
-rwxr-xr-xquellcode/demo1/Executor/Executor_i.h77
-rwxr-xr-xquellcode/demo1/Executor/GNUmakefile.Executor227
19 files changed, 2864 insertions, 0 deletions
diff --git a/quellcode/demo1/Executor/.depend.Executor b/quellcode/demo1/Executor/.depend.Executor
new file mode 100755
index 0000000..e69de29
--- /dev/null
+++ b/quellcode/demo1/Executor/.depend.Executor
diff --git a/quellcode/demo1/Executor/.depend.Executor_Executor b/quellcode/demo1/Executor/.depend.Executor_Executor
new file mode 100755
index 0000000..e69de29
--- /dev/null
+++ b/quellcode/demo1/Executor/.depend.Executor_Executor
diff --git a/quellcode/demo1/Executor/.depend.Executor_Receiver b/quellcode/demo1/Executor/.depend.Executor_Receiver
new file mode 100755
index 0000000..e69de29
--- /dev/null
+++ b/quellcode/demo1/Executor/.depend.Executor_Receiver
diff --git a/quellcode/demo1/Executor/Executor b/quellcode/demo1/Executor/Executor
new file mode 100755
index 0000000..692bc9b
--- /dev/null
+++ b/quellcode/demo1/Executor/Executor
Binary files differ
diff --git a/quellcode/demo1/Executor/Executor.cpp b/quellcode/demo1/Executor/Executor.cpp
new file mode 100755
index 0000000..2e43341
--- /dev/null
+++ b/quellcode/demo1/Executor/Executor.cpp
@@ -0,0 +1,53 @@
+#include <iostream>
+#include "Executor_i.h"
+#include "orbsvcs/CosNamingC.h"
+#include <tao/RTCORBA/RTCORBA.h>
+int main(int argc, char* argv[]){
+ try{
+ // initialize ORB
+ CORBA::ORB_var orb = CORBA::ORB_init(argc, argv, "ExecutorORB");
+ std::cout<<"ORB ok"<<std::endl;
+ // get RTORB
+ CORBA::Object_var rtorb = orb->resolve_initial_references("RTORB");
+ RTCORBA::RTORB_var rtORB = RTCORBA::RTORB::_narrow(rtorb.in());
+ std::cout<<"RTORB ok"<<std::endl;
+ // obtain rootPOA
+ CORBA::Object_var poa = orb->resolve_initial_references("RootPOA");
+ PortableServer::POA_var rootPOA = PortableServer::POA::_narrow(poa.in());
+ // activate POA Manager
+ PortableServer::POAManager_var poaManager = rootPOA->the_POAManager();
+ poaManager->activate();
+ std::cout<<"rootPOA OK"<<std::endl;
+ // create Policy
+ CORBA::PolicyList benchPolicy(1);
+ benchPolicy.length(1);
+ benchPolicy[0] = rtORB->create_priority_model_policy(RTCORBA::CLIENT_PROPAGATED, RTCORBA::minPriority);
+ // create ObjectAdapter, assign Policy
+ PortableServer::POA_var benchPOA = rootPOA->create_POA("executorPOA", poaManager.in(), benchPolicy);
+ std::cout<<"Policy assigned"<<std::endl;
+ // NameService
+ CORBA::Object_var namingObject = orb->resolve_initial_references("NameService");
+ CosNaming::NamingContext_var namingContext = CosNaming::NamingContext::_narrow(namingObject.in());
+ CosNaming::Name name(1);
+ name.length(1);
+ name[0].id = CORBA::string_dup("Executor");
+ namingContext->bind_new_context(name);
+ std::cout<<"Bound Executor to NameService"<<std::endl;
+ name.length(2);
+ name[1].id = CORBA::string_dup("ExecCmd");
+ Executor_ExecCmd_i servant(argc, argv, orb);
+ PortableServer::ObjectId_var oid = benchPOA->activate_object(&servant);
+ CORBA::Object_var servantObj = benchPOA->id_to_reference(oid.in());
+ namingContext->rebind(name, servantObj.in());
+ std::cout<<"servant activated\n";
+ // start ORB
+ orb->run();
+ std::cout<<"ORB ready"<<std::endl;
+ //destroy
+ rootPOA->destroy(1,1);
+ orb->destroy();
+ }catch(CORBA::Exception &any){
+ std::cout<<"Exception occured: "<<any<<std::endl;
+ }
+ return 0;
+}
diff --git a/quellcode/demo1/Executor/Executor.idl b/quellcode/demo1/Executor/Executor.idl
new file mode 100755
index 0000000..9ee176c
--- /dev/null
+++ b/quellcode/demo1/Executor/Executor.idl
@@ -0,0 +1,7 @@
+#pragma prefix "manut"
+module Executor {
+ interface ExecCmd {
+ boolean changeMode(in short mode);
+ boolean setPorts(in short one, in short two, in short three);
+ };
+};
diff --git a/quellcode/demo1/Executor/Executor.mpc b/quellcode/demo1/Executor/Executor.mpc
new file mode 100755
index 0000000..6f00c42
--- /dev/null
+++ b/quellcode/demo1/Executor/Executor.mpc
@@ -0,0 +1,9 @@
+project(Executor): rt_server, naming {
+ requires += exceptions
+ Source_Files {
+ ../Controller/ControllerC.cpp
+ ../Receiver/ReceiverC.cpp
+ Executor_i.cpp
+ Executor.cpp
+ }
+}
diff --git a/quellcode/demo1/Executor/ExecutorC.cpp b/quellcode/demo1/Executor/ExecutorC.cpp
new file mode 100755
index 0000000..1145cbb
--- /dev/null
+++ b/quellcode/demo1/Executor/ExecutorC.cpp
@@ -0,0 +1,500 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:283
+
+
+#include "ExecutorC.h"
+#include "tao/AnyTypeCode/Null_RefCount_Policy.h"
+#include "tao/AnyTypeCode/TypeCode_Constants.h"
+#include "tao/AnyTypeCode/Alias_TypeCode_Static.h"
+#include "tao/AnyTypeCode/Objref_TypeCode_Static.h"
+#include "tao/CDR.h"
+#include "tao/Exception_Data.h"
+#include "tao/Invocation_Adapter.h"
+#include "tao/Object_T.h"
+#include "tao/AnyTypeCode/Any.h"
+#include "tao/AnyTypeCode/Any_Impl_T.h"
+#include "tao/Basic_Arguments.h"
+#include "tao/Special_Basic_Arguments.h"
+#include "ace/OS_NS_string.h"
+
+#if !defined (__ACE_INLINE__)
+#include "ExecutorC.inl"
+#endif /* !defined INLINE */
+
+// TAO_IDL - Generated from
+// be/be_visitor_arg_traits.cpp:71
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+
+
+// Arg traits specializations.
+namespace TAO
+{
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_cs.cpp:60
+
+// Traits specializations for Executor::ExecCmd.
+
+Executor::ExecCmd_ptr
+TAO::Objref_Traits<Executor::ExecCmd>::duplicate (
+ Executor::ExecCmd_ptr p
+ )
+{
+ return Executor::ExecCmd::_duplicate (p);
+}
+
+void
+TAO::Objref_Traits<Executor::ExecCmd>::release (
+ Executor::ExecCmd_ptr p
+ )
+{
+ CORBA::release (p);
+}
+
+Executor::ExecCmd_ptr
+TAO::Objref_Traits<Executor::ExecCmd>::nil (void)
+{
+ return Executor::ExecCmd::_nil ();
+}
+
+::CORBA::Boolean
+TAO::Objref_Traits<Executor::ExecCmd>::marshal (
+ const Executor::ExecCmd_ptr p,
+ TAO_OutputCDR & cdr
+ )
+{
+ return ::CORBA::Object::marshal (p, cdr);
+}
+
+// Function pointer for collocation factory initialization.
+TAO::Collocation_Proxy_Broker *
+(*Executor__TAO_ExecCmd_Proxy_Broker_Factory_function_pointer) (
+ ::CORBA::Object_ptr obj
+ ) = 0;
+
+// TAO_IDL - Generated from
+// be/be_visitor_operation/operation_cs.cpp:78
+
+::CORBA::Boolean Executor::ExecCmd::changeMode (
+ ::CORBA::Short mode
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException
+ ))
+{
+ if (!this->is_evaluated ())
+ {
+ ACE_NESTED_CLASS ( ::CORBA, Object)::tao_object_initialize (this);
+ }
+
+ if (this->the_TAO_ExecCmd_Proxy_Broker_ == 0)
+ {
+ Executor_ExecCmd_setup_collocation ();
+ }
+
+ TAO::Arg_Traits< ::ACE_InputCDR::to_boolean>::ret_val _tao_retval;
+ TAO::Arg_Traits< ::CORBA::Short>::in_arg_val _tao_mode (mode);
+
+ TAO::Argument *_the_tao_operation_signature [] =
+ {
+ &_tao_retval,
+ &_tao_mode
+ };
+
+ TAO::Invocation_Adapter _tao_call (
+ this,
+ _the_tao_operation_signature,
+ 2,
+ "changeMode",
+ 10,
+ this->the_TAO_ExecCmd_Proxy_Broker_
+ );
+
+ _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (_tao_retval.excp ());
+
+ return _tao_retval.retn ();
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_operation/operation_cs.cpp:78
+
+::CORBA::Boolean Executor::ExecCmd::setPorts (
+ ::CORBA::Short one,
+ ::CORBA::Short two,
+ ::CORBA::Short three
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException
+ ))
+{
+ if (!this->is_evaluated ())
+ {
+ ACE_NESTED_CLASS ( ::CORBA, Object)::tao_object_initialize (this);
+ }
+
+ if (this->the_TAO_ExecCmd_Proxy_Broker_ == 0)
+ {
+ Executor_ExecCmd_setup_collocation ();
+ }
+
+ TAO::Arg_Traits< ::ACE_InputCDR::to_boolean>::ret_val _tao_retval;
+ TAO::Arg_Traits< ::CORBA::Short>::in_arg_val _tao_one (one);
+ TAO::Arg_Traits< ::CORBA::Short>::in_arg_val _tao_two (two);
+ TAO::Arg_Traits< ::CORBA::Short>::in_arg_val _tao_three (three);
+
+ TAO::Argument *_the_tao_operation_signature [] =
+ {
+ &_tao_retval,
+ &_tao_one,
+ &_tao_two,
+ &_tao_three
+ };
+
+ TAO::Invocation_Adapter _tao_call (
+ this,
+ _the_tao_operation_signature,
+ 4,
+ "setPorts",
+ 8,
+ this->the_TAO_ExecCmd_Proxy_Broker_
+ );
+
+ _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (_tao_retval.excp ());
+
+ return _tao_retval.retn ();
+}
+
+Executor::ExecCmd::ExecCmd (void)
+ : the_TAO_ExecCmd_Proxy_Broker_ (0)
+{
+ this->Executor_ExecCmd_setup_collocation ();
+}
+
+void
+Executor::ExecCmd::Executor_ExecCmd_setup_collocation ()
+{
+ if (::Executor__TAO_ExecCmd_Proxy_Broker_Factory_function_pointer)
+ {
+ this->the_TAO_ExecCmd_Proxy_Broker_ =
+ ::Executor__TAO_ExecCmd_Proxy_Broker_Factory_function_pointer (this);
+ }
+}
+
+Executor::ExecCmd::~ExecCmd (void)
+{}
+
+void
+Executor::ExecCmd::_tao_any_destructor (void *_tao_void_pointer)
+{
+ ExecCmd *_tao_tmp_pointer =
+ static_cast<ExecCmd *> (_tao_void_pointer);
+ CORBA::release (_tao_tmp_pointer);
+}
+
+Executor::ExecCmd_ptr
+Executor::ExecCmd::_narrow (
+ ::CORBA::Object_ptr _tao_objref
+ ACE_ENV_ARG_DECL
+ )
+{
+ return
+ TAO::Narrow_Utils<ExecCmd>::narrow (
+ _tao_objref,
+ "IDL:manut/Executor/ExecCmd:1.0",
+ Executor__TAO_ExecCmd_Proxy_Broker_Factory_function_pointer
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+Executor::ExecCmd_ptr
+Executor::ExecCmd::_unchecked_narrow (
+ ::CORBA::Object_ptr _tao_objref
+ ACE_ENV_ARG_DECL
+ )
+{
+ return
+ TAO::Narrow_Utils<ExecCmd>::unchecked_narrow (
+ _tao_objref,
+ "IDL:manut/Executor/ExecCmd:1.0",
+ Executor__TAO_ExecCmd_Proxy_Broker_Factory_function_pointer
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+Executor::ExecCmd_ptr
+Executor::ExecCmd::_duplicate (ExecCmd_ptr obj)
+{
+ if (! CORBA::is_nil (obj))
+ {
+ obj->_add_ref ();
+ }
+
+ return obj;
+}
+
+void
+Executor::ExecCmd::_tao_release (ExecCmd_ptr obj)
+{
+ CORBA::release (obj);
+}
+
+::CORBA::Boolean
+Executor::ExecCmd::_is_a (
+ const char *value
+ ACE_ENV_ARG_DECL
+ )
+{
+ if (
+ !ACE_OS::strcmp (
+ value,
+ "IDL:manut/Executor/ExecCmd:1.0"
+ ) ||
+ !ACE_OS::strcmp (
+ value,
+ "IDL:omg.org/CORBA/Object:1.0"
+ )
+ )
+ {
+ return true; // success using local knowledge
+ }
+ else
+ {
+ return this->ACE_NESTED_CLASS ( ::CORBA, Object)::_is_a (
+ value
+ ACE_ENV_ARG_PARAMETER
+ );
+ }
+}
+
+const char* Executor::ExecCmd::_interface_repository_id (void) const
+{
+ return "IDL:manut/Executor/ExecCmd:1.0";
+}
+
+::CORBA::Boolean
+Executor::ExecCmd::marshal (TAO_OutputCDR &cdr)
+{
+ return (cdr << this);
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/objref_typecode.cpp:76
+
+static TAO::TypeCode::Objref<char const *,
+ TAO::Null_RefCount_Policy>
+ _tao_tc_Executor_ExecCmd (
+ ::CORBA::tk_objref,
+ "IDL:manut/Executor/ExecCmd:1.0",
+ "ExecCmd");
+
+namespace Executor
+{
+ ::CORBA::TypeCode_ptr const _tc_ExecCmd =
+ &_tao_tc_Executor_ExecCmd;
+}
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_cs.cpp:51
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+
+
+namespace TAO
+{
+ template<>
+ ::CORBA::Boolean
+ Any_Impl_T<Executor::ExecCmd>::to_object (
+ ::CORBA::Object_ptr &_tao_elem
+ ) const
+ {
+ _tao_elem = ::CORBA::Object::_duplicate (this->value_);
+ return true;
+ }
+}
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+#if defined (ACE_ANY_OPS_USE_NAMESPACE)
+
+namespace Executor
+{
+
+
+ // Copying insertion.
+ void
+ operator<<= (
+ ::CORBA::Any &_tao_any,
+ ExecCmd_ptr _tao_elem
+ )
+ {
+ ExecCmd_ptr _tao_objptr =
+ ExecCmd::_duplicate (_tao_elem);
+ _tao_any <<= &_tao_objptr;
+ }
+
+ // Non-copying insertion.
+ void
+ operator<<= (
+ ::CORBA::Any &_tao_any,
+ ExecCmd_ptr *_tao_elem
+ )
+ {
+ TAO::Any_Impl_T<ExecCmd>::insert (
+ _tao_any,
+ ExecCmd::_tao_any_destructor,
+ _tc_ExecCmd,
+ *_tao_elem
+ );
+ }
+
+ ::CORBA::Boolean
+ operator>>= (
+ const ::CORBA::Any &_tao_any,
+ ExecCmd_ptr &_tao_elem
+ )
+ {
+ return
+ TAO::Any_Impl_T<ExecCmd>::extract (
+ _tao_any,
+ ExecCmd::_tao_any_destructor,
+ _tc_ExecCmd,
+ _tao_elem
+ );
+ }
+}
+
+#else
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+
+
+// Copying insertion.
+void
+operator<<= (
+ ::CORBA::Any &_tao_any,
+ Executor::ExecCmd_ptr _tao_elem
+ )
+{
+ Executor::ExecCmd_ptr _tao_objptr =
+ Executor::ExecCmd::_duplicate (_tao_elem);
+ _tao_any <<= &_tao_objptr;
+}
+
+// Non-copying insertion.
+void
+operator<<= (
+ ::CORBA::Any &_tao_any,
+ Executor::ExecCmd_ptr *_tao_elem
+ )
+{
+ TAO::Any_Impl_T<Executor::ExecCmd>::insert (
+ _tao_any,
+ Executor::ExecCmd::_tao_any_destructor,
+ Executor::_tc_ExecCmd,
+ *_tao_elem
+ );
+}
+
+::CORBA::Boolean
+operator>>= (
+ const ::CORBA::Any &_tao_any,
+ Executor::ExecCmd_ptr &_tao_elem
+ )
+{
+ return
+ TAO::Any_Impl_T<Executor::ExecCmd>::extract (
+ _tao_any,
+ Executor::ExecCmd::_tao_any_destructor,
+ Executor::_tc_ExecCmd,
+ _tao_elem
+ );
+}
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+#endif
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/cdr_op_cs.cpp:63
+
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+::CORBA::Boolean operator<< (
+ TAO_OutputCDR &strm,
+ const Executor::ExecCmd_ptr _tao_objref
+ )
+{
+ ::CORBA::Object_ptr _tao_corba_obj = _tao_objref;
+ return (strm << _tao_corba_obj);
+}
+
+::CORBA::Boolean operator>> (
+ TAO_InputCDR &strm,
+ Executor::ExecCmd_ptr &_tao_objref
+ )
+{
+ ::CORBA::Object_var obj;
+
+ if (!(strm >> obj.inout ()))
+ {
+ return false;
+ }
+
+ typedef ::Executor::ExecCmd RHS_SCOPED_NAME;
+
+ // Narrow to the right type.
+ _tao_objref =
+ TAO::Narrow_Utils<RHS_SCOPED_NAME>::unchecked_narrow (
+ obj.in (),
+ Executor__TAO_ExecCmd_Proxy_Broker_Factory_function_pointer
+ );
+
+ return 1;
+}
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
diff --git a/quellcode/demo1/Executor/ExecutorC.h b/quellcode/demo1/Executor/ExecutorC.h
new file mode 100755
index 0000000..3b979d5
--- /dev/null
+++ b/quellcode/demo1/Executor/ExecutorC.h
@@ -0,0 +1,312 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:155
+
+#ifndef _TAO_IDL_EXECUTORC_H_
+#define _TAO_IDL_EXECUTORC_H_
+
+#include /**/ "ace/pre.h"
+
+
+#include "ace/config-all.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/AnyTypeCode/AnyTypeCode_methods.h"
+#include "tao/ORB.h"
+#include "tao/SystemException.h"
+#include "tao/Environment.h"
+#include "tao/Object.h"
+#include "tao/Objref_VarOut_T.h"
+#include "tao/Versioned_Namespace.h"
+
+#if defined (TAO_EXPORT_MACRO)
+#undef TAO_EXPORT_MACRO
+#endif
+#define TAO_EXPORT_MACRO
+
+// TAO_IDL - Generated from
+// be/be_visitor_root/root_ch.cpp:62
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+
+
+namespace TAO
+{
+ class Collocation_Proxy_Broker;
+ template<typename T> class Narrow_Utils;
+}
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_module/module_ch.cpp:49
+
+namespace Executor
+{
+
+ // TAO_IDL - Generated from
+ // be/be_interface.cpp:646
+
+#if !defined (_EXECUTOR_EXECCMD__VAR_OUT_CH_)
+#define _EXECUTOR_EXECCMD__VAR_OUT_CH_
+
+ class ExecCmd;
+ typedef ExecCmd *ExecCmd_ptr;
+
+ typedef
+ TAO_Objref_Var_T<
+ ExecCmd
+ >
+ ExecCmd_var;
+
+ typedef
+ TAO_Objref_Out_T<
+ ExecCmd
+ >
+ ExecCmd_out;
+
+#endif /* end #if !defined */
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_interface/interface_ch.cpp:54
+
+#if !defined (_EXECUTOR_EXECCMD_CH_)
+#define _EXECUTOR_EXECCMD_CH_
+
+ class ExecCmd
+ : public virtual ::CORBA::Object
+ {
+ public:
+ friend class TAO::Narrow_Utils<ExecCmd>;
+ typedef ExecCmd_ptr _ptr_type;
+ typedef ExecCmd_var _var_type;
+
+ // The static operations.
+ static ExecCmd_ptr _duplicate (ExecCmd_ptr obj);
+
+ static void _tao_release (ExecCmd_ptr obj);
+
+ static ExecCmd_ptr _narrow (
+ ::CORBA::Object_ptr obj
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ );
+
+ static ExecCmd_ptr _unchecked_narrow (
+ ::CORBA::Object_ptr obj
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ );
+
+ static ExecCmd_ptr _nil (void)
+ {
+ return static_cast<ExecCmd_ptr> (0);
+ }
+
+ static void _tao_any_destructor (void *);
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/operation_ch.cpp:46
+
+ virtual ::CORBA::Boolean changeMode (
+ ::CORBA::Short mode
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException
+ ));
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/operation_ch.cpp:46
+
+ virtual ::CORBA::Boolean setPorts (
+ ::CORBA::Short one,
+ ::CORBA::Short two,
+ ::CORBA::Short three
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException
+ ));
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_interface/interface_ch.cpp:210
+
+ virtual ::CORBA::Boolean _is_a (
+ const char *type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+ virtual ::CORBA::Boolean marshal (TAO_OutputCDR &cdr);
+ private:
+ TAO::Collocation_Proxy_Broker *the_TAO_ExecCmd_Proxy_Broker_;
+
+ protected:
+ // Concrete interface only.
+ ExecCmd (void);
+
+ // These methods travese the inheritance tree and set the
+ // parents piece of the given class in the right mode.
+ virtual void Executor_ExecCmd_setup_collocation (void);
+
+ // Concrete non-local interface only.
+ ExecCmd (
+ IOP::IOR *ior,
+ TAO_ORB_Core *orb_core = 0
+ );
+
+ // Non-local interface only.
+ ExecCmd (
+ TAO_Stub *objref,
+ ::CORBA::Boolean _tao_collocated = 0,
+ TAO_Abstract_ServantBase *servant = 0,
+ TAO_ORB_Core *orb_core = 0
+ );
+
+ virtual ~ExecCmd (void);
+
+ private:
+ // Private and unimplemented for concrete interfaces.
+ ExecCmd (const ExecCmd &);
+
+ void operator= (const ExecCmd &);
+ };
+
+#endif /* end #if !defined */
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_typecode/typecode_decl.cpp:49
+
+ extern ::CORBA::TypeCode_ptr const _tc_ExecCmd;
+
+// TAO_IDL - Generated from
+// be/be_visitor_module/module_ch.cpp:78
+
+} // module Executor
+
+// Proxy Broker Factory function pointer declarations.
+
+// TAO_IDL - Generated from
+// be/be_visitor_root/root.cpp:139
+
+extern
+TAO::Collocation_Proxy_Broker *
+(*Executor__TAO_ExecCmd_Proxy_Broker_Factory_function_pointer) (
+ ::CORBA::Object_ptr obj
+ );
+
+// TAO_IDL - Generated from
+// be/be_visitor_traits.cpp:62
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+
+
+// Traits specializations.
+namespace TAO
+{
+
+#if !defined (_EXECUTOR_EXECCMD__TRAITS_)
+#define _EXECUTOR_EXECCMD__TRAITS_
+
+ template<>
+ struct Objref_Traits< ::Executor::ExecCmd>
+ {
+ static ::Executor::ExecCmd_ptr duplicate (
+ ::Executor::ExecCmd_ptr
+ );
+ static void release (
+ ::Executor::ExecCmd_ptr
+ );
+ static ::Executor::ExecCmd_ptr nil (void);
+ static ::CORBA::Boolean marshal (
+ const ::Executor::ExecCmd_ptr p,
+ TAO_OutputCDR & cdr
+ );
+ };
+
+#endif /* end #if !defined */
+}
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_ch.cpp:54
+
+
+
+#if defined (ACE_ANY_OPS_USE_NAMESPACE)
+
+namespace Executor
+{
+ void operator<<= ( ::CORBA::Any &, ExecCmd_ptr); // copying
+ void operator<<= ( ::CORBA::Any &, ExecCmd_ptr *); // non-copying
+ ::CORBA::Boolean operator>>= (const ::CORBA::Any &, ExecCmd_ptr &);
+}
+
+#else
+
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+ void operator<<= (::CORBA::Any &, Executor::ExecCmd_ptr); // copying
+ void operator<<= (::CORBA::Any &, Executor::ExecCmd_ptr *); // non-copying
+ ::CORBA::Boolean operator>>= (const ::CORBA::Any &, Executor::ExecCmd_ptr &);
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+#endif
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/cdr_op_ch.cpp:55
+
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+ ::CORBA::Boolean operator<< (TAO_OutputCDR &, const Executor::ExecCmd_ptr );
+ ::CORBA::Boolean operator>> (TAO_InputCDR &, Executor::ExecCmd_ptr &);
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:1093
+#if defined (__ACE_INLINE__)
+#include "ExecutorC.inl"
+#endif /* defined INLINE */
+
+#include /**/ "ace/post.h"
+
+#endif /* ifndef */
+
+
diff --git a/quellcode/demo1/Executor/ExecutorC.inl b/quellcode/demo1/Executor/ExecutorC.inl
new file mode 100755
index 0000000..ef59fa6
--- /dev/null
+++ b/quellcode/demo1/Executor/ExecutorC.inl
@@ -0,0 +1,64 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_ci.cpp:70
+
+#if !defined (_EXECUTOR_EXECCMD___CI_)
+#define _EXECUTOR_EXECCMD___CI_
+
+ACE_INLINE
+Executor::ExecCmd::ExecCmd (
+ TAO_Stub *objref,
+ ::CORBA::Boolean _tao_collocated,
+ TAO_Abstract_ServantBase *servant,
+ TAO_ORB_Core *oc
+ )
+ : ACE_NESTED_CLASS (CORBA, Object) (
+ objref,
+ _tao_collocated,
+ servant,
+ oc
+ ),
+ the_TAO_ExecCmd_Proxy_Broker_ (0)
+{
+ this->Executor_ExecCmd_setup_collocation ();
+}
+
+ACE_INLINE
+Executor::ExecCmd::ExecCmd (
+ IOP::IOR *ior,
+ TAO_ORB_Core *oc
+ )
+ : ACE_NESTED_CLASS ( ::CORBA, Object) (ior, oc),
+ the_TAO_ExecCmd_Proxy_Broker_ (0)
+{
+}
+
+#endif /* end #if !defined */
+
diff --git a/quellcode/demo1/Executor/ExecutorS.cpp b/quellcode/demo1/Executor/ExecutorS.cpp
new file mode 100755
index 0000000..cb26310
--- /dev/null
+++ b/quellcode/demo1/Executor/ExecutorS.cpp
@@ -0,0 +1,925 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:577
+
+#ifndef _TAO_IDL_EXECUTORS_CPP_
+#define _TAO_IDL_EXECUTORS_CPP_
+
+
+#include "ExecutorS.h"
+#include "tao/PortableServer/Operation_Table_Perfect_Hash.h"
+#include "tao/PortableServer/Upcall_Command.h"
+#include "tao/PortableServer/Upcall_Wrapper.h"
+#include "tao/PortableServer/Basic_SArguments.h"
+#include "tao/PortableServer/Object_SArgument_T.h"
+#include "tao/PortableServer/Special_Basic_SArguments.h"
+#include "tao/PortableServer/UB_String_SArguments.h"
+#include "tao/PortableServer/TypeCode_SArg_Traits.h"
+#include "tao/PortableServer/Object_SArg_Traits.h"
+#include "tao/PortableServer/get_arg.h"
+#include "tao/Special_Basic_Arguments.h"
+#include "tao/UB_String_Arguments.h"
+#include "tao/TAO_Server_Request.h"
+#include "tao/ORB_Core.h"
+#include "tao/Profile.h"
+#include "tao/Stub.h"
+#include "tao/IFR_Client_Adapter.h"
+#include "tao/Object_T.h"
+#include "tao/AnyTypeCode/TypeCode.h"
+#include "tao/AnyTypeCode/DynamicC.h"
+#include "tao/CDR.h"
+#include "tao/operation_details.h"
+#include "tao/PortableInterceptor.h"
+#include "tao/Basic_Arguments.h"
+#include "tao/Special_Basic_Arguments.h"
+#include "ace/Dynamic_Service.h"
+#include "ace/Malloc_Allocator.h"
+
+#if !defined (__ACE_INLINE__)
+#include "ExecutorS.inl"
+#endif /* !defined INLINE */
+
+// TAO_IDL - Generated from
+// be/be_visitor_arg_traits.cpp:71
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+
+
+// Arg traits specializations.
+namespace TAO
+{
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_arg_traits.cpp:71
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+
+
+// Arg traits specializations.
+namespace TAO
+{
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+// TAO_IDL - Generated from
+// be/be_interface.cpp:1511
+
+class TAO_Executor_ExecCmd_Perfect_Hash_OpTable
+ : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: /opt/ACE_wrappers/1.5/bin/gperf -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_Executor_ExecCmd_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_Executor_ExecCmd_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 0,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 0,
+ 21, 5, 0, 5, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 0, 0, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21,
+#else
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 0, 21, 0, 21, 5,
+ 0, 5, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 0, 0, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]];
+}
+
+const TAO_operation_db_entry *
+TAO_Executor_ExecCmd_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 7,
+ MIN_WORD_LENGTH = 5,
+ MAX_WORD_LENGTH = 14,
+ MIN_HASH_VALUE = 5,
+ MAX_HASH_VALUE = 20,
+ HASH_VALUE_RANGE = 16,
+ DUPLICATES = 0,
+ WORDLIST_SIZE = 12
+ };
+
+ static const TAO_operation_db_entry wordlist[] =
+ {
+ {"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0},
+ {"_is_a", &POA_Executor::ExecCmd::_is_a_skel, 0},
+ {"",0,0},{"",0,0},
+ {"setPorts", &POA_Executor::ExecCmd::setPorts_skel, 0},
+ {"",0,0},
+ {"_component", &POA_Executor::ExecCmd::_component_skel, 0},
+ {"",0,0},{"",0,0},
+ {"_non_existent", &POA_Executor::ExecCmd::_non_existent_skel, 0},
+ {"_repository_id", &POA_Executor::ExecCmd::_repository_id_skel, 0},
+ {"_interface", &POA_Executor::ExecCmd::_interface_skel, 0},
+ {"",0,0},{"",0,0},{"",0,0},{"",0,0},
+ {"changeMode", &POA_Executor::ExecCmd::changeMode_skel, 0},
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ const char *s = wordlist[key].opname;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[key];
+ }
+ }
+ return 0;
+}
+
+static TAO_Executor_ExecCmd_Perfect_Hash_OpTable tao_Executor_ExecCmd_optable;
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_ss.cpp:930
+
+TAO::Collocation_Proxy_Broker *
+Executor__TAO_ExecCmd_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr)
+{
+ return reinterpret_cast<TAO::Collocation_Proxy_Broker *> (0xdead); // Dummy
+}
+
+int
+Executor__TAO_ExecCmd_Proxy_Broker_Factory_Initializer (size_t)
+{
+ Executor__TAO_ExecCmd_Proxy_Broker_Factory_function_pointer =
+ Executor__TAO_ExecCmd_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int
+Executor__TAO_ExecCmd_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ Executor__TAO_ExecCmd_Proxy_Broker_Factory_Initializer (
+ reinterpret_cast<size_t> (Executor__TAO_ExecCmd_Proxy_Broker_Factory_Initializer)
+ );
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_ss.cpp:103
+
+POA_Executor::ExecCmd::ExecCmd (void)
+ : TAO_ServantBase ()
+{
+ this->optable_ = &tao_Executor_ExecCmd_optable;
+}
+
+POA_Executor::ExecCmd::ExecCmd (const ExecCmd& rhs)
+ : TAO_Abstract_ServantBase (rhs),
+ TAO_ServantBase (rhs)
+{
+}
+
+POA_Executor::ExecCmd::~ExecCmd (void)
+{
+}namespace POA_Executor
+{
+
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/upcall_command_ss.cpp:127
+
+ class changeMode_ExecCmd
+ : public TAO::Upcall_Command
+ {
+ public:
+ inline changeMode_ExecCmd (
+ POA_Executor::ExecCmd * servant,
+ TAO_Operation_Details const * operation_details,
+ TAO::Argument * const args[])
+ : servant_ (servant)
+ , operation_details_ (operation_details)
+ , args_ (args)
+ {
+ }
+
+ virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
+ {
+ TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval =
+ TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean, TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type> (
+ this->operation_details_,
+ this->args_);
+
+ TAO::SArg_Traits< ::CORBA::Short>::in_arg_type arg_1 =
+ TAO::Portable_Server::get_in_arg< ::CORBA::Short, TAO::SArg_Traits< ::CORBA::Short>::in_arg_type> (
+ this->operation_details_,
+ this->args_,
+ 1);
+
+ retval =
+ this->servant_->changeMode (
+ arg_1
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ private:
+ POA_Executor::ExecCmd * const servant_;
+ TAO_Operation_Details const * const operation_details_;
+ TAO::Argument * const * const args_;
+ };
+}
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_operation/operation_ss.cpp:190
+
+void POA_Executor::ExecCmd::changeMode_skel (
+ TAO_ServerRequest & server_request,
+ void * TAO_INTERCEPTOR (servant_upcall),
+ void * servant
+ ACE_ENV_ARG_DECL
+ )
+{
+#if TAO_HAS_INTERCEPTORS == 1
+ static ::CORBA::TypeCode_ptr const * const exceptions = 0;
+ static ::CORBA::ULong const nexceptions = 0;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval;
+ TAO::SArg_Traits< ::CORBA::Short>::in_arg_val _tao_mode;
+
+ TAO::Argument * const args[] =
+ {
+ &retval,
+ &_tao_mode
+ };
+
+ static size_t const nargs = 2;
+
+ POA_Executor::ExecCmd * const impl =
+ static_cast<POA_Executor::ExecCmd *> (servant);
+
+ changeMode_ExecCmd command (
+ impl,
+ server_request.operation_details (),
+ args);
+
+ TAO::Upcall_Wrapper upcall_wrapper;
+ upcall_wrapper.upcall (server_request
+ , args
+ , nargs
+ , command
+#if TAO_HAS_INTERCEPTORS == 1
+ , servant_upcall
+ , exceptions
+ , nexceptions
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}namespace POA_Executor
+{
+
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/upcall_command_ss.cpp:127
+
+ class setPorts_ExecCmd
+ : public TAO::Upcall_Command
+ {
+ public:
+ inline setPorts_ExecCmd (
+ POA_Executor::ExecCmd * servant,
+ TAO_Operation_Details const * operation_details,
+ TAO::Argument * const args[])
+ : servant_ (servant)
+ , operation_details_ (operation_details)
+ , args_ (args)
+ {
+ }
+
+ virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
+ {
+ TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval =
+ TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean, TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type> (
+ this->operation_details_,
+ this->args_);
+
+ TAO::SArg_Traits< ::CORBA::Short>::in_arg_type arg_1 =
+ TAO::Portable_Server::get_in_arg< ::CORBA::Short, TAO::SArg_Traits< ::CORBA::Short>::in_arg_type> (
+ this->operation_details_,
+ this->args_,
+ 1);
+
+ TAO::SArg_Traits< ::CORBA::Short>::in_arg_type arg_2 =
+ TAO::Portable_Server::get_in_arg< ::CORBA::Short, TAO::SArg_Traits< ::CORBA::Short>::in_arg_type> (
+ this->operation_details_,
+ this->args_,
+ 2);
+
+ TAO::SArg_Traits< ::CORBA::Short>::in_arg_type arg_3 =
+ TAO::Portable_Server::get_in_arg< ::CORBA::Short, TAO::SArg_Traits< ::CORBA::Short>::in_arg_type> (
+ this->operation_details_,
+ this->args_,
+ 3);
+
+ retval =
+ this->servant_->setPorts (
+ arg_1
+ , arg_2
+ , arg_3
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ private:
+ POA_Executor::ExecCmd * const servant_;
+ TAO_Operation_Details const * const operation_details_;
+ TAO::Argument * const * const args_;
+ };
+}
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_operation/operation_ss.cpp:190
+
+void POA_Executor::ExecCmd::setPorts_skel (
+ TAO_ServerRequest & server_request,
+ void * TAO_INTERCEPTOR (servant_upcall),
+ void * servant
+ ACE_ENV_ARG_DECL
+ )
+{
+#if TAO_HAS_INTERCEPTORS == 1
+ static ::CORBA::TypeCode_ptr const * const exceptions = 0;
+ static ::CORBA::ULong const nexceptions = 0;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval;
+ TAO::SArg_Traits< ::CORBA::Short>::in_arg_val _tao_one;
+ TAO::SArg_Traits< ::CORBA::Short>::in_arg_val _tao_two;
+ TAO::SArg_Traits< ::CORBA::Short>::in_arg_val _tao_three;
+
+ TAO::Argument * const args[] =
+ {
+ &retval,
+ &_tao_one,
+ &_tao_two,
+ &_tao_three
+ };
+
+ static size_t const nargs = 4;
+
+ POA_Executor::ExecCmd * const impl =
+ static_cast<POA_Executor::ExecCmd *> (servant);
+
+ setPorts_ExecCmd command (
+ impl,
+ server_request.operation_details (),
+ args);
+
+ TAO::Upcall_Wrapper upcall_wrapper;
+ upcall_wrapper.upcall (server_request
+ , args
+ , nargs
+ , command
+#if TAO_HAS_INTERCEPTORS == 1
+ , servant_upcall
+ , exceptions
+ , nexceptions
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_ss.cpp:169
+
+namespace POA_Executor
+{
+
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/upcall_command_ss.cpp:127
+
+ class _is_a_ExecCmd_Upcall_Command
+ : public TAO::Upcall_Command
+ {
+ public:
+ inline _is_a_ExecCmd_Upcall_Command (
+ POA_Executor::ExecCmd * servant,
+ TAO_Operation_Details const * operation_details,
+ TAO::Argument * const args[])
+ : servant_ (servant)
+ , operation_details_ (operation_details)
+ , args_ (args)
+ {
+ }
+
+ virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
+ {
+ TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval =
+ TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean, TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type> (
+ this->operation_details_,
+ this->args_);
+
+ TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 =
+ TAO::Portable_Server::get_in_arg< ::CORBA::Char *, TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type> (
+ this->operation_details_,
+ this->args_,
+ 1);
+
+ retval =
+ this->servant_-> _is_a (
+ arg_1
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ private:
+ POA_Executor::ExecCmd * const servant_;
+ TAO_Operation_Details const * const operation_details_;
+ TAO::Argument * const * const args_;
+ };
+}
+
+
+void POA_Executor::ExecCmd::_is_a_skel (
+ TAO_ServerRequest & server_request,
+ void * TAO_INTERCEPTOR (servant_upcall),
+ void * servant
+ ACE_ENV_ARG_DECL
+ )
+{
+#if TAO_HAS_INTERCEPTORS == 1
+ static ::CORBA::TypeCode_ptr const * const exceptions = 0;
+ static ::CORBA::ULong const nexceptions = 0;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval;
+ TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id;
+
+ TAO::Argument * const args[] =
+ {
+ &retval,
+ &_tao_repository_id
+ };
+
+ static size_t const nargs = 2;
+
+ POA_Executor::ExecCmd * const impl =
+ static_cast<POA_Executor::ExecCmd *> (servant);
+
+ _is_a_ExecCmd_Upcall_Command command (
+ impl,
+ server_request.operation_details (),
+ args);
+
+ TAO::Upcall_Wrapper upcall_wrapper;
+ upcall_wrapper.upcall (server_request
+ , args
+ , nargs
+ , command
+#if TAO_HAS_INTERCEPTORS == 1
+ , servant_upcall
+ , exceptions
+ , nexceptions
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}namespace POA_Executor
+{
+
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/upcall_command_ss.cpp:127
+
+ class _non_existent_ExecCmd_Upcall_Command
+ : public TAO::Upcall_Command
+ {
+ public:
+ inline _non_existent_ExecCmd_Upcall_Command (
+ POA_Executor::ExecCmd * servant,
+ TAO_Operation_Details const * operation_details,
+ TAO::Argument * const args[])
+ : servant_ (servant)
+ , operation_details_ (operation_details)
+ , args_ (args)
+ {
+ }
+
+ virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
+ {
+ TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval =
+ TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean, TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type> (
+ this->operation_details_,
+ this->args_);
+
+ retval =
+ this->servant_-> _non_existent (
+ ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ private:
+ POA_Executor::ExecCmd * const servant_;
+ TAO_Operation_Details const * const operation_details_;
+ TAO::Argument * const * const args_;
+ };
+}
+
+
+void POA_Executor::ExecCmd::_non_existent_skel (
+ TAO_ServerRequest & server_request,
+ void * TAO_INTERCEPTOR (servant_upcall),
+ void * servant
+ ACE_ENV_ARG_DECL
+ )
+{
+#if TAO_HAS_INTERCEPTORS == 1
+ static ::CORBA::TypeCode_ptr const * const exceptions = 0;
+ static ::CORBA::ULong const nexceptions = 0;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval;
+
+ TAO::Argument * const args[] =
+ {
+ &retval
+ };
+
+ static size_t const nargs = 1;
+
+ POA_Executor::ExecCmd * const impl =
+ static_cast<POA_Executor::ExecCmd *> (servant);
+
+ _non_existent_ExecCmd_Upcall_Command command (
+ impl,
+ server_request.operation_details (),
+ args);
+
+ TAO::Upcall_Wrapper upcall_wrapper;
+ upcall_wrapper.upcall (server_request
+ , args
+ , nargs
+ , command
+#if TAO_HAS_INTERCEPTORS == 1
+ , servant_upcall
+ , exceptions
+ , nexceptions
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}namespace POA_Executor
+{
+
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/upcall_command_ss.cpp:127
+
+ class _repository_id_ExecCmd_Upcall_Command
+ : public TAO::Upcall_Command
+ {
+ public:
+ inline _repository_id_ExecCmd_Upcall_Command (
+ POA_Executor::ExecCmd * servant,
+ TAO_Operation_Details const * operation_details,
+ TAO::Argument * const args[])
+ : servant_ (servant)
+ , operation_details_ (operation_details)
+ , args_ (args)
+ {
+ }
+
+ virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
+ {
+ TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval =
+ TAO::Portable_Server::get_ret_arg< ::CORBA::Char *, TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type> (
+ this->operation_details_,
+ this->args_);
+
+ retval =
+ this->servant_-> _repository_id (
+ ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ private:
+ POA_Executor::ExecCmd * const servant_;
+ TAO_Operation_Details const * const operation_details_;
+ TAO::Argument * const * const args_;
+ };
+}
+
+
+void POA_Executor::ExecCmd::_repository_id_skel (
+ TAO_ServerRequest & server_request,
+ void * TAO_INTERCEPTOR (servant_upcall),
+ void * servant
+ ACE_ENV_ARG_DECL
+ )
+{
+#if TAO_HAS_INTERCEPTORS == 1
+ static ::CORBA::TypeCode_ptr const * const exceptions = 0;
+ static ::CORBA::ULong const nexceptions = 0;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval;
+
+ TAO::Argument * const args[] =
+ {
+ &retval
+ };
+
+ static size_t const nargs = 1;
+
+ POA_Executor::ExecCmd * const impl =
+ static_cast<POA_Executor::ExecCmd *> (servant);
+
+ _repository_id_ExecCmd_Upcall_Command command (
+ impl,
+ server_request.operation_details (),
+ args);
+
+ TAO::Upcall_Wrapper upcall_wrapper;
+ upcall_wrapper.upcall (server_request
+ , args
+ , nargs
+ , command
+#if TAO_HAS_INTERCEPTORS == 1
+ , servant_upcall
+ , exceptions
+ , nexceptions
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_ss.cpp:502
+
+void POA_Executor::ExecCmd::_interface_skel (
+ TAO_ServerRequest & server_request,
+ void * /* servant_upcall */,
+ void * servant
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1,
+ ::CORBA::COMPLETED_NO));
+ }
+
+ POA_Executor::ExecCmd * const impl =
+ static_cast<POA_Executor::ExecCmd *> (servant);
+ ::CORBA::InterfaceDef_ptr _tao_retval =
+ impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = *server_request.outgoing ();
+
+ ::CORBA::Boolean const _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+
+ _tao_adapter->dispose (_tao_retval);
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW ( ::CORBA::MARSHAL ());
+ }
+}namespace POA_Executor
+{
+
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/upcall_command_ss.cpp:127
+
+ class _get_component_ExecCmd_Upcall_Command
+ : public TAO::Upcall_Command
+ {
+ public:
+ inline _get_component_ExecCmd_Upcall_Command (
+ POA_Executor::ExecCmd * servant,
+ TAO_Operation_Details const * operation_details,
+ TAO::Argument * const args[])
+ : servant_ (servant)
+ , operation_details_ (operation_details)
+ , args_ (args)
+ {
+ }
+
+ virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
+ {
+ TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval =
+ TAO::Portable_Server::get_ret_arg< ::CORBA::Object, TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type> (
+ this->operation_details_,
+ this->args_);
+
+ retval =
+ this->servant_-> _get_component (
+ ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ private:
+ POA_Executor::ExecCmd * const servant_;
+ TAO_Operation_Details const * const operation_details_;
+ TAO::Argument * const * const args_;
+ };
+}
+
+
+void POA_Executor::ExecCmd::_component_skel (
+ TAO_ServerRequest & server_request,
+ void * TAO_INTERCEPTOR (servant_upcall),
+ void * servant
+ ACE_ENV_ARG_DECL
+ )
+{
+#if TAO_HAS_INTERCEPTORS == 1
+ static ::CORBA::TypeCode_ptr const * const exceptions = 0;
+ static ::CORBA::ULong const nexceptions = 0;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ TAO::SArg_Traits< ::CORBA::Object>::ret_val retval;
+
+ TAO::Argument * const args[] =
+ {
+ &retval
+ };
+
+ static size_t const nargs = 1;
+
+ POA_Executor::ExecCmd * const impl =
+ static_cast<POA_Executor::ExecCmd *> (servant);
+
+ _get_component_ExecCmd_Upcall_Command command (
+ impl,
+ server_request.operation_details (),
+ args);
+
+ TAO::Upcall_Wrapper upcall_wrapper;
+ upcall_wrapper.upcall (server_request
+ , args
+ , nargs
+ , command
+#if TAO_HAS_INTERCEPTORS == 1
+ , servant_upcall
+ , exceptions
+ , nexceptions
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}
+
+::CORBA::Boolean POA_Executor::ExecCmd::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+{
+ return
+ (
+ !ACE_OS::strcmp (
+ value,
+ "IDL:manut/Executor/ExecCmd:1.0"
+ ) ||
+ !ACE_OS::strcmp (
+ value,
+ "IDL:omg.org/CORBA/Object:1.0"
+ )
+ );
+}
+
+const char* POA_Executor::ExecCmd::_interface_repository_id (void) const
+{
+ return "IDL:manut/Executor/ExecCmd:1.0";
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_ss.cpp:867
+
+void POA_Executor::ExecCmd::_dispatch (
+ TAO_ServerRequest & req,
+ void * servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_ss.cpp:815
+
+Executor::ExecCmd *
+POA_Executor::ExecCmd::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+ ::CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ ::CORBA::Boolean _tao_opt_colloc =
+ stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ();
+
+ ACE_NEW_RETURN (
+ tmp,
+ ::CORBA::Object (stub, _tao_opt_colloc, this),
+ 0
+ );
+
+ ::CORBA::Object_var obj = tmp;
+ (void) safe_stub.release ();
+
+ typedef ::Executor::ExecCmd STUB_SCOPED_NAME;
+ return
+ TAO::Narrow_Utils<STUB_SCOPED_NAME>::unchecked_narrow (
+ obj.in (),
+ Executor__TAO_ExecCmd_Proxy_Broker_Factory_function_pointer
+ );
+}
+
+#endif /* ifndef */
+
diff --git a/quellcode/demo1/Executor/ExecutorS.h b/quellcode/demo1/Executor/ExecutorS.h
new file mode 100755
index 0000000..ef1bb90
--- /dev/null
+++ b/quellcode/demo1/Executor/ExecutorS.h
@@ -0,0 +1,182 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:387
+
+#ifndef _TAO_IDL_EXECUTORS_H_
+#define _TAO_IDL_EXECUTORS_H_
+
+#include /**/ "ace/pre.h"
+
+#include "ExecutorC.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/Collocation_Proxy_Broker.h"
+#include "tao/PortableServer/PortableServer.h"
+#include "tao/PortableServer/Servant_Base.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_module/module_sh.cpp:49
+
+namespace POA_Executor
+{
+
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_interface/interface_sh.cpp:87
+
+ class ExecCmd;
+ typedef ExecCmd *ExecCmd_ptr;
+
+ class ExecCmd
+ : public virtual PortableServer::ServantBase
+ {
+ protected:
+ ExecCmd (void);
+
+ public:
+ // Useful for template programming.
+ typedef ::Executor::ExecCmd _stub_type;
+ typedef ::Executor::ExecCmd_ptr _stub_ptr_type;
+ typedef ::Executor::ExecCmd_var _stub_var_type;
+
+ ExecCmd (const ExecCmd& rhs);
+ virtual ~ExecCmd (void);
+
+ virtual ::CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest & req,
+ void * servant_upcall,
+ void * servant
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest & req,
+ void * servant_upcall,
+ void * servant
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest & req,
+ void * servant_upcall,
+ void * servant
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _component_skel (
+ TAO_ServerRequest & req,
+ void * servant_upcall,
+ void * servant
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _repository_id_skel (
+ TAO_ServerRequest & req,
+ void * servant_upcall,
+ void * servant
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest & req,
+ void * servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::Executor::ExecCmd *_this (
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/operation_sh.cpp:45
+
+ virtual ::CORBA::Boolean changeMode (
+ ::CORBA::Short mode
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException
+ )) = 0;
+
+ static void changeMode_skel (
+ TAO_ServerRequest & server_request,
+ void * servant_upcall,
+ void * servant
+ ACE_ENV_ARG_DECL
+ );
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/operation_sh.cpp:45
+
+ virtual ::CORBA::Boolean setPorts (
+ ::CORBA::Short one,
+ ::CORBA::Short two,
+ ::CORBA::Short three
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException
+ )) = 0;
+
+ static void setPorts_skel (
+ TAO_ServerRequest & server_request,
+ void * servant_upcall,
+ void * servant
+ ACE_ENV_ARG_DECL
+ );
+ };
+
+// TAO_IDL - Generated from
+// be/be_visitor_module/module_sh.cpp:80
+
+} // module Executor
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:1148
+
+#include "ExecutorS_T.h"
+
+#if defined (__ACE_INLINE__)
+#include "ExecutorS.inl"
+#endif /* defined INLINE */
+
+#include /**/ "ace/post.h"
+#endif /* ifndef */
+
diff --git a/quellcode/demo1/Executor/ExecutorS.inl b/quellcode/demo1/Executor/ExecutorS.inl
new file mode 100755
index 0000000..38aa325
--- /dev/null
+++ b/quellcode/demo1/Executor/ExecutorS.inl
@@ -0,0 +1,28 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+
diff --git a/quellcode/demo1/Executor/ExecutorS_T.cpp b/quellcode/demo1/Executor/ExecutorS_T.cpp
new file mode 100755
index 0000000..8552402
--- /dev/null
+++ b/quellcode/demo1/Executor/ExecutorS_T.cpp
@@ -0,0 +1,41 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:656
+
+#ifndef _TAO_IDL_EXECUTORS_T_CPP_
+#define _TAO_IDL_EXECUTORS_T_CPP_
+
+#include "ExecutorS_T.h"
+
+#if !defined (__ACE_INLINE__)
+#include "ExecutorS_T.inl"
+#endif /* !defined INLINE */
+
+
+#endif /* ifndef */
diff --git a/quellcode/demo1/Executor/ExecutorS_T.h b/quellcode/demo1/Executor/ExecutorS_T.h
new file mode 100755
index 0000000..8228e80
--- /dev/null
+++ b/quellcode/demo1/Executor/ExecutorS_T.h
@@ -0,0 +1,133 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:520
+
+#ifndef _TAO_IDL_EXECUTORS_T_H_
+#define _TAO_IDL_EXECUTORS_T_H_
+
+#include /**/ "ace/pre.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_root/root_sth.cpp:116
+
+namespace POA_Executor
+{
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_interface/tie_sh.cpp:87
+
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class ExecCmd_tie : public ExecCmd
+ {
+ public:
+ ExecCmd_tie (T &t);
+ // the T& ctor
+ ExecCmd_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ ExecCmd_tie (T *tp, ::CORBA::Boolean release = 1);
+ // ctor taking pointer and an ownership flag
+ ExecCmd_tie (
+ T *tp,
+ PortableServer::POA_ptr poa,
+ ::CORBA::Boolean release = 1
+ );
+ // ctor with T*, ownership flag and a POA
+ ~ExecCmd_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, ::CORBA::Boolean release = 1);
+ // set the underlying object and the ownership flag
+ ::CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner ( ::CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
+ );
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/tie_sh.cpp:60
+
+ ::CORBA::Boolean changeMode (
+ ::CORBA::Short mode
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException
+ ));
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/tie_sh.cpp:60
+
+ ::CORBA::Boolean setPorts (
+ ::CORBA::Short one,
+ ::CORBA::Short two,
+ ::CORBA::Short three
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ ::CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ ExecCmd_tie (const ExecCmd_tie &);
+ void operator= (const ExecCmd_tie &);
+ };
+} // module Executor
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:1251
+#if defined (__ACE_INLINE__)
+#include "ExecutorS_T.inl"
+#endif /* defined INLINE */
+
+#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
+#include "ExecutorS_T.cpp"
+#endif /* defined REQUIRED SOURCE */
+
+#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
+#pragma implementation ("ExecutorS_T.cpp")
+#endif /* defined REQUIRED PRAGMA */
+
+#include /**/ "ace/post.h"
+#endif /* ifndef */
+
diff --git a/quellcode/demo1/Executor/ExecutorS_T.inl b/quellcode/demo1/Executor/ExecutorS_T.inl
new file mode 100755
index 0000000..fa0e726
--- /dev/null
+++ b/quellcode/demo1/Executor/ExecutorS_T.inl
@@ -0,0 +1,160 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/tie_si.cpp:96
+
+template <class T> ACE_INLINE
+POA_Executor::ExecCmd_tie<T>::ExecCmd_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_Executor::ExecCmd_tie<T>::ExecCmd_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_Executor::ExecCmd_tie<T>::ExecCmd_tie (T *tp, ::CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_Executor::ExecCmd_tie<T>::ExecCmd_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_Executor::ExecCmd_tie<T>::~ExecCmd_tie (void)
+{
+ if (this->rel_)
+ {
+ delete this->ptr_;
+ }
+}
+
+template <class T> ACE_INLINE T *
+POA_Executor::ExecCmd_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_Executor::ExecCmd_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_)
+ {
+ delete this->ptr_;
+ }
+
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_Executor::ExecCmd_tie<T>::_tied_object (T *obj, ::CORBA::Boolean release)
+{
+ if (this->rel_)
+ {
+ delete this->ptr_;
+ }
+
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE ::CORBA::Boolean
+POA_Executor::ExecCmd_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_Executor::ExecCmd_tie<T>::_is_owner ( ::CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_Executor::ExecCmd_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (! CORBA::is_nil (this->poa_.in ()))
+ {
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+ }
+
+ return this->ExecCmd::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_operation/tie_si.cpp:101
+
+template <class T> ACE_INLINE
+::CORBA::Boolean POA_Executor::ExecCmd_tie<T>::changeMode (
+ ::CORBA::Short mode
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException
+ ))
+{
+ return this->ptr_->changeMode (
+ mode
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_operation/tie_si.cpp:101
+
+template <class T> ACE_INLINE
+::CORBA::Boolean POA_Executor::ExecCmd_tie<T>::setPorts (
+ ::CORBA::Short one,
+ ::CORBA::Short two,
+ ::CORBA::Short three
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException
+ ))
+{
+ return this->ptr_->setPorts (
+ one,
+ two,
+ three
+ ACE_ENV_ARG_PARAMETER
+ );
+}
diff --git a/quellcode/demo1/Executor/Executor_i.cpp b/quellcode/demo1/Executor/Executor_i.cpp
new file mode 100755
index 0000000..0961b3b
--- /dev/null
+++ b/quellcode/demo1/Executor/Executor_i.cpp
@@ -0,0 +1,146 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:1063
+
+#include "Executor_i.h"
+#include "orbsvcs/CosNamingC.h"
+#include <tao/RTCORBA/RTCORBA.h>
+
+#include <iostream>
+
+// Implementation skeleton constructor
+Executor_ExecCmd_i::Executor_ExecCmd_i ()
+{
+}
+
+Executor_ExecCmd_i::Executor_ExecCmd_i (int argc, char* argv[], CORBA::ORB_var orb)
+{
+
+ try{
+ // get RTORB
+ CORBA::Object_var rtorb = orb->resolve_initial_references("RTORB");
+ RTCORBA::RTORB_var rtORB = RTCORBA::RTORB::_narrow(rtorb.in());
+ std::cout<<"RTORB ok"<<std::endl;
+
+ // NameService
+ CORBA::Object_var namingObject = orb->resolve_initial_references("NameService");
+ CosNaming::NamingContext_var namingContext = CosNaming::NamingContext::_narrow(namingObject.in());
+ CosNaming::Name name(1);
+ name.length(1);
+
+ // Connect to Receiver
+ name[0].id = CORBA::string_dup("Receiver");
+
+ // receive Object
+ CORBA::Object_var benchObj = namingContext->resolve(name);
+ put = Receiver::Put::_narrow(benchObj.in());
+ std::cout<<"TransferObjekt ok"<<std::endl;
+
+ name.length(2);
+ name[0].id = CORBA::string_dup("manut.Controller");
+ name[1].id = CORBA::string_dup("Disp");
+
+ benchObj = namingContext->resolve(name);
+ display = Controller::Display::_narrow(benchObj.in());
+ std::cout<<"DisplayObjekt ok"<<std::endl;
+
+ // auf Interface schreiben
+ // ...
+ put->connect();
+ put->allPorts(0, 0, 0);
+ sleep(1);
+ put->allPorts(255, 255, 255);
+ sleep(1);
+ put->allPorts(0, 0, 0);
+
+ display->show("ready!!!");
+
+ }catch(CORBA::Exception &e){
+ std::cout<<e<<std::endl;
+ }
+
+}
+// Implementation skeleton destructor
+Executor_ExecCmd_i::~Executor_ExecCmd_i (void)
+{
+}
+
+::CORBA::Boolean Executor_ExecCmd_i::changeMode (
+ ::CORBA::Short mode
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException
+ ))
+{
+ // Add your implementation here
+ std::cout<<"changeMode called\n";
+ switch(mode){
+ case 1:
+ display->show("moving...");
+ for(int i = 0; i<255; i++){
+ put->allPorts(i,i,i);
+ }
+ break;
+
+ case 2:
+ display->show("blinking...");
+ std::cout<<"blink"<<std::endl;
+ for(int i = 0; i<255; i++){
+ if(i%2) put->allPorts(255,255,255);
+ else put->allPorts(0,0,0);
+ }
+ break;
+
+ case 3:
+ display->show("flashing...");
+ std::cout<<"flash"<<std::endl;
+ for(int i = 0; i<255; i++){
+ if(i%3)put->allPorts(255,255,255);
+ else put->allPorts(0,0,0);
+ }
+ break;
+ default:
+ std::cout<<"Mode not implemented"<<std::endl;
+ }
+ return true;
+}
+
+::CORBA::Boolean Executor_ExecCmd_i::setPorts (
+ ::CORBA::Short one,
+ ::CORBA::Short two,
+ ::CORBA::Short three
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException
+ ))
+{
+ // Add your implementation here
+ put->allPorts(one, two, three);
+ return true;
+}
diff --git a/quellcode/demo1/Executor/Executor_i.h b/quellcode/demo1/Executor/Executor_i.h
new file mode 100755
index 0000000..6ab7b6c
--- /dev/null
+++ b/quellcode/demo1/Executor/Executor_i.h
@@ -0,0 +1,77 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:1001
+
+#ifndef EXECUTORI_H_
+#define EXECUTORI_H_
+
+#include "ExecutorS.h"
+
+#include "../Receiver/ReceiverC.h"
+#include "../Controller/ControllerC.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+class Executor_ExecCmd_i
+ : public virtual POA_Executor::ExecCmd
+{
+private:
+ Receiver::Put_var put;
+ Controller::Display_var display;
+public:
+ // Constructor
+ Executor_ExecCmd_i (int argc, char* argv[], CORBA::ORB_var orb);
+ Executor_ExecCmd_i (void);
+ // Destructor
+ virtual ~Executor_ExecCmd_i (void);
+
+ virtual
+ ::CORBA::Boolean changeMode (
+ ::CORBA::Short mode
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException
+ ));
+
+ virtual
+ ::CORBA::Boolean setPorts (
+ ::CORBA::Short one,
+ ::CORBA::Short two,
+ ::CORBA::Short three
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException
+ ));
+
+};
+
+
+#endif /* EXECUTORI_H_ */
diff --git a/quellcode/demo1/Executor/GNUmakefile.Executor b/quellcode/demo1/Executor/GNUmakefile.Executor
new file mode 100755
index 0000000..b08bca8
--- /dev/null
+++ b/quellcode/demo1/Executor/GNUmakefile.Executor
@@ -0,0 +1,227 @@
+# -*- Makefile -*-
+#----------------------------------------------------------------------------
+# GNU Makefile
+#
+# @file GNUmakefile.Executor
+#
+# gnu.mpd,v 1.147 2006/02/21 19:25:26 jwillemsen Exp
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+MAKEFILE = GNUmakefile.Executor
+DEPENDENCY_FILE = .depend.Executor
+BIN_UNCHECKED = Executor
+
+TAO_ROOT ?= $(ACE_ROOT)/TAO
+
+FILES = \
+ ExecutorC.cpp \
+ ExecutorS.cpp \
+ ../Controller/ControllerC.cpp \
+ ../Receiver/ReceiverC.cpp \
+ Executor_i.cpp \
+ Executor.cpp
+
+VPATH = .:../Receiver:../Controller
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+LDLIBS = -lTAO_CosNaming -lTAO_RTPortableServer -lTAO_RTCORBA -lTAO_PortableServer -lTAO_PI -lTAO_CodecFactory -lTAO_AnyTypeCode -lTAO -lACE
+TAO_IDL = $(ACE_ROOT)/bin/tao_idl
+TAO_IDL_DEP = $(ACE_ROOT)/bin/tao_idl$(EXEEXT)
+TAO_IDLFLAGS = -Ge 1 -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h -I$(TAO_ROOT)
+
+PRJ_TYPE = rtp
+
+ifeq ($(INSBIN),.)
+ ifeq ($(PWD),)
+ PWD=$(shell pwd)
+ endif
+ INSBIN = $(PWD)
+endif
+OUTPUT_DIRECTORY = $(INSBIN)
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+## We don't need the ACELIB setting from wrapper_macros.GNU
+ACELIB =
+tao_dont_use_idl_make_rule = 1
+include $(TAO_ROOT)/rules.tao.GNU
+
+# To build multiple targets in the same directory on AIX, it works
+# best to have a template directory per project.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+TEMPINCDIR := $(TEMPINCDIR)/Executor
+all: $(TEMPINCDIR)
+endif
+
+ifneq ($(OUTPUT_DIRECTORY),)
+all: $(OUTPUT_DIRECTORY)
+$(OUTPUT_DIRECTORY):
+ -@$(MKDIR) "$(OUTPUT_DIRECTORY)"
+endif
+
+# turn off libcheck if doing a dry run
+ifeq ($(findstring n, $(MAKEFLAGS)),n)
+ LIBCHECK = 1
+else
+ # turn off libcheck if keep going was passed too
+ ifeq ($(findstring k, $(MAKEFLAGS)),k)
+ LIBCHECK = 1
+ else
+ LIBCHECK ?= $(filter-out $(foreach lib,TAO_CosNaming TAO_RTPortableServer TAO_RTCORBA TAO_PortableServer TAO_PI TAO_CodecFactory TAO_AnyTypeCode TAO ACE,$(findstring $(lib),$(foreach libpath,. $(ACE_ROOT)/lib /usr/lib $(INSLIB),$(wildcard $(libpath)/lib$(lib).* $(libpath)/$(lib).lib)))),TAO_CosNaming TAO_RTPortableServer TAO_RTCORBA TAO_PortableServer TAO_PI TAO_CodecFactory TAO_AnyTypeCode TAO ACE)
+ ifeq ($(LIBCHECK),)
+ LIBCHECK = 1
+ endif
+ endif
+endif
+ifeq ($(rt_corba),1)
+ifeq ($(exceptions),1)
+ifeq ($(LIBCHECK), 1)
+BIN = $(BIN_UNCHECKED)$(EXEEXT)
+else
+ all: lib_warning
+endif
+else
+ all: require_warning
+endif
+else
+ all: require_warning
+endif
+
+# If it contains ../ at all use notdir.
+OBJS = $(foreach var, $(addsuffix .$(OBJEXT), $(basename $(FILES)) $(RESOURCES)), $(if $(findstring ../,$(var)),$(notdir $(var)),$(var)))
+SRC = $(FILES)
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+
+ifneq ($(OUTPUT_DIRECTORY),)
+ifneq ($(OUTPUT_DIRECTORY),.)
+ INSTALL = $(VBIN:%=$(INSBIN)/%)
+ CLEANUP_INSTALL += $(CLEANUP_BIN:%=$(INSBIN)/%$(VAR)$(EXEEXT))
+endif
+endif
+
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+ifeq ($(VXWORKSLINK),true)
+include $(TGT_DIR)/h/make/rules.$(PRJ_TYPE)
+endif
+
+ifeq ($(VXWORKSLINK),true)
+LDLIBPATH = -L. -L$(ACE_ROOT)/lib
+else
+LDFLAGS += -L. -L$(ACE_ROOT)/lib
+endif
+CPPFLAGS += -I$(ACE_ROOT) -I$(TAO_ROOT) -I$(TAO_ROOT)/orbsvcs
+ifeq ($(static_libs),1)
+ CPPFLAGS += -DACE_AS_STATIC_LIBS -DTAO_AS_STATIC_LIBS
+endif
+
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+lib_warning:
+ @echo This project will not be built due to the following missing library:
+ @echo $(LIBCHECK)
+
+require_warning:
+ @echo This project will not be built due to one of the following missing features:
+ @echo rt_corba exceptions
+
+## Some OS's have /bin/test others only have /usr/bin/test
+ifeq ($(wildcard /bin/test), /bin/test)
+ TEST_EXE = /bin/test
+else
+ifeq ($(wildcard /usr/bin/test), /usr/bin/test)
+ TEST_EXE = /usr/bin/test
+endif
+endif
+
+DYLD_LIBRARY_PATH := $(DYLD_LIBRARY_PATH):$(ACE_ROOT)/lib
+LD_LIBRARY_PATH := $(LD_LIBRARY_PATH):$(ACE_ROOT)/lib
+SHLIB_PATH := $(SHLIB_PATH):$(ACE_ROOT)/lib
+LIBPATH := $(LIBPATH):$(ACE_ROOT)/lib
+PATH := $(PATH):$(ACE_ROOT)/lib
+
+GENERATED_DIRTY += ExecutorS_T.inl ExecutorS.inl ExecutorC.inl ExecutorC.h ExecutorS.h ExecutorS_T.h ExecutorC.cpp ExecutorS.cpp ExecutorS_T.cpp
+OBJS_DEPEND_ON_GENERATED = 1
+## More than one file is generated by the command and therefore
+## it can not be run in parallel. Unfortunately, there is no way to
+## say that only this rule can't be run in parallel. However, we can
+## determine if the generated files have already been generated. If that's
+## the case, then we don't need this special rule.
+ifeq ($(wildcard $(GENERATED_DIRTY)), $(GENERATED_DIRTY))
+ ## If we can find /bin/test, then we will continue
+ ifneq ($(TEST_EXE),)
+ ## If all of the generated files are there, then we need to check
+ ## and make sure that the generated files are up-to-date. If they are not
+ ## then we need the special rule.
+ ifneq ($(shell $(TEST_EXE) Executor.idl -nt ExecutorS_T.inl 2> /dev/null && $(TEST_EXE) Executor.idl -nt ExecutorS.inl 2> /dev/null && $(TEST_EXE) Executor.idl -nt ExecutorC.inl 2> /dev/null && $(TEST_EXE) Executor.idl -nt ExecutorC.h 2> /dev/null && $(TEST_EXE) Executor.idl -nt ExecutorS.h 2> /dev/null && $(TEST_EXE) Executor.idl -nt ExecutorS_T.h 2> /dev/null && $(TEST_EXE) Executor.idl -nt ExecutorC.cpp 2> /dev/null && $(TEST_EXE) Executor.idl -nt ExecutorS.cpp 2> /dev/null && $(TEST_EXE) Executor.idl -nt ExecutorS_T.cpp 2> /dev/null && echo 0),)
+ .NOTPARALLEL:
+ else
+ ## By this point, all of the generated files are here and up-to-date
+ ## with respect to the source file. Now we need to make sure that
+ ## they are up-to-date with respect to the generation tool. If the tool
+ ## is newer than the generated files, then we need the special rule.
+ ifneq ($(shell $(TEST_EXE) $(TAO_IDL_DEP) -nt ExecutorS_T.inl 2> /dev/null && $(TEST_EXE) $(TAO_IDL_DEP) -nt ExecutorS.inl 2> /dev/null && $(TEST_EXE) $(TAO_IDL_DEP) -nt ExecutorC.inl 2> /dev/null && $(TEST_EXE) $(TAO_IDL_DEP) -nt ExecutorC.h 2> /dev/null && $(TEST_EXE) $(TAO_IDL_DEP) -nt ExecutorS.h 2> /dev/null && $(TEST_EXE) $(TAO_IDL_DEP) -nt ExecutorS_T.h 2> /dev/null && $(TEST_EXE) $(TAO_IDL_DEP) -nt ExecutorC.cpp 2> /dev/null && $(TEST_EXE) $(TAO_IDL_DEP) -nt ExecutorS.cpp 2> /dev/null && $(TEST_EXE) $(TAO_IDL_DEP) -nt ExecutorS_T.cpp 2> /dev/null && echo 0),)
+ .NOTPARALLEL:
+ endif
+ endif
+ else
+ .NOTPARALLEL:
+ endif
+else
+.NOTPARALLEL:
+endif
+ExecutorS_T.inl ExecutorS.inl ExecutorC.inl ExecutorC.h ExecutorS.h ExecutorS_T.h ExecutorC.cpp ExecutorS.cpp ExecutorS_T.cpp: Executor.idl $(TAO_IDL_DEP)
+ $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs Executor.idl
+
+ifneq ($(GENERATED_DIRTY),)
+.PRECIOUS: $(GENERATED_DIRTY)
+## If the generated files are anything but source files, we need to
+## ensure that those files are generated before we attempt to build anything
+## else.
+ifeq ($(OBJS_DEPEND_ON_GENERATED),1)
+$(VDIR)$(ACE_PCH_FILE) $(addprefix $(VDIR), $(OBJS)): $(GENERATED_DIRTY)
+$(VSHDIR)$(ACE_PCH_FILE) $(VSHOBJS): $(GENERATED_DIRTY)
+endif
+endif
+
+ADDITIONAL_IDL_TARGETS += Executor$(IDL_CLIENT_HDR_EXT)
+idl_stubs: $(ADDITIONAL_IDL_TARGETS)
+
+# This assignment forces make to run the idl_stubs
+# target before building any of the source files.
+FORCED_IDL_STUBS = ExecutorC.cpp ExecutorS.cpp ../Controller/ControllerC.cpp ../Receiver/ReceiverC.cpp Executor_i.cpp Executor.cpp
+FORCED_IDL_STUBS := $(FORCED_IDL_STUBS:ExecutorC.cpp=)
+FORCED_IDL_STUBS := $(FORCED_IDL_STUBS:ExecutorS.cpp=)
+
+ifneq ($(FORCED_IDL_STUBS),)
+$(FORCED_IDL_STUBS): idl_stubs
+endif
+
+ifneq ($(VXWORKSLINK),true)
+ifeq ($(static_libs_only), 1)
+ ifeq ($(use_dep_libs), 1)
+ DEPLIBS = $(foreach lib, TAO_CosNaming TAO_RTPortableServer TAO_RTCORBA TAO_PortableServer TAO_PI TAO_CodecFactory TAO_AnyTypeCode TAO ACE , $(foreach libpath, . $(ACE_ROOT)/lib, $(wildcard $(libpath)/lib$(lib).a)))
+ endif
+endif
+
+$(BIN): $(addprefix $(VDIR), $(OBJS)) $(DEPLIBS)
+ifndef kylix
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $@ $^ $(VLDLIBS) $(POSTLINK)
+else
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $(VLDLIBS) $(BORINITEXEOBJ) $(POSTLINK) $^, $@,,
+endif
+endif
+
+realclean: clean
+ifneq ($(GENERATED_DIRTY),)
+ -$(RM) -r $(GENERATED_DIRTY)
+endif
+