summaryrefslogtreecommitdiff
path: root/modules/dbsqlite/main.cpp
blob: e1128f7ee8d840983d4fc6268931577494fbbe13 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <windows.h>
#include <stdio.h>

#include <pluginapi.h> 
#include <plugin_helper.h> 
#include <db.h>

#include "sqlite3.h"

PLUGINLINK *pluginLink;
sqlite3* db;
char* db_err;

HINSTANCE hInst;
BOOL WINAPI DllMain( HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved )
{
	hInst = hinstDLL;
	return TRUE;
}

PLUGININFO pluginInfo = 
{
	sizeof(PLUGININFO), 
	(char*)"SQLite database support plugin", 
	(char*)"Support for data storage in local sql database through libsqlite", 
	(char*)"sss", 
	(char*)"sss123next@list.ru", 
	PLUGIN_MAKE_VERSION(0,0,0,1), 
	F_DB_PLUGIN 
};

extern "C" __declspec(dllexport) PLUGININFO* SetPluginInfo()
{
	return &pluginInfo;
}

extern "C"  int __declspec(dllexport) Load(PLUGINLINK *link) 
{
	pluginLink = link;
	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() 
{
	for(;;)
		Sleep(1000);
	return 0;
}
extern "C" int __declspec(dllexport) Unload()
{
	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)
{
}