Main Page | Modules | Namespace List | Class Hierarchy | Data Structures | Directories | File List | Namespace Members | Data Fields | Globals

global_settings_server.c File Reference


Detailed Description

the implementation of the Global Settings service APIs.

#include <pthread.h>
#include <assert.h>
#include <ctype.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/poll.h>
#include <time.h>
#include <pwd.h>
#include <grp.h>
#include <glib.h>
#include "hiker/traces.h"
#include "hiker/fail.h"
#include "hiker/global_settings.h"
#include "hiker/syspaths.h"
#include "hiker/ipc.h"
#include "hiker/notifymgr.h"
#include "hiker/pdk/sysutils_pdk.h"
#include "gs_imp.h"
#include "global_settings_server.h"
#include "serialize.h"
#include "policy_strings.h"
#include "sqlfs.h"
#include "sqlite3.h"

Data Structures

struct  keyvalue
struct  conn_msg

Defines

#define DEFAULT_PREFS_DB   ALP_SYSPATH_RO_DATA "global_settings/prefs"
#define NUM_WORKER   3
#define CONTEXT_HASH_LOCK   pthread_mutex_lock(&context_hash_lock);
#define CONTEXT_HASH_UNLOCK   pthread_mutex_unlock(&context_hash_lock);
#define BEGIN   sqlfs_begin_transaction(context->sqlfs);
#define COMPLETE(r)   sqlfs_complete_transaction(context->sqlfs, (r));
#define CONTEXT_OPERATION_EXIT

Typedefs

typedef keyvalue keyvalue_t

Functions

alp_status_t gs_svr_init (const char *db_file)
alp_status_t gs_svr_open (const char *db_file, gs_svr_context **context)
alp_status_t gs_svr_close (gs_svr_context *context)
alp_status_t gs_svr_proc_begin_transaction (gs_svr_context *context)
alp_status_t gs_svr_proc_complete_transaction (gs_svr_context *context)
alp_status_t gs_svr_proc_cancel_transaction (gs_svr_context *context)
alp_status_t gs_svr_proc_delete_tree (gs_svr_context *context, const gchar *key)
alp_status_t gs_svr_proc_import_from_file (gs_svr_context *context, const char *file)
int AlpGlobalSettingsServerMain (int argc, char *argv[])
alp_status_t alp_global_settings_server_wait_started (void)
alp_status_t alp_global_settings_server_running (void)
alp_status_t alp_global_settings_server_stop (void)
alp_status_t alp_global_settings_server_clean_data (void)

Variables

time_t thread_last_check_time [NUM_WORKER] = { 0, }
time_t thread_now [NUM_WORKER]


Define Documentation

#define BEGIN   sqlfs_begin_transaction(context->sqlfs);
 

#define COMPLETE  )     sqlfs_complete_transaction(context->sqlfs, (r));
 

#define CONTEXT_HASH_LOCK   pthread_mutex_lock(&context_hash_lock);
 

#define CONTEXT_HASH_UNLOCK   pthread_mutex_unlock(&context_hash_lock);
 

#define CONTEXT_OPERATION_EXIT
 

Value:

CONTEXT_HASH_LOCK \
    context_operations_in_progress--;\
    if (context_operations_in_progress == 0) pthread_cond_signal(&no_context_operation_cond); \
    CONTEXT_HASH_UNLOCK

#define DEFAULT_PREFS_DB   ALP_SYSPATH_RO_DATA "global_settings/prefs"
 

#define NUM_WORKER   3
 


Typedef Documentation

typedef struct keyvalue keyvalue_t
 


Function Documentation

alp_status_t alp_global_settings_server_clean_data void   ) 
 

alp_status_t alp_global_settings_server_running void   ) 
 

alp_status_t alp_global_settings_server_stop void   ) 
 

alp_status_t alp_global_settings_server_wait_started void   ) 
 

int AlpGlobalSettingsServerMain int  argc,
char *  argv[]
 

alp_status_t gs_svr_close gs_svr_context context  ) 
 

alp_status_t gs_svr_init const char *  db_file  ) 
 

alp_status_t gs_svr_open const char *  db_file,
gs_svr_context **  context
 

alp_status_t gs_svr_proc_begin_transaction gs_svr_context context  ) 
 

alp_status_t gs_svr_proc_cancel_transaction gs_svr_context context  ) 
 

alp_status_t gs_svr_proc_complete_transaction gs_svr_context context  ) 
 

alp_status_t gs_svr_proc_delete_tree gs_svr_context context,
const gchar *  key
 

alp_status_t gs_svr_proc_import_from_file gs_svr_context context,
const char *  file
 


Variable Documentation

time_t thread_last_check_time[NUM_WORKER] = { 0, }
 

time_t thread_now[NUM_WORKER]
 


Generated on Sat Dec 16 20:29:48 2006 for hiker-0.9 by  doxygen 1.4.4