diff options
author | Stefan Radomski <radomski@tk.informatik.tu-darmstadt.de> | 2014-01-19 20:36:56 (GMT) |
---|---|---|
committer | Stefan Radomski <radomski@tk.informatik.tu-darmstadt.de> | 2014-01-19 20:36:56 (GMT) |
commit | 08eff21dfbdbf7d20e1b96ff2f00882ec0a87b08 (patch) | |
tree | 20e03566d2b7569d1bb520d7d2ad4bc4fb6e2cee /src/uscxml/plugins/datamodel/prolog/swi/SWIDataModel.h | |
parent | 3d790497c67b07149f8563dbae39856aa961e74d (diff) | |
download | uscxml-08eff21dfbdbf7d20e1b96ff2f00882ec0a87b08.zip uscxml-08eff21dfbdbf7d20e1b96ff2f00882ec0a87b08.tar.gz uscxml-08eff21dfbdbf7d20e1b96ff2f00882ec0a87b08.tar.bz2 |
Support for complex event.data in prolog datamodel
Diffstat (limited to 'src/uscxml/plugins/datamodel/prolog/swi/SWIDataModel.h')
-rw-r--r-- | src/uscxml/plugins/datamodel/prolog/swi/SWIDataModel.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/uscxml/plugins/datamodel/prolog/swi/SWIDataModel.h b/src/uscxml/plugins/datamodel/prolog/swi/SWIDataModel.h index 62a4ab7..66a9257 100644 --- a/src/uscxml/plugins/datamodel/prolog/swi/SWIDataModel.h +++ b/src/uscxml/plugins/datamodel/prolog/swi/SWIDataModel.h @@ -84,6 +84,19 @@ public: static foreign_t inPredicate(term_t a0, int arity, void* context); protected: std::map<std::string, PlTerm> resolveAtoms(PlTerm& term, PlTerm& orig); + void assertFromData(const Data& data, const std::string& expr, size_t nesting); + + static Data termAsData(PlTerm term); + static PlTerm dataAsTerm(Data data); + + + static int dictCallBack(term_t key, term_t value, int last, void *closure); + + static PL_blob_t blobType; + static void acquireBlob(atom_t symbol); + static int releaseBlob(atom_t symbol); + static int compareBlob(atom_t a, atom_t b); + static int writeBlob(void *s, atom_t symbol, int flags); Event _event; |