diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2005-04-21 12:01:35 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2005-04-21 12:01:35 +0000 |
commit | f7a0c180d8d6dc4618b53892c04ca7af64e0841e (patch) | |
tree | 706f0e0078aebc949b8c04a7f60895a307d50578 /src/modules/extra/m_sql.h | |
parent | b973cb4a05ae940d3ae098eb01f54f89acf1e631 (diff) |
Added header for m_sql with inherited Request class
Added simple API for m_sql
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1149 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/extra/m_sql.h')
-rw-r--r-- | src/modules/extra/m_sql.h | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/src/modules/extra/m_sql.h b/src/modules/extra/m_sql.h new file mode 100644 index 000000000..768551bf3 --- /dev/null +++ b/src/modules/extra/m_sql.h @@ -0,0 +1,108 @@ +#ifndef __M_SQL_H__ +#define __M_SQL_H__ + +#include <string> +#include <vector> + +#define SQL_RESULT 1 +#define SQL_COUNT 2 +#define SQL_ROW 3 +#define SQL_ERROR 4 +#define SQL_END 5 + +// SQLRequest is inherited from a basic Request object +// so that we can neatly pass information around the +// system. + +class SQLRequest : public Request +{ + protected: + long conn_id; + int request_type; + std::string thisquery; + public: + void SetConnID(long id) + { + conn_id = id; + } + + long GetConnID(long id) + { + return conn_id; + } + + void SetQueryType(int t) + { + request_type = t; + } + + int GetQueryType(int t) + { + return request_type; + } + + void SetQuery(std::string query) + { + thisquery = query; + } + + std::string GetQuery() + { + return thisquery; + } +}; + +// Upon completion, an SQLRequest returns an SQLResponse. + +class SQLResponse +{ + protected: + int resptype; + unsigned long count; + std::string error; + std::map<std::string,std::string> row; + public: + void SetRow(std::map<std::string,std::string> r) + { + row = r; + } + + std::string GetField(std::string field) + { + std::map<std::string,std::string>::iterator iter = row.find(field); + if (iter == row.end()) return ""; + return iter->second; + } + + void SetType(int rt) + { + resptype = rt; + } + + void SetError(std::string err) + { + error = err; + } + + int GetType() + { + return restype; + } + + std::string GetError() + { + return error; + } + + void SetCount(unsigned long c) + { + count = c; + } + + unsigned long GetCount() + { + return count; + } +}; + +#endif |