aboutsummaryrefslogtreecommitdiffstats
path: root/sisinstall/sisinstaller.h
diff options
context:
space:
mode:
authorDaniel Brahneborg <basic@chello.se>2002-03-19 13:34:53 +0000
committerDaniel Brahneborg <basic@chello.se>2002-03-19 13:34:53 +0000
commit89a3d9a86c9f948829ab173b811709f74685bfe6 (patch)
treebeb4e5806d47b4f4c7d4335deecaf205b4e9634a /sisinstall/sisinstaller.h
parenta7f48478e5126a8cd4b729109ab7aacabc615c66 (diff)
downloadplptools-89a3d9a86c9f948829ab173b811709f74685bfe6.tar.gz
plptools-89a3d9a86c9f948829ab173b811709f74685bfe6.tar.bz2
plptools-89a3d9a86c9f948829ab173b811709f74685bfe6.zip
Remove the previous version (unconditionally) before installing the new
version.
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