/*
	USQLiteDatabase.h

	A class to hold a SQLite database instance
*/

#include "sqlite.h"

#include <string>

class USQLiteDatabase {
public:
	USQLiteDatabase(char *path);
	USQLiteDatabase(FSSpec fss);
	~USQLiteDatabase();

	int exec( char *sql );
	int exec_printf( char *sql, ... );

	std::string& last_error(void) { return last; }

protected:
	virtual int process( int argc, char **argv, char **columnNames ) { return 0; }

private:
	sqlite *db;
	std::string last;
	static int Callback(void *pArg, int argc, char **argv, char **columnNames);
};
