aboutsummaryrefslogtreecommitdiffstats
path: root/lib/sisfile.h
diff options
context:
space:
mode:
authorFritz Elfert <felfert@to.com>2002-02-28 20:56:59 +0000
committerFritz Elfert <felfert@to.com>2002-02-28 20:56:59 +0000
commiteecba3b5fcb47a01e6e13ee1940def989f6dd22d (patch)
tree970f3113de0d2b9b0544c1420117e0cf9633abcd /lib/sisfile.h
parent12241e0ff5ea242891fc3a8c177e8f55e897f2a3 (diff)
downloadplptools-eecba3b5fcb47a01e6e13ee1940def989f6dd22d.tar.gz
plptools-eecba3b5fcb47a01e6e13ee1940def989f6dd22d.tar.bz2
plptools-eecba3b5fcb47a01e6e13ee1940def989f6dd22d.zip
- Added SIS stuff by Daniel Brahneborg
Diffstat (limited to 'lib/sisfile.h')
-rw-r--r--lib/sisfile.h53
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
+