aboutsummaryrefslogtreecommitdiff
path: root/Src/nde/Database.cpp
blob: 2c9c35d7c6ffaa8620b555d4e822161af51a922b (plain) (blame)
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
66
67
68
69
70
71
72
73
74
75
76
/* ---------------------------------------------------------------------------
                           Nullsoft Database Engine
                             --------------------
                        codename: Near Death Experience
--------------------------------------------------------------------------- */

/* ---------------------------------------------------------------------------

 Database Class

--------------------------------------------------------------------------- */

#include "Database.h"
#include "Table.h"

//---------------------------------------------------------------------------
Database::Database()
{
#ifdef WIN32
	hInstance = (HINSTANCE)0;
#endif

}

#ifdef WIN32
//---------------------------------------------------------------------------
Database::Database(HINSTANCE hinst)
{
	hInstance = hinst;
}
#endif

//---------------------------------------------------------------------------
Database::~Database()
{
}

#ifdef WIN32
//---------------------------------------------------------------------------
void Database::SetInstance(HINSTANCE inst) {
	hInstance = inst;
}

HINSTANCE Database::GetInstance() {
	return hInstance;
}
#endif

//--------------------------------------------------------------------------
#ifdef _WIN32
Table *Database::OpenTable(const wchar_t *TableName, const wchar_t *IdxName, BOOL Create, BOOL Cached)
#else
Table *Database::OpenTable(const char *TableName, const char *IdxName, BOOL Create, BOOL Cached)
#endif
//char *tablefn, char*indexfn, BOOL create)
{
	Table *table = new Table(TableName, IdxName, Create, this, Cached);
	if (table)
	{
		if (table->Open())
			return table;
		table->Close();
		delete table;
	}
	return NULL;
}

//---------------------------------------------------------------------------
void Database::CloseTable(Table *table)
{
	if (table)
	{
		table->Close();
		delete table;
	}
}