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

 

         

utils/logplayer/mainthread.h

00001 /*
00002  * Orca-Robotics Project: Components for robotics 
00003  *               http://orca-robotics.sf.net/
00004  * Copyright (c) 2007 Alexei Makarenko
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 MAIN_THREAD_H
00012 #define MAIN_THREAD_H
00013 
00014 #include <string>
00015 #include <memory>
00016 #include <orcaice/subsystemthread.h>
00017 #include <orcaice/context.h>
00018 
00019 #include <hydrodll/dll.h>
00020 #include "interfacetypecounter.h"
00021 
00022 namespace orcalog
00023 {
00024     class MasterFileReader;
00025     class Replayer;
00026     class ReplayerFactory;
00027 }
00028 
00029 namespace logplayer
00030 {
00031 
00032 class MainThread: public orcaice::SubsystemThread
00033 {       
00034 public:
00035     MainThread( const orcaice::Context& context );
00036     ~MainThread();
00037 
00038 private:
00039     // from SubsystemThread
00040     virtual void initialise();
00041     // this subsystem does not work!
00042 
00043     // utilities
00044     void loadPluginLibraries( const std::string& factoryLibNames );
00045     void createReplayer( const std::string & interfaceType, 
00046                          const std::string& format,
00047                          const std::string& filename,
00048                          bool               enabled,
00049                          bool               require );
00050 
00051     void readReplayParams( IceUtil::Time &beginTime, double &replayRate, bool &autoStart );
00052 
00053     gbxiceutilacfr::ThreadPtr       replayConductor_;
00054     gbxiceutilacfr::ThreadPtr       highLevelController_;
00055 
00056     std::auto_ptr<orcalog::MasterFileReader> masterFileReader_;
00057 
00058     std::vector<orcalog::ReplayerFactory*>           replayerFactories_;
00059     std::vector<hydrodll::DynamicallyLoadedLibrary*> libraries_;
00060 
00061     std::vector<orcalog::Replayer*> replayers_;
00062 
00063     // Ensure interfaces of a given type are unique.
00064     InterfaceTypeCounter interfaceTypeCounter_;
00065     
00066     orcaice::Context context_;
00067 };
00068 
00069 } // namespace
00070 
00071 #endif
 

Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)


Generated for Orca Robotics by  doxygen 1.4.5