diff options
Diffstat (limited to 'lib/sisfile.h')
-rw-r--r-- | lib/sisfile.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/lib/sisfile.h b/lib/sisfile.h new file mode 100644 index 0000000..5f0bcd5 --- /dev/null +++ b/lib/sisfile.h @@ -0,0 +1,53 @@ +#ifndef _SISFILE_H +#define _SISFILE_H + +#include "sistypes.h" +#include "sisfileheader.h" +#include "siscomponentrecord.h" + +class SISLangRecord; +class SISFileRecord; +class SISReqRecord; + +/** + * The top level container of a SIS file. + * Based on documentation by Alexander Thoukydides <alex@thouky.co.uk>. + * + * @author Daniel Brahneborg, 2002 + */ +class SISFile +{ +public: + /** + * Populate the fields. + */ + void fillFrom(uchar* buf); + + int getLanguage(); + + /** + * Find a language entry, based on the sequence number in the SISLangRecord + * part of the file. + */ + LangTableEntry* getLanguage(int i); + + /** + * Get the name of this component, in the selected language. + */ + uchar* getName(); + + void setLanguage(int lang); + + SISFileHeader m_header; + SISLangRecord* m_langRecords; + SISFileRecord* m_fileRecords; + SISReqRecord* m_reqRecords; + +private: + + SISComponentNameRecord m_componentRecord; + +}; + +#endif + |