From 63edbec1418f493ff86a3e0615a50b0fb83ab6a5 Mon Sep 17 00:00:00 2001 From: Gluzskiy Alexandr Date: Thu, 5 Aug 2010 01:31:34 +0300 Subject: new file: ../../api/db.h modified: ../dbsqlite/main.cpp modified: main.cpp --- modules/dbsqlite/main.cpp | 17 +++++++++++++---- modules/example/main.cpp | 10 +++++++--- 2 files changed, 20 insertions(+), 7 deletions(-) (limited to 'modules') diff --git a/modules/dbsqlite/main.cpp b/modules/dbsqlite/main.cpp index c6462df..e1128f7 100644 --- a/modules/dbsqlite/main.cpp +++ b/modules/dbsqlite/main.cpp @@ -3,6 +3,7 @@ #include #include +#include #include "sqlite3.h" @@ -36,21 +37,29 @@ extern "C" __declspec(dllexport) PLUGININFO* SetPluginInfo() extern "C" int __declspec(dllexport) Load(PLUGINLINK *link) { pluginLink = link; - sqlite3_open(".\\database.sql3", &db); - MessageBoxA(0, "dbsqlite plugin loaded", "INFO", MB_OK); + if(!sqlite3_open_v2(".\\database.sql3", &db, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL)) + MessageBoxA(0, "dbsqlite plugin loaded", "INFO", MB_OK); return 0; } extern "C" int __declspec(dllexport) OnModulesLoaded() { -// sqlite3_exec(db, "", 0, 0, &db_err); for(;;) Sleep(1000); return 0; } extern "C" int __declspec(dllexport) Unload() { - sqlite3_close(db); + while(sqlite3_close(db) == SQLITE_BUSY) + Sleep(1000); + MessageBoxA(0, "Database succesfuly unloaded", "INFO", MB_OK); return 0; } +SERVICE dbWriteSestting(WPARAM w, LPARAM l) +{ +} +SERVICE dbGetSetting(WPARAM w, LPARAM l) +{ +} + diff --git a/modules/example/main.cpp b/modules/example/main.cpp index 438e281..ecba903 100644 --- a/modules/example/main.cpp +++ b/modules/example/main.cpp @@ -28,12 +28,13 @@ PLUGININFO pluginInfo = extern "C" __declspec(dllexport) PLUGININFO* SetPluginInfo() { - return &pluginInfo; + return &pluginInfo; //necessary } extern "C" int __declspec(dllexport) Load(PLUGINLINK *link) //basic initialisation, registering new functions, do other basic initialisation, you can create infinite loop, or other code which use many time here, only fast basic initialisation { pluginLink = link; //necessary + //some basic initialisation code MessageBoxA(0, "Simple plugin initialisation done", "INFO", MB_OK); TestService(); //only core servisec avaible in load return 0; //all ok, retrun 0 @@ -42,14 +43,17 @@ extern "C" int __declspec(dllexport) Load(PLUGINLINK *link) //basic initialisat extern "C" int __declspec(dllexport) OnModulesLoaded() //load main code from here, all services from other plugins must be avaible here { MessageBoxA(0, "Advanced plugin features needed services from other plugins are working from now", "INFO", MB_OK); - CallService("Core/Test", 0, 0); //usage example of service registered in core - TestService(); //same as above, look in core_services.h + //some code +// TestService(); //same as CallService("Core/Test", 0, 0); Shutdown(); //same as CallService("Core/Shutdown", 0, 0); ,this will shutdown program return 0; } extern "C" int __declspec(dllexport) Unload() { + //close open files, databases, save settings in memory to db, e.t.c. here. + //some code + MessageBoxA(0, "Plugin Sucesfully unloaded", "INFO", MB_OK); return 0; } -- cgit v1.2.3