5#include <unordered_map>
54 bool initFromDBD(
const std::string& dbdDir,
const std::string& buildVersion);
55 bool initFromDBD(
const std::string& dbdDir,
const std::string& buildVersion,
56 const std::vector<std::string>& tableNames);
Abstract base class representing a file within the game data archive.
Describes a single field (column) in a database table.
virtual ~FieldStructure()
bool initFromDBD(const std::string &dbdDir, const std::string &buildVersion)
std::unordered_map< std::string, int > m_tableFileDataIds
virtual core::TableStructure * createTableStructure()=0
int getFileDataIdForTable(const std::string &tableName) const
virtual core::FieldStructure * createFieldStructure()=0
virtual std::string getLayoutHashForTable(const std::string &tableName)
core::TableStructure * buildTableStructure(const std::string &tableName)
virtual void readSpecificFieldAttributesFromDBD(const core::DBDVersionField &, const core::DBDColumnDef &, core::FieldStructure *)=0
void setManifestUrl(const std::string &url)
void setDbdBaseUrl(const std::string &url)
bool downloadAndParseManifest()
virtual void setFieldPos(core::FieldStructure *, int pos)=0
std::string m_manifestUrl
virtual void readSpecificTableAttributesFromDBD(const core::DBDVersionDef &, core::TableStructure *)=0
void setCachePath(const std::string &path)
Describes the schema of a database table (name, file path, fields).
virtual ~TableStructure()
std::vector< FieldStructure * > fields
Common string utility functions (split, case-insensitive search, etc.).