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 37 of file sisinstaller.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private
Enumerator
FILE_OK 
FILE_SKIP 
FILE_ABORT 

Definition at line 87 of file sisinstaller.h.

Constructor & Destructor Documentation

◆ SISInstaller()

SISInstaller::SISInstaller ( )

Definition at line 56 of file sisinstaller.cpp.

◆ ~SISInstaller()

SISInstaller::~SISInstaller ( )
virtual

Definition at line 62 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 146 of file sisinstaller.cpp.

◆ copyFile()

void SISInstaller::copyFile ( SISFileRecord fileRecord)
private

Copy a file to the Psion.

Definition at line 108 of file sisinstaller.cpp.

◆ createDirs()

void SISInstaller::createDirs ( char *  filename)
private

Definition at line 78 of file sisinstaller.cpp.

◆ installFile()

int SISInstaller::installFile ( SISFileRecord fileRecord)
private

Definition at line 181 of file sisinstaller.cpp.

◆ loadInstalled()

SisRC SISInstaller::loadInstalled ( )
private

Definition at line 273 of file sisinstaller.cpp.

◆ loadPsionSis()

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

Definition at line 299 of file sisinstaller.cpp.

◆ removeFile()

void SISInstaller::removeFile ( SISFileRecord fileRecord)
private

Definition at line 349 of file sisinstaller.cpp.

◆ run() [1/2]

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

Definition at line 361 of file sisinstaller.cpp.

◆ run() [2/2]

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

Definition at line 367 of file sisinstaller.cpp.

◆ selectDrive()

void SISInstaller::selectDrive ( )

Ask the user which drive to install to.

Definition at line 555 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 59 of file sisinstaller.h.

◆ setPsion()

void SISInstaller::setPsion ( Psion psion)

Set the Psion manager.

Definition at line 627 of file sisinstaller.cpp.

◆ uninstall()

void SISInstaller::uninstall ( SISFile sisFile)
private

Definition at line 633 of file sisinstaller.cpp.

◆ uninstallFile()

void SISInstaller::uninstallFile ( SISFileRecord fileRecord)
private

Definition at line 654 of file sisinstaller.cpp.

Member Data Documentation

◆ m_buf

uint8_t* SISInstaller::m_buf
private

Definition at line 77 of file sisinstaller.h.

◆ m_drive

char SISInstaller::m_drive
private

Definition at line 71 of file sisinstaller.h.

◆ m_file

SISFile* SISInstaller::m_file
private

Definition at line 79 of file sisinstaller.h.

◆ m_fileNo

int SISInstaller::m_fileNo
private

Definition at line 73 of file sisinstaller.h.

◆ m_installed

SISFileLink* SISInstaller::m_installed
private

Definition at line 81 of file sisinstaller.h.

◆ m_lastSisFile

int SISInstaller::m_lastSisFile
private

Definition at line 83 of file sisinstaller.h.

◆ m_ownInstalled

bool SISInstaller::m_ownInstalled
private

Definition at line 85 of file sisinstaller.h.

◆ m_psion

Psion* SISInstaller::m_psion
private

Definition at line 75 of file sisinstaller.h.


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