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

# /Users/fpy/titan-1-5-MBARI/Mers/Interfaces/TimedExecutionInterface.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_TIMED_EXECUTION_INTERFACE_HEADERFILE
    00015 #define MERS_INTERFACES_TIMED_EXECUTION_INTERFACE_HEADERFILE
    00016
    00017 #include "ExecutionInterfaceBase.h"
    00018 #include "TimedTaskFactory.h"
    00019
    00020 #include <map>
    00021
    00022 namespace Mers {
    00023         namespace Interfaces {
    00024                 class TimedTask;
    00025
    00035                 class TimedExecutionInterface : public ExecutionInterfaceBase
    00036                 {
    00037                 public:
    00041                         TimedExecutionInterface( TimedTaskFactory *pTimedTaskFactory );
    00042
    00046                         virtual ~TimedExecutionInterface();
    00047
    00053                         virtual TaskIdentifier createTask( const char * taskName );
    00054
    00062                         virtual TaskIdentifier createTask( const char * taskName,
    00063                                 std::vector<std::string *> const &parameters );
    00064
    00074                         virtual TaskIdentifier createTask( const char * taskName,
    00075                                 Mers::Utils::Lang::Time const & start,
    00076                                 Mers::Utils::Lang::Time const & duration );
    00077
    00089                         virtual TaskIdentifier createTask( const char * taskName,
    00090                                 std::vector<std::string *> const &parameters,
    00091                                 Mers::Utils::Lang::Time const & start,
    00092                                 Mers::Utils::Lang::Time const & duration );
    00093
    00102                         virtual void deleteTask(TaskIdentifier task);
    00103
    00109                         virtual void setTaskFactory(TimedTaskFactory * tFactory);
    00110
    00116                         virtual TimedTaskFactory * getTaskFactory();
    00117
    00127                         virtual TimedTask * getTask(TaskIdentifier task);
    00128
    00129                 protected:
    00131                         std::map<TaskIdentifier, TimedTask *> mTimedTasks;
    00132
    00134                         TimedTaskFactory * mTimedTaskFactory;
    00135                 };
    00136         }
    00137 }
    00138
    00139
    00140 #endif // MERS_INTERFACES_TIMED_EXECUTION_INTERFACE_HEADERFILE