aboutsummaryrefslogtreecommitdiffstats
path: root/sisinstall/sisinstaller.h
diff options
context:
space:
mode:
Diffstat (limited to 'sisinstall/sisinstaller.h')
-rw-r--r--sisinstall/sisinstaller.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/sisinstall/sisinstaller.h b/sisinstall/sisinstaller.h
index ff9845e..bb50c6e 100644
--- a/sisinstall/sisinstaller.h
+++ b/sisinstall/sisinstaller.h
@@ -20,6 +20,8 @@ public:
SISInstaller();
+ virtual ~SISInstaller();
+
SisRC run(SISFile* file, uint8_t* buf, off_t len);
SisRC run(SISFile* file, uint8_t* buf, off_t len, SISFile* parent);
@@ -29,6 +31,20 @@ public:
*/
void selectDrive();
+ /**
+ * Set forced mode, which means that it ignores any earlier versions
+ * of the same application.
+ */
+ void setForced(bool f)
+ {
+ m_forced = f;
+ }
+
+ /**
+ * Set the base pointer to the list of already installed
+ * applications, so we don't have to scan it for every sis
+ * component.
+ */
void setInstalled(SISFileLink* installed)
{
m_installed = installed;
@@ -53,6 +69,14 @@ private:
SISFileLink* m_installed;
+ int m_lastSisFile;
+
+ bool m_forced;
+
+ bool m_ownBuffer;
+
+ bool m_ownInstalled;
+
enum {
FILE_OK,
FILE_SKIP,
@@ -77,8 +101,12 @@ private:
void loadPsionSis(const char* name);
+ void removeFile(SISFileRecord* fileRecord);
+
void uninstall(SISFile* sisFile);
+ void uninstallFile(SISFileRecord* fileRecord);
+
};
#endif