presage  0.9.1
sqliteDatabaseConnector.h
Go to the documentation of this file.
1 
2 /******************************************************
3  * Presage, an extensible predictive text entry system
4  * ---------------------------------------------------
5  *
6  * Copyright (C) 2008 Matteo Vescovi <matteo.vescovi@yahoo.co.uk>
7 
8  This program is free software; you can redistribute it and/or modify
9  it under the terms of the GNU General Public License as published by
10  the Free Software Foundation; either version 2 of the License, or
11  (at your option) any later version.
12 
13  This program is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  GNU General Public License for more details.
17 
18  You should have received a copy of the GNU General Public License along
19  with this program; if not, write to the Free Software Foundation, Inc.,
20  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
21  *
22  **********(*)*/
23 
24 
25 #ifndef SQLITEDATABASECONNECTOR_H
26 #define SQLITEDATABASECONNECTOR_H
27 
28 #ifdef HAVE_CONFIG_H
29 # include "config.h"
30 #endif
31 
32 #if defined(HAVE_SQLITE3_H)
33 # include <sqlite3.h>
34 #elif defined(HAVE_SQLITE_H)
35 # include <sqlite.h>
36 #else
37 # error "SQLite is required. Please install SQLite."
38 #endif
39 
40 #include "databaseConnector.h"
41 #include "../../presageException.h"
42 
44  public:
45  SqliteDatabaseConnector(const std::string db,
46  const size_t cardinality,
47  const bool read_write);
48  SqliteDatabaseConnector(const std::string db,
49  const size_t cardinality,
50  const bool read_write,
51  const std::string logger_level);
53 
54  virtual void openDatabase();
55  virtual void closeDatabase();
56  virtual NgramTable executeSql(const std::string query) const;
57 
59  public:
60  SqliteDatabaseConnectorException(presage_error_code_t code, const std::string& errormsg) throw() : PresageException(code, errormsg) { }
61  virtual ~SqliteDatabaseConnectorException() throw() { }
62 
63  private:
65 
66  };
67 
68  protected:
69 
70  private:
71  static int callback(void *pArg, int argc, char **argv, char **columnNames);
72 
73 #if defined(HAVE_SQLITE3_H)
74  sqlite3* db;
75 #elif defined(HAVE_SQLITE_H)
76  sqlite* db;
77 #endif
78 
79 };
80 
81 #endif // SQLITEDATABASECONNECTOR_H
SqliteDatabaseConnector::~SqliteDatabaseConnector
~SqliteDatabaseConnector()
Definition: sqliteDatabaseConnector.cpp:48
SqliteDatabaseConnector::SqliteDatabaseConnectorException::~SqliteDatabaseConnectorException
virtual ~SqliteDatabaseConnectorException()
Definition: sqliteDatabaseConnector.h:79
presage_error_code_t
presage_error_code_t
Definition: presageException.h:31
SqliteDatabaseConnector::SqliteDatabaseConnectorException::SqliteDatabaseConnectorException
SqliteDatabaseConnectorException()
Definition: sqliteDatabaseConnector.h:82
PRESAGE_ERROR
Definition: presageException.h:53
NgramTable
std::vector< Ngram > NgramTable
Definition: databaseConnector.h:38
SqliteDatabaseConnector::closeDatabase
virtual void closeDatabase()
Definition: sqliteDatabaseConnector.cpp:122
PresageException::code
virtual const presage_error_code_t code() const
Definition: presageException.h:85
PresageException::PresageException
PresageException(presage_error_code_t code, const std::string &msg)
Definition: presageException.h:68
DatabaseConnector::cardinality
size_t cardinality
Definition: databaseConnector.h:164
SqliteDatabaseConnector::callback
static int callback(void *pArg, int argc, char **argv, char **columnNames)
Definition: sqliteDatabaseConnector.cpp:173
databaseConnector.h
DatabaseConnector
Definition: databaseConnector.h:43
SqliteDatabaseConnector::SqliteDatabaseConnectorException
Definition: sqliteDatabaseConnector.h:76
PresageException
Definition: presageException.h:66
SqliteDatabaseConnector::openDatabase
virtual void openDatabase()
Definition: sqliteDatabaseConnector.cpp:53
SqliteDatabaseConnector::executeSql
virtual NgramTable executeSql(const std::string query) const
Definition: sqliteDatabaseConnector.cpp:133
SqliteDatabaseConnector::SqliteDatabaseConnector
SqliteDatabaseConnector(const std::string db, const size_t cardinality, const bool read_write)
Definition: sqliteDatabaseConnector.cpp:31
SqliteDatabaseConnector
Definition: sqliteDatabaseConnector.h:42