diff options
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; |