plptools
Loading...
Searching...
No Matches
SISInstaller Class Reference

A minimal SIS installer. More...

#include <sisinstaller.h>

Collaboration diagram for SISInstaller:

Public Member Functions

 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)
 
void selectDrive ()
 Ask the user which drive to install to.
 
void setInstalled (SISFileLink *installed)
 Set the base pointer to the list of already installed applications, so we don't have to scan it for every sis component.
 
void setPsion (Psion *psion)
 Set the Psion manager.
 

Private Types

enum  { FILE_OK , FILE_SKIP , FILE_ABORT }
 

Private Member Functions

void copyBuf (const uint8_t *buf, int len, char *name)
 Store the contents of a buffer in a file on the Psion.
 
void copyFile (SISFileRecord *fileRecord)
 Copy a file to the Psion.
 
void createDirs (char *filename)
 
int installFile (SISFileRecord *fileRecord)
 
SisRC loadInstalled ()
 
void loadPsionSis (const char *name)
 
void removeFile (SISFileRecord *fileRecord)
 
void uninstall (SISFile *sisFile)
 
void uninstallFile (SISFileRecord *fileRecord)
 

Private Attributes

char m_drive
 
int m_fileNo
 
Psionm_psion
 
uint8_t * m_buf
 
SISFilem_file
 
SISFileLinkm_installed
 
int m_lastSisFile
 
bool m_ownInstalled
 

Detailed Description

A minimal SIS installer.

Handles recursive sis files.

Definition at line 35 of file sisinstaller.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private
Enumerator
FILE_OK 
FILE_SKIP 
FILE_ABORT 

Definition at line 85 of file sisinstaller.h.

Constructor & Destructor Documentation

◆ SISInstaller()

SISInstaller::SISInstaller ( )

Definition at line 58 of file sisinstaller.cpp.

◆ ~SISInstaller()

SISInstaller::~SISInstaller ( )
virtual

Definition at line 64 of file sisinstaller.cpp.

Member Function Documentation

◆ copyBuf()

void SISInstaller::copyBuf ( const uint8_t * buf,
int len,
char * name )
private

Store the contents of a buffer in a file on the Psion.

Definition at line 148 of file sisinstaller.cpp.

◆ copyFile()

void SISInstaller::copyFile ( SISFileRecord * fileRecord)
private

Copy a file to the Psion.

Definition at line 110 of file sisinstaller.cpp.

◆ createDirs()

void SISInstaller::createDirs ( char * filename)
private

Definition at line 80 of file sisinstaller.cpp.

◆ installFile()

int SISInstaller::installFile ( SISFileRecord * fileRecord)
private

Definition at line 183 of file sisinstaller.cpp.

◆ loadInstalled()

SisRC SISInstaller::loadInstalled ( )
private

Definition at line 275 of file sisinstaller.cpp.

◆ loadPsionSis()

void SISInstaller::loadPsionSis ( const char * name)
private

Definition at line 301 of file sisinstaller.cpp.

◆ removeFile()

void SISInstaller::removeFile ( SISFileRecord * fileRecord)
private

Definition at line 351 of file sisinstaller.cpp.

◆ run() [1/2]

SisRC SISInstaller::run ( SISFile * file,
uint8_t * buf,
off_t len )

Definition at line 363 of file sisinstaller.cpp.

◆ run() [2/2]

SisRC SISInstaller::run ( SISFile * file,
uint8_t * buf,
off_t len,
SISFile * parent )

Definition at line 369 of file sisinstaller.cpp.

◆ selectDrive()

void SISInstaller::selectDrive ( )

Ask the user which drive to install to.

Definition at line 557 of file sisinstaller.cpp.

◆ setInstalled()

void SISInstaller::setInstalled ( SISFileLink * installed)
inline

Set the base pointer to the list of already installed applications, so we don't have to scan it for every sis component.

Definition at line 57 of file sisinstaller.h.

◆ setPsion()

void SISInstaller::setPsion ( Psion * psion)

Set the Psion manager.

Definition at line 629 of file sisinstaller.cpp.

◆ uninstall()

void SISInstaller::uninstall ( SISFile * sisFile)
private

Definition at line 635 of file sisinstaller.cpp.

◆ uninstallFile()

void SISInstaller::uninstallFile ( SISFileRecord * fileRecord)
private

Definition at line 656 of file sisinstaller.cpp.

Member Data Documentation

◆ m_buf

uint8_t* SISInstaller::m_buf
private

Definition at line 75 of file sisinstaller.h.

◆ m_drive

char SISInstaller::m_drive
private

Definition at line 69 of file sisinstaller.h.

◆ m_file

SISFile* SISInstaller::m_file
private

Definition at line 77 of file sisinstaller.h.

◆ m_fileNo

int SISInstaller::m_fileNo
private

Definition at line 71 of file sisinstaller.h.

◆ m_installed

SISFileLink* SISInstaller::m_installed
private

Definition at line 79 of file sisinstaller.h.

◆ m_lastSisFile

int SISInstaller::m_lastSisFile
private

Definition at line 81 of file sisinstaller.h.

◆ m_ownInstalled

bool SISInstaller::m_ownInstalled
private

Definition at line 83 of file sisinstaller.h.

◆ m_psion

Psion* SISInstaller::m_psion
private

Definition at line 73 of file sisinstaller.h.


The documentation for this class was generated from the following files: