Riferimenti per il file brain_manager.c


Descrizione Dettagliata

Vengono qui definite le funzioni standard per la gestione di un settings manager, ovvero del componente del sistema incaricato di fare da tramite tra i pannelli di configurazione dei settaggi e le applicazioni che usano tali settaggi.
Sostanzialmente, il tutto si fonda sullo sfruttamento del server X: il manager alloca una nuova finestra, invisibile, e i client (allocati all'interno delle diverse applicazioni che vogliono usufruire di questo meccanismo, usando le funzioni in brain_client.c) si mettono in ascolto di eventuali modifiche apportate a tale finestra. Quando viene modificato il valore assunto da un settaggio (per mezzo dei pannelli di configurazione, con brain_manager_notify() ) vengono allertati i clients che si erano precedentemente registrati presso il manager. Attraverso l'uso dei "canali" si possono allertare solo le applicazioni cui un dato settaggio interessa

Avvertimento:
Non confondere brain_manager.c con brain_mcs_manager.c : il primo contiene le funzioni generali per l'implementazione di un settings manager, il secondo ne e' l'implementazione stessa

#include <sys/stat.h>
#include <sys/types.h>
#include <errno.h>
#include <fcntl.h>
#include <memory.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/mman.h>
#include <X11/Xmd.h>
#include <X11/Xlib.h>
#include <glib.h>
#include "brain_manager.h"

Strutture dati

struct  TimeStampInfo

Funzioni

BrainMcsChannelbrain_channel_new (const gchar *name, Display *dpy)
 Crea un nuovo canale.
BrainMcsChannelbrain_channel_lookup (BrainMcsChannelList *channels, const gchar *name)
 Cerca un canale nella lista di quelli esistenti.
BrainMcsChannelbrain_manager_add_channel (BrainManager *manager, const gchar *channel_name)
 Aggiunge un canale al manager.
static Bool timestamp_predicate (Display *display, XEvent *xevent, XPointer arg)
static Time get_server_time (Display *display, Window window)
static Bool brain_manager_get_selection (BrainManager *manager, Atom atom)
BrainManagerbrain_manager_new (Bool std_mcs, Display *display, int screen, BrainMcsTerminateFunc terminate, BrainMcsShowRequestFunc show, void *cb_data)
 Alloca ed inizializza un nuovo BrainManager.
Bool brain_manager_process_event (BrainManager *manager, XEvent *xev)
 Permette al manager di trattare gli eventi che giungono dal server X.
BrainMcsResult brain_manager_notify (BrainManager *manager, const gchar *channel_name, const gchar *sett_name)
 Notifica al manager il cambiamento di un settaggio.


Documentazione delle funzioni

BrainMcsChannel* brain_channel_new const gchar *  name,
Display *  dpy
 

Crea un nuovo canale.

Crea un nuovo canale. Tale canale servira' per discriminare le applicazioni che andranno notificate al cambiamento di un dato settaggio che si trova nel canale stesso

BrainMcsChannel* brain_channel_lookup BrainMcsChannelList channels,
const gchar *  name
 

Cerca un canale nella lista di quelli esistenti.

Cerca il canale specificato all'interno della lista di quelli precedentemente creati

BrainMcsChannel* brain_manager_add_channel BrainManager manager,
const gchar *  channel_name
 

Aggiunge un canale al manager.

Aggiunge un canale al BrainManager

static Bool timestamp_predicate Display *  display,
XEvent *  xevent,
XPointer  arg
[static]
 

static Time get_server_time Display *  display,
Window  window
[static]
 

static Bool brain_manager_get_selection BrainManager manager,
Atom  atom
[static]
 

BrainManager* brain_manager_new Bool  std_mcs,
Display *  display,
int  screen,
BrainMcsTerminateFunc  terminate,
BrainMcsShowRequestFunc  show,
void *  cb_data
 

Alloca ed inizializza un nuovo BrainManager.

Alloca ed inizializza una nuova struttura BrainManager

Bool brain_manager_process_event BrainManager manager,
XEvent *  xev
 

Permette al manager di trattare gli eventi che giungono dal server X.

Tratta gli eventi che giungono dal server X

BrainMcsResult brain_manager_notify BrainManager manager,
const gchar *  channel_name,
const gchar *  sett_name
 

Notifica al manager il cambiamento di un settaggio.

Notifica il cambiamento di un settaggio attraverso la finestra del BrainManager


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