aboutsummaryrefslogtreecommitdiffstats
path: root/sisinstall/sisinstaller.h
diff options
context:
space:
mode:
authorDaniel Brahneborg <basic@chello.se>2002-03-02 23:27:47 +0000
committerDaniel Brahneborg <basic@chello.se>2002-03-02 23:27:47 +0000
commit6f49fd782b8935b8caf7cea7bcb6e10644851b13 (patch)
tree3ad7ed335500fbec9ffe59299079760b810c0ce2 /sisinstall/sisinstaller.h
parent4f497127917554c3a7249658feee9f5bbae84b88 (diff)
downloadplptools-6f49fd782b8935b8caf7cea7bcb6e10644851b13.tar.gz
plptools-6f49fd782b8935b8caf7cea7bcb6e10644851b13.tar.bz2
plptools-6f49fd782b8935b8caf7cea7bcb6e10644851b13.zip
Actually copy stuff to the psion, and lots of other updates.
Diffstat (limited to 'sisinstall/sisinstaller.h')
-rw-r--r--sisinstall/sisinstaller.h37
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