/** * @file * database.h **/ #ifndef DATABASE_H #define DATABASE_H #include "externs.h" #include #ifdef DB_NDBM extern "C" { # include } #elif defined(DB_DBH) extern "C" { # define DB_DBM_HSEARCH 1 # include } #elif defined(USE_SQLITE_DBM) # include "sqldbm.h" #else # error DBM interfaces unavailable! #endif #define DPTR_COERCE char * void databaseSystemInit(); void databaseSystemShutdown(); typedef bool (*db_find_filter)(string key, string body); string getQuoteString(const string &key); string getLongDescription(const string &key); vector getLongDescKeysByRegex(const string ®ex, db_find_filter filter = NULL); vector getLongDescBodiesByRegex(const string ®ex, db_find_filter filter = NULL); string getGameStartDescription(const string &key); string getShoutString(const string &monst, const string &suffix = ""); string getSpeakString(const string &key); string getRandNameString(const string &itemtype, const string &suffix = ""); string getHelpString(const string &topic); string getMiscString(const string &misc, const string &suffix = ""); string getHintString(const string &key); vector getAllFAQKeys(); string getFAQ_Question(const string &key); string getFAQ_Answer(const string &question); #endif