FACT++  1.0
StateMachineDimControl::StateMachineDimControl ( std::ostream &  out = std::cout)

Definition at line 518 of file StateMachineDimControl.cc.

References StateMachineImp::AddEvent(), StateMachineDim::AddStateName(), fDim, fDimList, HandleAddService(), HandleServerAdd(), HandleServerRemove(), InterruptScript(), DimDnsServerList::SetCallbackServerAdd(), DimDnsServerList::SetCallbackServerRemove(), DimDnsServiceList::SetCallbackServiceAdd(), StartScript(), StopScript(), DimState::Subscribe(), and DimDnsServiceList::Subscribe().

Referenced by SetInterruptHandler().

518  : StateMachineDim(out, fIsServer?"DIM_CONTROL":"")
519 {
520  fDim.Subscribe(*this);
521  fDimList.Subscribe(*this);
522 
526 
527  // State names
528  AddStateName(0, "Idle", "No script currently in processing.");
529  AddStateName(1, "Loading", "Script is loading.");
530  AddStateName(2, "Compiling", "JavaScript is compiling.");
531  AddStateName(3, "Running", "Script is running.");
532 
533  AddEvent("START", "C", 0)
534  (bind(&StateMachineDimControl::StartScript, this, placeholders::_1, ".js "))
535  ("Start a JavaScript");
536 
537  AddEvent("EXECUTE", "C", 0)
538  (bind(&StateMachineDimControl::StartScript, this, placeholders::_1, ".x "))
539  ("Execute a batch script");
540 
541  AddEvent("STOP", "C")
542  (bind(&StateMachineDimControl::StopScript, this, placeholders::_1))
543  ("Stop a runnning batch script or JavaScript");
544 
545  AddEvent("INTERRUPT", "C")
546  (bind(&StateMachineDimControl::InterruptScript, this, placeholders::_1))
547  ("Send an interrupt request (IRQ) to a running JavaScript");
548 }
EventImp & AddEvent(const std::string &name, const std::string &states, const std::string &fmt)
int HandleAddService(const Service &svc)
StateMachineDim(std::ostream &out=std::cout, const std::string &name="DEFAULT")
void SetCallbackServiceAdd(const callback_svc &cb)
Definition: DimState.h:448
void SetCallbackServerRemove(const callback_srv &cb)
Definition: DimState.h:373
int HandleServerRemove(const std::string &server)
int StartScript(const EventImp &imp, const std::string &cmd)
virtual void Subscribe(StateMachineImp &imp)
Definition: DimState.h:68
int HandleServerAdd(const std::string &server)
int StopScript(const EventImp &imp)
int InterruptScript(const EventImp &imp)
void SetCallbackServerAdd(const callback_srv &cb)
Definition: DimState.h:368
bool AddStateName(const int state, const std::string &name, const std::string &doc="")
void Subscribe(StateMachineImp &imp)
Definition: DimState.h:442

+ Here is the call graph for this function:

+ Here is the caller graph for this function: