summaryrefslogtreecommitdiffstats
path: root/src/uscxml/plugins/datamodel/prolog/swi/SWIDataModel.h
diff options
context:
space:
mode:
authorStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2014-01-19 20:36:56 (GMT)
committerStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2014-01-19 20:36:56 (GMT)
commit08eff21dfbdbf7d20e1b96ff2f00882ec0a87b08 (patch)
tree20e03566d2b7569d1bb520d7d2ad4bc4fb6e2cee /src/uscxml/plugins/datamodel/prolog/swi/SWIDataModel.h
parent3d790497c67b07149f8563dbae39856aa961e74d (diff)
downloaduscxml-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.h13
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;