diff options
author | Daniel Brahneborg <basic@chello.se> | 2002-03-19 13:34:53 +0000 |
---|---|---|
committer | Daniel Brahneborg <basic@chello.se> | 2002-03-19 13:34:53 +0000 |
commit | 89a3d9a86c9f948829ab173b811709f74685bfe6 (patch) | |
tree | beb4e5806d47b4f4c7d4335deecaf205b4e9634a /sisinstall/sisinstaller.h | |
parent | a7f48478e5126a8cd4b729109ab7aacabc615c66 (diff) | |
download | plptools-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.h | 28 |
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 |