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. More...
 
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. More...
 
void setPsion (Psion *psion)
 Set the Psion manager. More...
 

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. More...
 
void copyFile (SISFileRecord *fileRecord)
 Copy a file to the Psion. More...
 
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: