- Main Page
- Namespaces
- Classes
- Files
- Related Pages

# /Users/fpy/titan-1-5-MBARI/Mers/Interfaces/StaticTaskFactory.h

    00001
    00002 //
    00003 // Copyright (c) 2004           Model-based Embedded and Robotic Systems Group
    00004 // All Rights Reserved          Massachusetts Institute of Technology
    00005 //
    00006 // This software is provided as is. Model-based Embedded and Robotic Systems
    00007 // (MERS) group does not assume any responsibility.
    00008 //
    00009 // Organization:        Model-based Embedded and Robotic Systems Group
    00010 //                                      Massachusetts Institute of Technology
    00011 //
    00013
    00014 #ifndef MERS_INTERFACES_STATIC_TASK_FACTORY_HEADERFILE
    00015 #define MERS_INTERFACES_STATIC_TASK_FACTORY_HEADERFILE
    00016
    00017 #include <vector>
    00018
    00019 #include "TaskFactory.h"
    00020 #include <Mers/Utils/Logging/logger.h>
    00021
    00022 namespace Mers {
    00023   namespace Interfaces {
    00024
    00033     class StaticTaskFactory : public TaskFactory
    00034     {
    00035       public:
    00039       StaticTaskFactory();
    00040
    00044       virtual ~StaticTaskFactory();
    00045
    00051       virtual t_TaskSharedPointer
    00052                                 createTask( const t_TaskName &taskName );
    00053
    00061       virtual t_TaskSharedPointer
    00062                                 createTask( const t_TaskName &taskName,
    00063                                 std::vector<const t_TaskParameter *> const &parameters );
    00064
    00070                         t_TaskSharedPointer * getAllTasks() {
    00071                                 return m_Tasks;
    00072                         }
    00073
    00079       unsigned int getNumberOfTasks() const {
    00080                                 return m_NumTasks;
    00081                         }
    00082
    00083     protected:
    00085       t_TaskSharedPointer * m_Tasks;
    00087       unsigned int m_NumTasks;
    00088
    00089                 protected:
    00097                         void logTasks( log4cplus::LogLevel logLevel ) const;
    00098
    00099                 private:
    00101                         static log4cplus::Logger m_logger;
    00102     };
    00103
    00104   }
    00105 }
    00106
    00107 #endif  // MERS_INTERFACES_TASK_FACTORY_HEADERFILE
    00108