From 89a3d9a86c9f948829ab173b811709f74685bfe6 Mon Sep 17 00:00:00 2001 From: Daniel Brahneborg Date: Tue, 19 Mar 2002 13:34:53 +0000 Subject: Remove the previous version (unconditionally) before installing the new version. --- sisinstall/sisinstaller.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'sisinstall/sisinstaller.h') 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 -- cgit v1.2.3