DatabaseAuthorizer.h [plain text]
#ifndef DatabaseAuthorizer_h
#define DatabaseAuthorizer_h
#include "SQLiteAuthorizer.h"
namespace WebCore {
class DatabaseAuthorizer : public SQLiteAuthorizer {
public:
DatabaseAuthorizer();
virtual int createTable(const String& tableName);
virtual int createTempTable(const String& tableName);
virtual int dropTable(const String& tableName);
virtual int dropTempTable(const String& tableName);
virtual int allowAlterTable(const String& databaseName, const String& tableName);
virtual int createIndex(const String& indexName, const String& tableName);
virtual int createTempIndex(const String& indexName, const String& tableName);
virtual int dropIndex(const String& indexName, const String& tableName);
virtual int dropTempIndex(const String& indexName, const String& tableName);
virtual int createTrigger(const String& triggerName, const String& tableName);
virtual int createTempTrigger(const String& triggerName, const String& tableName);
virtual int dropTrigger(const String& triggerName, const String& tableName);
virtual int dropTempTrigger(const String& triggerName, const String& tableName);
virtual int createVTable(const String& tableName, const String& moduleName);
virtual int dropVTable(const String& tableName, const String& moduleName);
virtual int allowDelete(const String& tableName);
virtual int allowInsert(const String& tableName);
virtual int allowUpdate(const String& tableName, const String& columnName);
virtual int allowTransaction();
virtual int allowRead(const String& tableName, const String& columnName);
virtual int allowAnalyze(const String& tableName);
virtual int allowPragma(const String& pragmaName, const String& firstArgument);
virtual int allowAttach(const String& filename);
virtual int allowDetach(const String& databaseName);
virtual int allowFunction(const String& functionName);
void disable();
void enable();
void reset();
bool lastActionWasInsert() const { return m_lastActionWasInsert; }
bool lastActionChangedDatabase() const { return m_lastActionChangedDatabase; }
private:
int denyBasedOnTableName(const String&);
bool m_securityEnabled;
bool m_lastActionWasInsert;
bool m_lastActionChangedDatabase;
};
}
#endif // DatabaseAuthorizer_h