Giving access to the list of registered statements

This commit is contained in:
Sebastien Rombauts 2012-04-03 06:57:20 +02:00
parent 4274b662a6
commit b17ea542d4
2 changed files with 15 additions and 4 deletions

View File

@ -59,7 +59,7 @@ void Database::registerStatement(Statement& aStatement) // throw(SQLite::Excepti
// Unregister a Statement object // Unregister a Statement object
void Database::unregisterStatement(Statement& aStatement) // throw(SQLite::Exception) void Database::unregisterStatement(Statement& aStatement) // throw(SQLite::Exception)
{ {
std::vector<Statement*>::iterator iStatement; TStatementList::iterator iStatement;
iStatement = std::find(mStatementList.begin(), mStatementList.end(), &aStatement); iStatement = std::find(mStatementList.begin(), mStatementList.end(), &aStatement);
if (mStatementList.end() != iStatement) if (mStatementList.end() != iStatement)
{ {

View File

@ -31,6 +31,9 @@ class Database
{ {
friend class Statement; friend class Statement;
public:
typedef std::vector<Statement*> TStatementList; /// List of statements pointers
public: public:
/** /**
* @brief Open the provided database UTF-8 filename. * @brief Open the provided database UTF-8 filename.
@ -73,6 +76,14 @@ public:
return mFilename; return mFilename;
} }
/**
* @brief List of registered statements
*/
inline const TStatementList& getStatementList(void) const
{
return mStatementList;
}
private: private:
// Database must not be copyable // Database must not be copyable
Database(void); Database(void);
@ -80,9 +91,9 @@ private:
Database& operator=(const Database&); Database& operator=(const Database&);
private: private:
sqlite3* mpSQLite; //!< Pointer to SQLite Database Connection Handle sqlite3* mpSQLite; //!< Pointer to SQLite Database Connection Handle
std::string mFilename; //!< UTF-8 filename used to open the database std::string mFilename; //!< UTF-8 filename used to open the database
std::vector<Statement*> mStatementList; //!< Liste of SQL statements used with this database connexion TStatementList mStatementList; //!< List of SQL registered statements used with this database connexion
}; };