diff options
author | LarsAC <LarsAC@e10066b5-e1e2-0310-b819-94efdf66514b> | 2005-03-06 12:34:19 +0000 |
---|---|---|
committer | LarsAC <LarsAC@e10066b5-e1e2-0310-b819-94efdf66514b> | 2005-03-06 12:34:19 +0000 |
commit | 1d536430c41bad11ed36afeba8ab0219fe9cb36d (patch) | |
tree | ef83eac4a54a0e2157ddad50dedfb8b0e0c88554 /mg_mysql.h | |
parent | c87cae66c3cbf92ce6cbf9ced5bc2016c5d6b406 (diff) | |
download | vdr-plugin-muggle-1d536430c41bad11ed36afeba8ab0219fe9cb36d.tar.gz vdr-plugin-muggle-1d536430c41bad11ed36afeba8ab0219fe9cb36d.tar.bz2 |
Merged changes for 0.1.4
git-svn-id: https://vdr-muggle.svn.sourceforge.net/svnroot/vdr-muggle/trunk/muggle-plugin@542 e10066b5-e1e2-0310-b819-94efdf66514b
Diffstat (limited to 'mg_mysql.h')
-rw-r--r-- | mg_mysql.h | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/mg_mysql.h b/mg_mysql.h new file mode 100644 index 0000000..eddc34e --- /dev/null +++ b/mg_mysql.h @@ -0,0 +1,77 @@ +/*! + * \file mg_mysql.h + * \brief A capsule around MySql database access + * + * \version $Revision: 1.2 $ + * \date $Date: 2005-02-10 17:42:54 +0100 (Thu, 10 Feb 2005) $ + * \author Ralf Klueber, Lars von Wedel, Andreas Kellner, Wolfgang Rohdewald + * \author Responsible author: $Author: LarsAC $ + */ + +#ifndef __MG_MYSQL_H +#define __MG_MYSQL_H + +#include <string> +#include <mysql/mysql.h> + +using namespace std; + +void database_end(); // must be done explicitly +void set_datadir(char *datadir); + +/*! + * \brief an abstract database class + * + */ +class mgmySql +{ + public: + + /*! \brief default constructor + */ + mgmySql( ); + + ~mgmySql(); + + /*! + * \brief helper function to execute queries + * + */ + MYSQL_RES* exec_sql( const string query); + + /*! + * \brief escape arguments to be contained in a query + */ + string sql_string( string s ); + + char* sql_Cstring( const string s,char *buf=0); + char* sql_Cstring( const char *s,char *buf=0); + + string get_col0( const string query); + +/*! \brief executes a query and returns the integer value from + * the first column in the first row. The query shold be a COUNT query + * returning only one row. + * \param query the SQL query to be executed + */ + unsigned long exec_count (string query); + + long thread_id() { return mysql_thread_id(m_db);} + long affected_rows() { return mysql_affected_rows(m_db);} + bool ServerConnected() const; + bool Connected() const; + bool HasFolderFields() const { return m_hasfolderfields;} + void Connect(); + void Use(); + //! \brief create database and tables + void Create(); + void FillTables(); + void CreateFolderFields(); + + private: + MYSQL *m_db; + bool m_database_found; + bool m_hasfolderfields; +}; + +#endif |