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

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# Mers::Executives::DeductiveController::Rtapi::MR::MR_dispatcher Class Reference

`#include <MR_dispatcher.h>`

Inheritance diagram for Mers::Executives::DeductiveController::Rtapi::MR::MR_dispatcher:

[legend]
Collaboration diagram for Mers::Executives::DeductiveController::Rtapi::MR::MR_dispatcher:

[legend]
List of all members.

## Public Member Functions
| MR_dispatcher (Mers::Executives::DeductiveController::Rtapi::ThreadSafeObjectQueue *queue, Mers::Reconfiguration::Discrete::MR_connection *mr_con, Mers::Executives::DeductiveController::Rtapi::RTAPICallback *mr_callback)
virtual | ~MR_dispatcher ()
void | parse_msg (Mers::Executives::DeductiveController::Rtapi::RTAPIMessage *msg)
virtual void * | run ()
## Public Attributes
Mers::Executives::DeductiveController::Rtapi::ThreadSafeObjectQueue * | thequeue
Mers::Reconfiguration::Discrete::MR_connection * | themr_con
Mers::Executives::DeductiveController::Rtapi::RTAPICallback * | themr_callback

## Detailed Description

The MR_dispatcher object runs in a separate thread. As implied, it takes messages from the queue (when the queue is not empty or locked -- this is monitored by the guarded queue type ) and invokes a corresponding MR engine function.

Author:
  Andreas F. Wehowsky

  Paul H. Elliott

Definition at line 43 of file MR_dispatcher.h.

## Constructor & Destructor Documentation

MR_dispatcher::MR_dispatcher | ( | Mers::Executives::DeductiveController::Rtapi::ThreadSafeObjectQueue * | queue,
|  | Mers::Reconfiguration::Discrete::MR_connection * | mr_con,
|  | Mers::Executives::DeductiveController::Rtapi::RTAPICallback * | mr_callback |
| ) |  |  |

The MR_dispatcher object runs in a separate thread. As implied, it takes messages from the queue (when the queue is not empty or locked -- this is monitored by the guarded queue type ) and invokes a corresponding MR engine function.

Definition at line 45 of file MR_dispatcher.cpp.

References Mers::Utils::Lang::ReferencedObject::addReference(), Mers::Executives::DeductiveController::Rtapi::MultiThreadedObject::start(), themr_callback, themr_con, and thequeue.

Here is the call graph for this function:

## Member Function Documentation

THREAD_RETURN MR_dispatcher::run | ( |  | ) | `[virtual]`

this function is called by the newly spawned thread when the the start() function is called. This function should not return until the new thread is finished running

Returns:
  the return status of the run

Implements Mers::Executives::DeductiveController::Rtapi::MultiThreadedObject.

Definition at line 104 of file MR_dispatcher.cpp.

References Mers::Executives::DeductiveController::Rtapi::ThreadSafeObjectQueue::dequeue(), parse_msg(), and thequeue.

Here is the call graph for this function:

The documentation for this class was generated from the following files:

- /Users/fpy/titan-1-5-MBARI/Mers/Executives/DeductiveController/Rtapi/MR/MR_dispatcher.h
- /Users/fpy/titan-1-5-MBARI/Mers/Executives/DeductiveController/Rtapi/MR/MR_dispatcher.cpp