Riferimenti per il file brain_db_settings.c


Descrizione Dettagliata

In questo file si trovano le funzioni di "basso livello" per l'accesso alle tabelle del database BrainTop ove sono contenuti i settaggi delle diverse applicazioni. A queste funzioni viene fatto riferimento da quelle che si trovano in brain_client.c, che rappresenta invece l'interfaccia di alto livello per l'accesso al DB.
I settaggi all'interno del database sono rappresentati all'interno di una tabella, SETTINGS, composta da 6 campi:
FIELD: e' il componente interessato dal settaggio
ACTIVITY: l'attivita' per cui quel settaggio e' valido per il relativo componente. Il wallpaper, ad esempio, puo' cambiare a seconda dell'attivita' selezionata. Se il settaggio e' valido per tutte le attivita', questo parametro assume valore 'all'. N.B.: presto questo campo sparira', per ricomparire nella tabella dedicata alla applet FileList
OPTION: il nome del settaggio VALUE: il valore assunto del settaggio. All'interno del database, tutti i valori sono rappresentati in forma di stringa
TYPE: il tipo di valore presente in VALUE. Puo' essere 0 se il valore e' numerico, 1 se e' una stringa e 2 se e' un colore (rappresentato nella notazione RGBA). Questo parametro puo' essere usato per convertire la stringa estrapolata dal database nel tipo piu' consono, e fornirlo all'applicazione interessata nella forma piu' convenevole all'interno di una struttura BrainMcsSetting
UNI: attesta l'unicita' del settaggio. Ad esempio, l'immagine impostata come wallpaper per una data attivita' e' unica, mentre le voci che compaiono nel menu contestuale delle applicazioni sono molte ed ogni entry nel database che reca OPTION == 'menu' ne rappresenta una

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include "brain_db.h"
#include "brain_settings.h"
#include "brain_db_settings.h"

Funzioni

int get_setting (void *args, int numCols, char **result, char **columnNames)
GList * brain_get_setting_from_db (char *activity, char *field, char *option)
 Preleva uno o piu' settaggi dal database.
int brain_set_setting_in_db (char *activity, char *field, char *option, BrainMcsSettingType type, char *value)
 Permette di settare il valore assunto da un settaggio.
int brain_add_setting_in_db (char *activity, char *field, char *option, BrainMcsSettingType type, char *value)
 Aggiunge una nuova entry nella tabella dei settaggi.
int brain_delete_setting_in_db (char *activity, char *field, char *option, BrainMcsSettingType type, char *value)
 Elimina una entry dalla tabella dei settaggi.


Documentazione delle funzioni

int get_setting void *  args,
int  numCols,
char **  result,
char **  columnNames
 

Converte una entry nella tabella dei settaggi in un BrainMcsSetting

GList* brain_get_setting_from_db char *  activity,
char *  field,
char *  option
 

Preleva uno o piu' settaggi dal database.

Preleva dal database tutti i settaggi che corrispondono alle caratteristiche passate. I settaggi sono tornati sottoforma di GList contenente una serie di strutture di tipo BrainMcsSetting, una per ogni settaggio trovato. Per ricavare tutti i settaggi relativi ad un particolare componente del sistema, settare il parametro 'option' come 'all'

Da fare:
Disallocare il pezzo di lista che e' stato allocato prima dell'errore

int brain_set_setting_in_db char *  activity,
char *  field,
char *  option,
BrainMcsSettingType  type,
char *  value
 

Permette di settare il valore assunto da un settaggio.

Permette di modificare un valore registrato tra i settaggi del database, controllando se si tratta di un valore unico o appartiene ad un gruppo di parametri

int brain_add_setting_in_db char *  activity,
char *  field,
char *  option,
BrainMcsSettingType  type,
char *  value
 

Aggiunge una nuova entry nella tabella dei settaggi.

Aggiunge una nuova entry nella tabella dei settaggi del database

Avvertimento:
E' vivamente sconsigliato usare la keyword 'all' come valore di 'option', in quanto essa assume un significato particolare in brain_get_setting_from_db()

int brain_delete_setting_in_db char *  activity,
char *  field,
char *  option,
BrainMcsSettingType  type,
char *  value
 

Elimina una entry dalla tabella dei settaggi.

Elimina una entry dalla tabella dei settaggi


Generato il Sun Apr 16 01:36:44 2006 per BrainTop da  doxygen 1.4.6