sourcemod/extensions/mysql/mysql/MyDriver.h
David Anderson 11470d81ca added new (somewhat experimental) mysql extension and finalized the API
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40868
2007-05-30 03:25:18 +00:00

46 lines
1.0 KiB
C++

#ifndef _INCLUDE_SM_MYSQL_DRIVER_H_
#define _INCLUDE_SM_MYSQL_DRIVER_H_
#include <IDBDriver.h>
#include <sm_platform.h>
#if defined PLATFORM_WINDOWS
#include <winsock.h>
#endif
#include <mysql.h>
#include <sh_string.h>
#include <sh_list.h>
using namespace SourceMod;
using namespace SourceHook;
#define M_CLIENT_MULTI_RESULTS ((1) << 17) /* Enable/disable multi-results */
class MyDatabase;
class MyDriver : public IDBDriver
{
public:
MyDriver();
public: //IDBDriver
IDatabase *Connect(const DatabaseInfo *info, bool persistent, char *error, size_t maxlength);
const char *GetIdentifier();
const char *GetProductName();
Handle_t GetHandle();
IdentityToken_t *GetIdentity();
public:
void Shutdown();
void RemoveFromList(MyDatabase *pdb, bool persistent);
private:
Handle_t m_MyHandle;
List<MyDatabase *> m_TempDbs;
List<MyDatabase *> m_PermDbs;
};
extern MyDriver g_MyDriver;
unsigned int strncopy(char *dest, const char *src, size_t count);
#endif //_INCLUDE_SM_MYSQL_DRIVER_H_