Main Page   Class Hierarchy   Compound List   File List   Compound Members  

ConfigFile Class Reference

Manage a generic configuration file. More...

#include <configfile.h>

List of all members.

Public Methods

 ConfigFile ()
 ConfigFile (const QString& filename)
 ~ConfigFile ()
void clear ()
void setName (const QString& filename)
const QString& name () const
bool write ()
bool read ()
void setGroup (const QString& group)
bool changeGroup (const QString& group)
const QString& group () const
int numGroups () const
QStringList groupList ()
void writeEntry (const QString& key, const QString& value)
void writeEntry (const QString& key, int value)
void writeEntry (const QString& key, double value)
const QString& readEntry (const QString& key, const QString& default_value)
int readEntry (const QString& key, int default_value)
double readEntry (const QString& key, double default_value)
void setCodec (const char* name)
ConfigMap& getMap ()

Static Public Methods

const char* version ()

Private Attributes

QString fname
ConfigMap map
ConfigGroup* currentgroup
QTextCodec* codec


Detailed Description

Manage a generic configuration file.

Author(s):
Ulrich Clanget, Marco De Vietro, Davide [Lizza] Lizzani
Id:
configfile.cpp,v 1.2 2001/12/11 10:02:33 root Exp

Questa classe permette di definire un oggetto per la gestione di un file di configurazione ad uso generico. Un file di configurazione è un semplice file di testo suddiviso in sezioni, chiamate gruppi. Ogni gruppo ha un nome e contiene un certo numero di voci. Ogni voce è descritta da una chiave e da un valore associato. La stessa chiave può comparire in diversi gruppi.

La struttura di un generico file di configurazione è come segue:

  CHARSET <codifica>
  
  [Gruppo 1]
  chiave1 = valore1
  chiave2 = valore2
  ...
  chiaveN = valoreN
  
  [Gruppo 2]
  chiave1 = valore1
  chiave2 = valore2
  ...
  chiaveN = valoreN
  
  ...
  ...

La prima riga permette di specificare la codifica con cui è descritto il testo che segue; se non indicata si assume ISO 8859-1.


Constructor & Destructor Documentation

ConfigFile::ConfigFile ( )
 

Costruisce un oggetto gestore di un file di configurazione (non ancora definito).

ConfigFile::ConfigFile ( const QString & filename )
 

Costruisce un oggetto gestore del file di configurazione di nome filename. Viene anche creato il gruppo di nome Default.

ConfigFile::~ConfigFile ( )
 

Distrugge l'oggetto, cancellando anche tutti i gruppi ad esso associato.


Member Function Documentation

void ConfigFile::clear ( )
 

Cancella tutti i gruppi associati all'oggetto gestore del file di configurazione.

void ConfigFile::setName ( const QString & filename )
 

Imposta a filename il nome del file associato all'oggetto.

See also:
name()

const QString & ConfigFile::name ( ) const [inline]
 

Riporta il nome del file di configurazione.

See also:
setName()

bool ConfigFile::write ( )
 

Scrive su disco tutto il file di configurazione; l'oggetto gestore deve avere un nome di file già assegnato, altrimenti questa funzione non fa nulla e riporta FALSE. Anche in caso di errore di scrittura viene riportato il valore FALSE.

See also:
read(), setName()

bool ConfigFile::read ( )
 

Legge da disco tutto il file di configurazione; l'oggetto gestore deve avere un nome di file già assegnato, altrimenti questa funzione non fa nulla e riporta FALSE. Anche in caso di errore di lettura viene riportato il valore FALSE.

See also:
write(), setName()

void ConfigFile::setGroup ( const QString & group )
 

Seleziona il gruppo attivo all'interno del file di configurazione. Il parametro group è il nome del gruppo da selezionare; se non esiste, viene creato un nuovo gruppo con il nome indicato.

See also:
group(), changeGroup()

bool ConfigFile::changeGroup ( const QString & group )
 

Analoga a setGroup(), ma se il gruppo indicato non esiste la funzione riporta FALSE e non viene creato nessun nuovo gruppo.

See also:
group(), setGroup()

const QString & ConfigFile::group ( ) const
 

Riporta il nome del gruppo attualmente selezionato come attivo, oppure una stringa nulla se nessun gruppo è attualmente definito.

See also:
setGroup()

int ConfigFile::numGroups ( ) const [inline]
 

Riporta il numero di gruppi attualmente definiti nel file di configurazione.

See also:
groupList()

QStringList ConfigFile::groupList ( )
 

Riporta una StringList con la lista dei gruppi attualmente definiti nel file di configurazione.

See also:
numGroups()

void ConfigFile::writeEntry ( const QString & key,
const QString & value )
 

Inserisce una nuova voce nel gruppo attivo; la voce ha chiave key e valore value. Se la chiave indicata esiste già, allora il suo valore viene sostituito con il nuovo.

See also:
readEntry()

void ConfigFile::writeEntry ( const QString & key,
int value )
 

Analoga alla funzione precedente, ma permette di indicare come valore un intero anzichè una stringa.

void ConfigFile::writeEntry ( const QString & key,
double value )
 

Analoga alla funzione precedente, ma permette di indicare come valore un double anzichè una stringa.

const QString & ConfigFile::readEntry ( const QString & key,
const QString & default_value )
 

Legge una voce di chiave key dal gruppo attivo. Se la chiave esiste ne riporta il valore, altrimenti riporta il valore di default indicato in default_value.

See also:
writeEntry()

int ConfigFile::readEntry ( const QString & key,
int default_value )
 

Analoga alla funzione precedente, ma permette di leggere valori interi. Viene riportato il valore default_value anche se la voce non ha un valore numerico valido.

double ConfigFile::readEntry ( const QString & key,
double default_value )
 

Analoga alla funzione precedente, ma permette di leggere valori double. Viene riportato il valore default_value anche se la voce non ha un valore numerico valido.

void ConfigFile::setCodec ( const char * name )
 

Imposta il nome del codec da utilizzare per la codifica del file di configurazione.

ConfigMap & ConfigFile::getMap ( ) [inline]
 

Riporta un riferimento alla mappa dei gruppi definiti.

const char * ConfigFile::version ( ) [static]
 

Riporta una stringa con la versione (e relativa data) della classe.


The documentation for this class was generated from the following files:
Generated at Tue Mar 18 13:49:46 2003 for MIDO by doxygen1.2.1 written by Dimitri van Heesch, © 1997-2000