00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include <sys/time.h>
00026 #include <sqlite3.h>
00027
00028 #include "../../sr_module.h"
00029 #include "../../lib/srdb1/db_query.h"
00030 #include "../../lib/srdb1/db.h"
00031 #include "dbase.h"
00032
00033 MODULE_VERSION
00034
00035 static int sqlite_bind_api(db_func_t *dbb)
00036 {
00037 if(dbb==NULL)
00038 return -1;
00039
00040 memset(dbb, 0, sizeof(db_func_t));
00041
00042 dbb->use_table = db_sqlite_use_table;
00043 dbb->init = db_sqlite_init;
00044 dbb->close = db_sqlite_close;
00045 dbb->free_result = db_sqlite_free_result;
00046 dbb->query = db_sqlite_query;
00047 dbb->insert = db_sqlite_insert;
00048 dbb->delete = db_sqlite_delete;
00049 dbb->update = db_sqlite_update;
00050 dbb->raw_query = db_sqlite_raw_query;
00051
00052 return 0;
00053 }
00054
00055 static cmd_export_t cmds[] = {
00056 {"db_bind_api", (cmd_function)sqlite_bind_api, 0, 0, 0, 0},
00057 {0, 0, 0, 0, 0, 0}
00058 };
00059
00060 int mod_register(char *path, int *dlflags, void *p1, void *p2)
00061 {
00062 if(db_api_init()<0)
00063 return -1;
00064 return 0;
00065 }
00066
00067 static int sqlite_mod_init(void)
00068 {
00069 sqlite3_initialize();
00070
00071 LM_INFO("SQlite library version %s (compiled using %s)\n",
00072 sqlite3_libversion(),
00073 SQLITE_VERSION);
00074 return 0;
00075 }
00076
00077
00078 static void sqlite_mod_destroy(void)
00079 {
00080 LM_INFO("SQlite terminate\n");
00081
00082 sqlite3_shutdown();
00083 }
00084
00085 struct module_exports exports = {
00086 "db_sqlite",
00087 DEFAULT_DLFLAGS,
00088 cmds,
00089 0,
00090 0,
00091 0,
00092 0,
00093 0,
00094 sqlite_mod_init,
00095 0,
00096 sqlite_mod_destroy,
00097 0
00098 };