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
|
utils/logplayer/mainthread.h00001 /* 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)