#ifndef fwzTcntkbxdRjyBO90weDhBZ4Nc #define fwzTcntkbxdRjyBO90weDhBZ4Nc #include #include "template_helpers.hpp" // PLA template template class Payload, typename BaseCase = Payload> struct PLA_GetByName { // action types & consts typedef BaseCase* result_t; template struct local_state_t { typedef ContextProp prop; }; // action state char *name; result_t result; PLA_GetByName(char *name) : name(name), result(NULL) {} // action methods template inline void pre(_PropList &pc, _ContextData &data, LocalState &state) { typedef typename LocalState::prop Prop; if (strcmp(Prop::name, name) == 0) { result = new Payload(); } } template inline void post(_PropComp &, _Data &, _LocalState &) { } }; #endif // fwzTcntkbxdRjyBO90weDhBZ4Nc