diff options
author | edwardgt <edwardgt@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2004-05-04 06:18:12 +0000 |
---|---|---|
committer | edwardgt <edwardgt@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2004-05-04 06:18:12 +0000 |
commit | 1c857d112d4c08b34164adda34c269d6fab8dc10 (patch) | |
tree | b2289eda3ae232484626826aa2eb0aa0bdcc27a7 /TAO/CIAO/examples/UAV/UCAV_GS/UCAV_GS_exec.h | |
parent | 4b4ae8f3a5c05845389c3aab7b9ae9b1df1d8c0e (diff) | |
download | ATCD-1c857d112d4c08b34164adda34c269d6fab8dc10.tar.gz |
*** empty log message ***
Diffstat (limited to 'TAO/CIAO/examples/UAV/UCAV_GS/UCAV_GS_exec.h')
-rw-r--r-- | TAO/CIAO/examples/UAV/UCAV_GS/UCAV_GS_exec.h | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/TAO/CIAO/examples/UAV/UCAV_GS/UCAV_GS_exec.h b/TAO/CIAO/examples/UAV/UCAV_GS/UCAV_GS_exec.h new file mode 100644 index 00000000000..8d9f4802262 --- /dev/null +++ b/TAO/CIAO/examples/UAV/UCAV_GS/UCAV_GS_exec.h @@ -0,0 +1,110 @@ +// $Id$ + +//================================================================ +/** + * @file UCAV_GS_exec.h + * + * @author George Edwards <g.edwards@vanderbilt.edu> + */ +//================================================================ + +#ifndef CIAO_UCAV_GS_EXEC_H +#define CIAO_UCAV_GS_EXEC_H + +#include "UCAV_GSEIC.h" +#include "tao/LocalObject.h" + +// The namespace name for the actual implementation classes doesn't +// really matter. Since there may be several different +// implementations for a component, they can very well be in different +// namespaces. +namespace MyImpl +{ + /** + * @class UCAV_GS_exec_i + * + * The UCAV_GS implementation class. + */ + class UCAV_GS_EXEC_Export UCAV_GS_exec_i : + public virtual BBN_UAV::UCAV_GS_Exec, + // CIAO container implementation depends on correct reference + // counting of local interfaces, so we take a short cut to + public virtual TAO_Local_RefCounted_Object + { + public: + /// Default constructor. + UCAV_GS_exec_i (void); + + /// Default destructor. + ~UCAV_GS_exec_i (void); + + // Operations from BBN_UAV::UCAV_GS + + virtual void + push_prepare_move (BBN_UAV::PrepareMove *ev + ACE_ENV_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException)); + + // Operations from Components::SessionComponent + + virtual void + set_session_context (Components::SessionContext_ptr ctx + ACE_ENV_ARG_DECL_WITH_DEFAULTS) + ACE_THROW_SPEC ((CORBA::SystemException, + Components::CCMException)); + + virtual void + ccm_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) + ACE_THROW_SPEC ((CORBA::SystemException, + Components::CCMException)); + + virtual void + ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) + ACE_THROW_SPEC ((CORBA::SystemException, + Components::CCMException)); + + virtual void + ccm_remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) + ACE_THROW_SPEC ((CORBA::SystemException, + Components::CCMException)); + protected: + CORBA::String_var str_; + + /// Copmponent specific context + BBN_UAV::CCM_UCAV_GS_Context_var context_; + }; + + /** + * @class UCAV_GSHome_exec_i + * + * UCAV_GS home executor implementation class. + */ + class UCAV_GS_EXEC_Export UCAV_GSHome_exec_i : + public virtual BBN_UAV::CCM_UCAV_GSHome, + public virtual TAO_Local_RefCounted_Object + { + public: + /// Default ctor. + UCAV_GSHome_exec_i (); + + /// Default dtor. + ~UCAV_GSHome_exec_i (); + + // Explicit home operations. + + // Implicit home operations. + + virtual ::Components::EnterpriseComponent_ptr + create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) + ACE_THROW_SPEC ((CORBA::SystemException, + Components::CCMException)); + }; + +} + +// Executor DLL entry point. CIAO's deployment and assembly framework +// invokes this function on the resulting DLL to get the home executor. +extern "C" UCAV_GS_EXEC_Export ::Components::HomeExecutorBase_ptr +createUCAV_GSHome_Impl (void); + +#endif /* CIAO_UCAV_GS_EXEC_H*/ |