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

SourceForge.net Logo
Project
Download
Mailing lists

 

         

componentthread.h

00001 /*
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)


Generated for Orca Robotics by  doxygen 1.4.5