31#include "../platforms/validator/PlatformEventQueue.h"
33#include "../platforms/sdl/PlatformEventQueue.h"
35#include "../base/FunctionMap.h"
37#include "../apps/Globals.h"
39#ifdef PEBL_ITERATIVE_EVAL
41#include "../base/Evaluator-es.h"
44#include "../base/Evaluator.h"
48#include "emscripten.h"
52#include "../base/PComplexData.h"
53#include "../base/PEBLObject.h"
54#include "../base/grammar.tab.hpp"
56#include "../utility/Defs.h"
58#include "../libs/PEBLEnvironment.h"
87 const std::string & function,
113 PNode * fnode =
new OpNode(PEBL_FUNCTION, namenode, arglist,
"user-generated", -1);
165 PNode * fnode =
new OpNode(PEBL_FUNCTION, namenode, arglist,
"user-generated", -1);
188 std::vector<DeviceState*>::iterator i =
mStates.begin();
213 unsigned int i, result =0;
237 for(i = 0; i <
mStates.size(); i++)
267 result =
mStates[i]->TestDevice();
304 if(outcome==
"<REMOVE>"| outcome==
"<remove>")
349 result =
mStates[i]->TestDevice();
362 returnval.SetDummyEvent(pde);
374 returnval.SetDummyEvent(pde);
385 returnval.SetDummyEvent(pde);
415 if(outcome==
"<REMOVE>")
483 out <<
"PEBL Event Loop: " << flush;
492 out <<
" ---------------\n";
493 out <<
"Number of states:" <<
mStates.size() << endl;
PlatformEventQueue * gEventQueue
std::ostream & operator<<(std::ostream &out, const PEventLoop &loop)
PlatformEventQueue * gEventQueue
This class has got everything you need to evaluate stuff.
static VariableMap gGlobalVariableMap
static FunctionMap mFunctionMap
Initiate some static member data.
void CallFunction(const OpNode *node)
PNode * GetFunction(const std::string &funcname)
std::vector< Variant > mParameters
std::vector< bool > mIsEvent
std::vector< PNode * > mNodes
PEvent Loop()
Initiates the looping tests.
void RegisterEvent(DeviceState *state, const std::string &function, Variant parameters)
void Print(std::ostream &out) const
void RegisterState(DeviceState *state, const std::string &function, Variant parameters)
~PEventLoop()
This is the standard pNode destructor.
PEventLoop()
This is the standard PEventLoop constructor.
std::vector< DeviceState * > mStates
virtual PEBL_DEVICE_TYPE GetFirstEventType()
virtual PEvent GetFirstEvent()
void PushBack(const Variant &v)
bool Exists(const std::string &varname)
void AddVariable(const std::string &varname, const Variant &val)
Variant RetrieveValue(const std::string &varname)
PComplexData * GetComplexData() const