]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - src/modules/extra/m_sqlv2.h
521a956405faa7bc3a3814b626cd5a42415b101f
[user/henk/code/inspircd.git] / src / modules / extra / m_sqlv2.h
1 #ifndef INSPIRCD_SQLAPI_2
2 #define INSPIRCD_SQLAPI_2
3
4 #define SQLREQID "SQLv2 Request"
5 #define SQLRESID "SQLv2 Result"
6 #define SQLSUCCESS "You shouldn't be reading this (success)"
7
8 #include <string>
9 #include "modules.h"
10
11 enum SQLerrorNum { BAD_DBID };
12
13 class SQLerror
14 {
15         SQLerrorNum id;
16 public:
17         
18         SQLerror()
19         {       
20         }
21         
22         SQLerror(SQLerrorNum i)
23         : id(i)
24         {       
25         }
26         
27         void Id(SQLerrorNum i)
28         {
29                 id = i;
30         }
31         
32         const char* Str()
33         {
34                 switch(id)
35                 {
36                         case BAD_DBID:
37                                 return "Invalid database ID";
38                         default:
39                                 return "Unknown error";                         
40                 }
41         }
42 };
43
44 class SQLrequest : public Request
45 {
46 public:
47         std::string query;
48         std::string dbid;
49         bool pri;
50         SQLerror error;
51         
52         SQLrequest(Module* s, Module* d, const std::string &q, const std::string &id, bool p = false)
53         : Request(SQLREQID, s, d), query(q), dbid(id), pri(p)
54         {
55         }       
56 };
57
58 class SQLresult : public Request
59 {
60 public:
61         SQLresult(Module* s, Module* d)
62         : Request(SQLRESID, s, d)
63         {
64                 
65         }
66         
67         virtual int Rows()
68         {
69                 return 0;
70         }
71 };
72
73 #endif