orca-robotics INTRODUCTION Overview Download and Install Quick Start Documentation Publications REPOSITORY Interfaces Components Libraries Utilities Software Map DEVELOPER Tutorials Examples Dev Guide Dashboard Wiki login/pass: orca/orca PEOPLE Contributors Users Project Download Mailing lists
|
utils/logger/mainthread.h00001 /* 00002 * Orca-Robotics Project: Components for robotics 00003 * http://orca-robotics.sf.net/ 00004 * Copyright (c) 2007 Alexei Makarenko, Alex Brooks 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 <gbxsickacfr/gbxiceutilacfr/subsystemthread.h> 00015 #include <orcaice/context.h> 00016 00017 #include <hydrodll/dll.h> 00018 #include <string> 00019 #include <memory> 00020 00021 namespace orcalog 00022 { 00023 class MasterFileWriter; 00024 class AutoLoggerFactory; 00025 class AutoLogger; 00026 } 00027 00028 namespace logger 00029 { 00030 00031 class MainThread: public gbxsickacfr::gbxiceutilacfr::SubsystemThread 00032 { 00033 public: 00034 MainThread( const orcaice::Context& context ); 00035 ~MainThread(); 00036 00037 // from SubsystemThread 00038 virtual void walk(); 00039 00040 private: 00041 00042 void loadPluginLibraries( const std::string &factoryLibNames ); 00043 // throws exceptions if it can't create the logger 00044 orcalog::AutoLogger *createLogger( const std::string &interfaceType ); 00045 00046 std::vector<orcalog::AutoLoggerFactory*> logFactories_; 00047 std::vector<hydrodll::DynamicallyLoadedLibrary*> libraries_; 00048 00049 // The guy that writes the master file 00050 std::auto_ptr<orcalog::MasterFileWriter> masterFileWriter_; 00051 // The guys that write the data files 00052 std::vector<orcalog::AutoLogger*> autoLoggers_; 00053 00054 orcaice::Context context_; 00055 }; 00056 00057 } // namespace 00058 00059 #endif |
Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)