diff options
Diffstat (limited to 'trunk/CIAO/examples/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.h')
-rw-r--r-- | trunk/CIAO/examples/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.h | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/trunk/CIAO/examples/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.h b/trunk/CIAO/examples/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.h new file mode 100644 index 00000000000..b2528ba62b7 --- /dev/null +++ b/trunk/CIAO/examples/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.h @@ -0,0 +1,121 @@ +// $Id$ + +/** + * @file NavDisplayGUI_exec.h + * + * Header file for the actual NavDisplay and NavDisplayHome component + * implementations. + * + * @author Nanbor Wang <nanbor@cse.wustl.edu> + */ + +#ifndef NAVDISPLAY_EXEC_H +#define NAVDISPLAY_EXEC_H + +#include "NavDisplayEC.h" +#include "NavDisplay_exec_export.h" +#include "ace/Synch.h" +#include "tao/LocalObject.h" +#include "NavUnit.h" + +class Worker; + + +namespace MyImpl +{ + /** + * @class NavDisplayGUI_exec_impl + * + * RateGen executor implementation class. + */ + class NAVDISPLAY_EXEC_Export NavDisplayGUI_exec_impl : + public virtual CIDL_NavDisplay_Impl::NavDisplay_exec, + public virtual TAO_Local_RefCounted_Object + { + public: + /// Default constructor. + NavDisplayGUI_exec_impl (); + + /// Default destructor. + ~NavDisplayGUI_exec_impl (); + + // Operations from HUDisplay::NavDisplay + + virtual void + push_Refresh (HUDisplay::tick *ev + ACE_ENV_ARG_DECL_WITH_DEFAULTS) + 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 + ciao_preactivate (ACE_ENV_SINGLE_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 + ciao_postactivate (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: + /// Copmponent specific context + HUDisplay::CCM_NavDisplay_Context_var context_; + Worker *worker_; + NavUnit unit_; + UnitLocation loc_; + ACE_Thread_Mutex mutex_; + }; + + /** + * @class NavDisplayGUIHome_exec_impl + * + * NavDisplay home executor implementation class. + */ + class NAVDISPLAY_EXEC_Export NavDisplayGUIHome_exec_impl : + public virtual HUDisplay::CCM_NavDisplayHome, + public virtual TAO_Local_RefCounted_Object + { + public: + /// Default ctor. + NavDisplayGUIHome_exec_impl (); + + /// Default dtor. + ~NavDisplayGUIHome_exec_impl (); + + // 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)); + }; + +} + +extern "C" NAVDISPLAY_EXEC_Export ::Components::HomeExecutorBase_ptr +createNavDisplayHome_Impl (void); + +#endif /* NAVDISPLAY_EXEC_H */ |