summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/dbsqlite/main.cpp41
1 files changed, 26 insertions, 15 deletions
diff --git a/modules/dbsqlite/main.cpp b/modules/dbsqlite/main.cpp
index 6e936d6..7db4691 100644
--- a/modules/dbsqlite/main.cpp
+++ b/modules/dbsqlite/main.cpp
@@ -11,9 +11,9 @@ PLUGINLINK *pluginLink;
sqlite3* db;
char* db_err = 0;
-SERVICE dbWriteSetting(WPARAM w, LPARAM l);
-SERVICE dbGetSetting(WPARAM w, LPARAM l);
-SERVICE dbDeleteSetting(WPARAM w, LPARAM l);
+SERVICE svc_dbWriteSetting(WPARAM w, LPARAM l);
+SERVICE svc_dbGetSetting(WPARAM w, LPARAM l);
+SERVICE svc_dbDeleteSetting(WPARAM w, LPARAM l);
HINSTANCE hInst;
BOOL WINAPI DllMain( HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved )
@@ -38,12 +38,22 @@ extern "C" __declspec(dllexport) PLUGININFO* SetPluginInfo()
return &pluginInfo;
}
+static int callback(void *NotUsed, int argc, char **argv, char **azColName)
+{
+ for(int i = 0; i < argc; i++)
+ {
+ MessageBoxA(0, argv[i], azColName[i], MB_OK);
+ }
+ return 0;
+}
+
+
extern "C" int __declspec(dllexport) Load(PLUGINLINK *link)
{
pluginLink = link;
- CreateServiceFunction("Db/WriteSetting", (SERVICE)dbWriteSetting);
- CreateServiceFunction("Db/GetSetting", (SERVICE)dbGetSetting);
- CreateServiceFunction("Db/DeleteSetting", (SERVICE)dbDeleteSetting);
+ CreateServiceFunction("Db/WriteSetting", (SERVICE)svc_dbWriteSetting);
+ CreateServiceFunction("Db/GetSetting", (SERVICE)svc_dbGetSetting);
+ CreateServiceFunction("Db/DeleteSetting", (SERVICE)svc_dbDeleteSetting);
if(!sqlite3_open_v2(".\\database.sql3", &db, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL))
MessageBoxA(0, "dbsqlite plugin loaded", "INFO", MB_OK);
return 0;
@@ -51,9 +61,10 @@ extern "C" int __declspec(dllexport) Load(PLUGINLINK *link)
extern "C" int __declspec(dllexport) OnModulesLoaded()
{
- sqlite3_exec(db, "CREATE TABLE 'data' (id INTEGER PRYMARY KEY, module TEXT, setting TEXT, string TEXT, number INT, binary BLOB);", 0, 0, &db_err);
- sqlite3_exec(db, "CREATE GENERATOR generator_;", 0, 0, &db_err);
- sqlite3_exec(db, "CREATE TRIGGER index_updater FOR data BEFORE INSERT POSITION 0 AS BEGIN NEW.id = GEN_ID(generator_, 1) END;", 0, 0, &db_err);
+ sqlite3_exec(db, "CREATE TABLE 'data' (id INTEGER PRYMARY KEY, module TEXT, setting TEXT, string TEXT, number INT, binary BLOB);", callback, 0, &db_err);
+ //some autoindexing code here
+ sqlite3_exec(db, "SELECT * FROM data;", callback, 0, &db_err);
+ MessageBoxA(0, db_err, "INFO", MB_OK);
for(;;)
Sleep(1000);
return 0;
@@ -66,7 +77,7 @@ extern "C" int __declspec(dllexport) Unload()
return 0;
}
-SERVICE dbWriteSetting(WPARAM w, LPARAM l)
+SERVICE svc_dbWriteSetting(WPARAM w, LPARAM l)
{
PLUGININFO *info = (PLUGININFO*)w;
DATA *data = (DATA*)l;
@@ -82,7 +93,7 @@ SERVICE dbWriteSetting(WPARAM w, LPARAM l)
strcat(buf, "', ");
strcat(buf, tmp);
strcat(buf, ");");
- sqlite3_exec(db, buf, 0, 0, &db_err);
+ sqlite3_exec(db, buf, callback, 0, &db_err);
MessageBoxA(0, db_err, "INFO", MB_OK);
break;
case D_STRING:
@@ -93,7 +104,7 @@ SERVICE dbWriteSetting(WPARAM w, LPARAM l)
strcat(buf, "', '");
strcat(buf, (char*)data->pData);
strcat(buf, "');");
- sqlite3_exec(db, buf, 0, 0, &db_err);
+ sqlite3_exec(db, buf, callback, 0, &db_err);
MessageBoxA(0, db_err, "INFO", MB_OK);
break;
case D_BLOB:
@@ -102,13 +113,13 @@ SERVICE dbWriteSetting(WPARAM w, LPARAM l)
break;
}
}
-SERVICE dbGetSetting(WPARAM w, LPARAM l)
+SERVICE svc_dbGetSetting(WPARAM w, LPARAM l)
{
PLUGININFO *info = (PLUGININFO*)w;
DATA *data = (DATA*)l;
}
-SERVICE dbDeleteSetting(WPARAM w, LPARAM l)
+SERVICE svc_dbDeleteSetting(WPARAM w, LPARAM l)
{
PLUGININFO *info = (PLUGININFO*)w;
DATA *data = (DATA*)l;
@@ -118,7 +129,7 @@ SERVICE dbDeleteSetting(WPARAM w, LPARAM l)
strcat(buf, "' AND setting = '");
strcat(buf, data->szSetting);
strcat(buf, "';");
- sqlite3_exec(db, buf, 0, 0, &db_err);
+ sqlite3_exec(db, buf, callback, 0, &db_err);
MessageBoxA(0, db_err, "INFO", MB_OK);
}