INTRODUCTION Overview Download and Install Quick Start Documentation Publications NONFRAMEWORK CODE Driver Interfaces Drivers Libraries Utilities FRAMEWORK CODE Interfaces Components Libraries Utilities Full Software Listings DEVELOPER Tutorials Examples Dev Guide Dashboard PEOPLE Contributors Users Project Download Mailing lists
|
componentthread.h00001 /* 00002 * Orca-Robotics Project: Components for robotics 00003 * http://orca-robotics.sf.net/ 00004 * Copyright (c) 2004-2009 Alex Brooks, Alexei Makarenko, Tobias Kaupp 00005 * 00006 * This copy of Orca is licensed to you under the terms described in 00007 * the LICENSE file included in this distribution. 00008 * 00009 */ 00010 00011 #ifndef ORCAICE_COMPONENT_THREAD_H 00012 #define ORCAICE_COMPONENT_THREAD_H 00013 00014 #include <gbxsickacfr/gbxiceutilacfr/safethread.h> 00015 #include <orcaice/context.h> 00016 #include <orcaice/component.h> // for ComponentAdapterActivationPolicy 00017 00018 namespace orcaice { 00019 namespace detail { 00020 00021 // 00022 // This thread is started by the component, and is used: 00023 // - to repeatedly try to register the Home interface, if the first attempt failed. 00024 // - to check on component Status. 00025 // 00026 // @author Alex Brooks 00027 // 00028 class ComponentThread : public gbxiceutilacfr::SafeThread 00029 { 00030 00031 public: 00032 00033 ComponentThread( ComponentAdapterActivationPolicy adapterPolicy, 00034 const orcaice::Context& context ); 00035 00036 private: 00037 00038 virtual void walk(); 00039 00040 // Returns: true = success 00041 bool tryRegisterHome(); 00042 00043 ComponentAdapterActivationPolicy adapterPolicy_; 00044 orcaice::Context context_; 00045 }; 00046 00047 } 00048 } 00049 00050 #endif |
Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)