diff options
Diffstat (limited to 'sisinstall/sisinstaller.h')
-rw-r--r-- | sisinstall/sisinstaller.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/sisinstall/sisinstaller.h b/sisinstall/sisinstaller.h index 653ede9..6bc6c18 100644 --- a/sisinstall/sisinstaller.h +++ b/sisinstall/sisinstaller.h @@ -5,6 +5,7 @@ class Psion; class SISFile; +class SISFileRecord; /** * A minimal SIS installer. @@ -18,12 +19,48 @@ public: void run(SISFile* file, uchar* buf, SISFile* parent); + /** + * Ask the user which drive to install to. + */ + void selectDrive(); + + /** + * Set the Psion manager. + */ void setPsion(Psion* psion); private: + char m_drive; + + int m_fileNo; + Psion* m_psion; + uchar* m_buf; + + SISFile* m_file; + + enum { + FILE_OK, + FILE_SKIP, + FILE_ABORT, + }; + + /** + * Store the contents of a buffer in a file on the Psion. + */ + void copyBuf(const uchar* buf, int len, char* name); + + /** + * Copy a file to the Psion. + */ + void copyFile(SISFileRecord* fileRecord); + + void createDirs(char* filename); + + int installFile(SISFileRecord* fileRecord); + }; #endif |