emc_system
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
emc::Engine Class Reference

#include <engine.h>

Classes

struct  StateDetail
 

Public Member Functions

 Engine ()
 
void registerState (const char *state, state_function func)
 
void registerTransition (const char *state1, const char *event, const char *state2)
 
void run ()
 
void setInitialState (const char *state)
 
void setLoopFrequency (double freq)
 
void setUserData (void *user_data)
 
 ~Engine ()
 

Private Member Functions

void addError (const std::string &err)
 
int addState (const char *state)
 
const std::stringeventToString (int event_id)
 
int getEvent (const char *event)
 
int getOrAddEvent (const char *event)
 
int getState (const char *state)
 
const std::stringstateToString (int state_id)
 

Private Attributes

std::map< std::string, int > event_to_int
 
std::vector< std::stringevents
 
bool has_error_
 
IOio_
 
double loop_freq_
 
int state_
 
std::vector< StateDetailstate_details
 
std::map< std::string, int > state_to_int
 
void * user_data_
 

Detailed Description

Definition at line 21 of file engine.h.

Constructor & Destructor Documentation

◆ Engine()

emc::Engine::Engine ( )

Definition at line 12 of file engine.cpp.

◆ ~Engine()

emc::Engine::~Engine ( )

Definition at line 21 of file engine.cpp.

Member Function Documentation

◆ addError()

void emc::Engine::addError ( const std::string err)
inlineprivate

Definition at line 166 of file engine.h.

◆ addState()

int emc::Engine::addState ( const char *  state)
inlineprivate

Definition at line 104 of file engine.h.

◆ eventToString()

const std::string& emc::Engine::eventToString ( int  event_id)
inlineprivate

Definition at line 159 of file engine.h.

◆ getEvent()

int emc::Engine::getEvent ( const char *  event)
inlineprivate

Definition at line 134 of file engine.h.

◆ getOrAddEvent()

int emc::Engine::getOrAddEvent ( const char *  event)
inlineprivate

Definition at line 142 of file engine.h.

◆ getState()

int emc::Engine::getState ( const char *  state)
inlineprivate

Definition at line 121 of file engine.h.

◆ registerState()

void emc::Engine::registerState ( const char *  state,
state_function  func 
)
inline

Definition at line 37 of file engine.h.

◆ registerTransition()

void emc::Engine::registerTransition ( const char *  state1,
const char *  event,
const char *  state2 
)
inline

Definition at line 47 of file engine.h.

◆ run()

void emc::Engine::run ( )

Definition at line 29 of file engine.cpp.

◆ setInitialState()

void emc::Engine::setInitialState ( const char *  state)
inline

Definition at line 30 of file engine.h.

◆ setLoopFrequency()

void emc::Engine::setLoopFrequency ( double  freq)
inline

Definition at line 73 of file engine.h.

◆ setUserData()

void emc::Engine::setUserData ( void *  user_data)
inline

Definition at line 75 of file engine.h.

◆ stateToString()

const std::string& emc::Engine::stateToString ( int  state_id)
inlineprivate

Definition at line 129 of file engine.h.

Member Data Documentation

◆ event_to_int

std::map<std::string, int> emc::Engine::event_to_int
private

Definition at line 92 of file engine.h.

◆ events

std::vector<std::string> emc::Engine::events
private

Definition at line 96 of file engine.h.

◆ has_error_

bool emc::Engine::has_error_
private

Definition at line 164 of file engine.h.

◆ io_

IO* emc::Engine::io_
private

Definition at line 79 of file engine.h.

◆ loop_freq_

double emc::Engine::loop_freq_
private

Definition at line 102 of file engine.h.

◆ state_

int emc::Engine::state_
private

Definition at line 81 of file engine.h.

◆ state_details

std::vector<StateDetail> emc::Engine::state_details
private

Definition at line 98 of file engine.h.

◆ state_to_int

std::map<std::string, int> emc::Engine::state_to_int
private

Definition at line 94 of file engine.h.

◆ user_data_

void* emc::Engine::user_data_
private

Definition at line 100 of file engine.h.


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