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/logrecorder/mainthread.h

00001 /*
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 <orcaice/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 logrecorder
00029 {
00030 
00031 class MainThread: public orcaice::SubsystemThread
00032 {       
00033 public:
00034     MainThread( const orcaice::Context& context );
00035     ~MainThread();
00036 
00037 private:
00038     // from SubsystemThread
00039     virtual void initialise();
00040     // this subsystem does not do any work!
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, const orcaice::Context& context );
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     orcalog::MasterFileWriter* masterFileWriter_;
00052     // The guys that write the data files
00053     std::vector<orcalog::AutoLogger*> autoLoggers_;
00054 
00055     orcaice::Context context_;
00056 };
00057 
00058 } // namespace
00059 
00060 #endif
 

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


Generated for Orca Robotics by  doxygen 1.4.5