#ifndef _DBXML_HELPER_H_ #define _DBXML_HELPER_H_ #include extern "C" { int _xmlManager(DbEnv* dbenv, u_int32_t flags, DbXml::XmlManager** mgr); int _xmlManager_openContainer(DbXml::XmlManager* mgr, const char* name, u_int32_t flags, int cType, int mode, DbXml::XmlContainer** container); void _xmlContainer_delete(DbXml::XmlContainer* cont); int _xmlManager_createTransaction(DbXml::XmlManager* mgr, u_int32_t flags, DbXml::XmlTransaction** trans); void _xmlTransaction_delete(DbXml::XmlTransaction* trans); int _xmlTransaction_commit(DbXml::XmlTransaction* trans); int _xmlTransaction_abort(DbXml::XmlTransaction* trans); int _xmlContainer_getDocument(DbXml::XmlContainer* cont, DbXml::XmlTransaction* trans, const char* key, u_int32_t flags, DbXml::XmlDocument** doc); char* _xmlContainer_getName(DbXml::XmlContainer* cont); void _xmlDocument_delete(DbXml::XmlDocument* doc); int _xmlDocument_getContent(DbXml::XmlDocument* doc, char** str); int _xmlManager_createQueryContext(DbXml::XmlManager* mgr, int rt, int ev, DbXml::XmlQueryContext** ctx); void _xmlQueryContext_delete(DbXml::XmlQueryContext* ctx); void _xmlResults_delete(DbXml::XmlResults* res); int _xmlResults_hasNext(DbXml::XmlResults* res, int* answer); int _xmlResults_nextDocument(DbXml::XmlResults* res, DbXml::XmlDocument** doc); int _xmlResults_nextValue(DbXml::XmlResults* res, DbXml::XmlValue** val); int _xmlManager_query(DbXml::XmlManager* mgr, DbXml::XmlTransaction* trans, const char* query, DbXml::XmlQueryContext* ctx, u_int32_t flags, DbXml::XmlResults** res); void _xmlQueryExpression_delete(DbXml::XmlQueryExpression* exp); int _xmlManager_prepare(DbXml::XmlManager* mgr, DbXml::XmlTransaction* trans, const char* query, DbXml::XmlQueryContext* ctx, DbXml::XmlQueryExpression** exp); int _xmlQueryContext_setDefaultCollection(DbXml::XmlQueryContext* ctx, const char* coll); int _xmlQueryContext_setVariableValue(DbXml::XmlQueryContext* ctx, const char* name, DbXml::XmlValue* value); void _xmlValue_delete(DbXml::XmlValue* exp); DbXml::XmlValue* _xmlNone(); DbXml::XmlValue* _xmlString(const char* text); DbXml::XmlValue* _xmlBool(int value); DbXml::XmlValue* _xmlDouble(double value); int _xmlValue_asString(DbXml::XmlValue* value, char** str); int _xmlQueryExpression_execute(DbXml::XmlQueryExpression* exp, DbXml::XmlTransaction* trans, DbXml::XmlValue* contextItem, DbXml::XmlQueryContext* qctx, u_int32_t flags, DbXml::XmlResults** res); int _xmlManager_createDocument(DbXml::XmlManager* mgr, DbXml::XmlDocument** doc); int _xmlDocument_getName(DbXml::XmlDocument* doc, char** name); int _xmlDocument_setName(DbXml::XmlDocument* doc, const char* name); void _xmlUpdateContext_delete(DbXml::XmlUpdateContext* ctx); int _xmlManager_createUpdateContext(DbXml::XmlManager* mgr, DbXml::XmlUpdateContext** ctx); int _xmlDocument_setContent(DbXml::XmlDocument* doc, const char* text); int _xmlContainer_updateDocument(DbXml::XmlContainer* cont, DbXml::XmlTransaction* trans, DbXml::XmlDocument* doc, DbXml::XmlUpdateContext* uctx); int _xmlContainer_putDocument(DbXml::XmlContainer* cont, DbXml::XmlTransaction* trans, DbXml::XmlDocument* doc, DbXml::XmlUpdateContext* uctx, u_int32_t flags); int _xmlContainer_deleteDocument(DbXml::XmlContainer* cont, DbXml::XmlTransaction* trans, DbXml::XmlDocument* doc, DbXml::XmlUpdateContext* uctx); } #endif