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

# /Users/fpy/titan-1-5-MBARI/Mers/Executives/DeductiveController/Rtapi/MR/MR_dispatcher.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 _MR_DISPATCHER_H
    00015 #define _MR_DISPATCHER_H
    00016
    00017 #include <Mers/Executives/DeductiveController/Rtapi/ThreadSafeObjectQueue.h>
    00018 #include <Mers/Executives/DeductiveController/Rtapi/MultiThreadedObject.h>
    00019 #include <Mers/Executives/DeductiveController/Rtapi/RTAPIMessage.h>
    00020
    00021 #include <Mers/Utils/Containers/intList.h>
    00022 #include <Mers/Reconfiguration/Discrete/MR_connection.h>
    00023 #include <Mers/Executives/DeductiveController/Rtapi/RTAPICallback.h>
    00024 #include <Mers/Utils/Logging/logger.h>
    00025
    00026 namespace Mers {
    00027         namespace Executives {
    00028                 namespace DeductiveController {
    00029                         namespace Rtapi {
    00030                                 namespace MR {
    00031
    00043                                         class MR_dispatcher : public MultiThreadedObject
    00044                                         {
    00045
    00046                                         public:
    00047                                                 MR_dispatcher( Mers::Executives::DeductiveController::Rtapi::ThreadSafeObjectQueue *queue,
    00048                                                         Mers::Reconfiguration::Discrete::MR_connection *mr_con,
    00049                                                         Mers::Executives::DeductiveController::Rtapi::RTAPICallback *mr_callback);
    00050
    00051                                                 virtual ~MR_dispatcher();
    00052
    00053                                                 void parse_msg(Mers::Executives::DeductiveController::Rtapi::RTAPIMessage *msg);
    00054                                                 virtual void * run();
    00055
    00056                                                 Mers::Executives::DeductiveController::Rtapi::ThreadSafeObjectQueue *thequeue;
    00057                                                 Mers::Reconfiguration::Discrete::MR_connection *themr_con;
    00058                                                 Mers::Executives::DeductiveController::Rtapi::RTAPICallback *themr_callback;
    00059
    00060                                         private:
    00062                                                 Mers::Utils::Containers::intList goals;
    00063
    00065                                                 static log4cplus::Logger m_Logger;
    00066                                         };
    00067                                 }
    00068                         }
    00069                 }
    00070         }
    00071 }
    00072
    00073 #endif