gwenhywfar  4.3.1
Defines | Functions
configmgr.c File Reference
#include "configmgr_p.h"
#include <gwenhywfar/gwenhywfar.h>
#include <gwenhywfar/misc.h>
#include <gwenhywfar/url.h>
#include <gwenhywfar/debug.h>
#include <stdlib.h>
#include <assert.h>
#include <string.h>
#include <errno.h>
#include <ctype.h>

Go to the source code of this file.

Defines

#define DISABLE_DEBUGLOG

Functions

int GWEN_ConfigMgr_DeleteGroup (GWEN_CONFIGMGR *mgr, const char *groupName, const char *subGroupName)
GWEN_CONFIGMGRGWEN_ConfigMgr_Factory (const char *url)
void GWEN_ConfigMgr_free (GWEN_CONFIGMGR *mgr)
int GWEN_ConfigMgr_GetGroup (GWEN_CONFIGMGR *mgr, const char *groupName, const char *subGroupName, GWEN_DB_NODE **pDb)
int GWEN_ConfigMgr_GetUniqueId (GWEN_CONFIGMGR *mgr, const char *groupName, char *buffer, uint32_t bufferLen)
int GWEN_ConfigMgr_ListGroups (GWEN_CONFIGMGR *mgr, GWEN_STRINGLIST *sl)
int GWEN_ConfigMgr_ListSubGroups (GWEN_CONFIGMGR *mgr, const char *groupName, GWEN_STRINGLIST *sl)
int GWEN_ConfigMgr_LockGroup (GWEN_CONFIGMGR *mgr, const char *groupName, const char *subGroupName)
int GWEN_ConfigMgr_ModuleFini (void)
int GWEN_ConfigMgr_ModuleInit (void)
GWEN_CONFIGMGRGWEN_ConfigMgr_new (const char *url)
GWEN_CONFIGMGRGWEN_ConfigMgr_Plugin_Factory (GWEN_PLUGIN *pl, const char *url)
void GWENHYWFAR_CB GWEN_ConfigMgr_Plugin_FreeData (GWEN_UNUSED void *bp, void *p)
GWEN_PLUGINGWEN_ConfigMgr_Plugin_new (GWEN_PLUGIN_MANAGER *pm, const char *name, const char *fileName)
void GWEN_ConfigMgr_Plugin_SetFactoryFn (GWEN_PLUGIN *pl, GWEN_CONFIGMGR_PLUGIN_FACTORYFN f)
GWEN_CONFIGMGR_DELETEGROUP_FN GWEN_ConfigMgr_SetDeleteGroupFn (GWEN_CONFIGMGR *mgr, GWEN_CONFIGMGR_DELETEGROUP_FN f)
GWEN_CONFIGMGR_GETGROUP_FN GWEN_ConfigMgr_SetGetGroupFn (GWEN_CONFIGMGR *mgr, GWEN_CONFIGMGR_GETGROUP_FN f)
GWEN_CONFIGMGR_GETUNIQUEID_FN GWEN_ConfigMgr_SetGetUniqueIdFn (GWEN_CONFIGMGR *mgr, GWEN_CONFIGMGR_GETUNIQUEID_FN f)
int GWEN_ConfigMgr_SetGroup (GWEN_CONFIGMGR *mgr, const char *groupName, const char *subGroupName, GWEN_DB_NODE *db)
GWEN_CONFIGMGR_LISTGROUPS_FN GWEN_ConfigMgr_SetListGroupsFn (GWEN_CONFIGMGR *mgr, GWEN_CONFIGMGR_LISTGROUPS_FN f)
GWEN_CONFIGMGR_LISTSUBGROUPS_FN GWEN_ConfigMgr_SetListSubGroupsFn (GWEN_CONFIGMGR *mgr, GWEN_CONFIGMGR_LISTSUBGROUPS_FN f)
GWEN_CONFIGMGR_LOCKGROUP_FN GWEN_ConfigMgr_SetLockGroupFn (GWEN_CONFIGMGR *mgr, GWEN_CONFIGMGR_LOCKGROUP_FN f)
GWEN_CONFIGMGR_SETGROUP_FN GWEN_ConfigMgr_SetSetGroupFn (GWEN_CONFIGMGR *mgr, GWEN_CONFIGMGR_SETGROUP_FN f)
GWEN_CONFIGMGR_UNLOCKGROUP_FN GWEN_ConfigMgr_SetUnlockGroupFn (GWEN_CONFIGMGR *mgr, GWEN_CONFIGMGR_UNLOCKGROUP_FN f)
int GWEN_ConfigMgr_UnlockGroup (GWEN_CONFIGMGR *mgr, const char *groupName, const char *subGroupName)

Define Documentation

Definition at line 30 of file configmgr.c.


Function Documentation

int GWEN_ConfigMgr_DeleteGroup ( GWEN_CONFIGMGR mgr,
const char *  groupName,
const char *  subGroupName 
)

Definition at line 309 of file configmgr.c.

References GWEN_ERROR_NOT_IMPLEMENTED.

GWEN_CONFIGMGR* GWEN_ConfigMgr_Factory ( const char *  url)

Creates a GWEN_CONFIGMGR object. The given URL is inspected for the protocol part which is used to lookup the plugin responsible. A generic file based configuration manager might have the URL "dir://home/martin/testconfig" which means that all files of the configuration manager reside below the folder "/home/martin/testconfig". Other plugins might have another URL scheme, however, the protocol part always specifies the plugin (in this case "dir").

Definition at line 401 of file configmgr.c.

References DBG_ERROR, DBG_INFO, GWEN_ConfigMgr_Plugin_Factory(), GWEN_CONFIGMGR_PLUGIN_NAME, GWEN_LOGDOMAIN, GWEN_PluginManager_FindPluginManager(), GWEN_PluginManager_GetPlugin(), GWEN_Url_free(), GWEN_Url_fromString(), GWEN_Url_GetProtocol(), and NULL.

Definition at line 132 of file configmgr.c.

References GWEN_FREE_OBJECT, and GWEN_INHERIT_FINI.

int GWEN_ConfigMgr_GetGroup ( GWEN_CONFIGMGR mgr,
const char *  groupName,
const char *  subGroupName,
GWEN_DB_NODE **  pDb 
)

Definition at line 246 of file configmgr.c.

References GWEN_ERROR_NOT_IMPLEMENTED.

int GWEN_ConfigMgr_GetUniqueId ( GWEN_CONFIGMGR mgr,
const char *  groupName,
char *  buffer,
uint32_t  bufferLen 
)

Definition at line 296 of file configmgr.c.

References GWEN_ERROR_NOT_IMPLEMENTED.

Definition at line 321 of file configmgr.c.

References GWEN_ERROR_NOT_IMPLEMENTED.

int GWEN_ConfigMgr_ListSubGroups ( GWEN_CONFIGMGR mgr,
const char *  groupName,
GWEN_STRINGLIST sl 
)

Definition at line 331 of file configmgr.c.

References GWEN_ERROR_NOT_IMPLEMENTED.

int GWEN_ConfigMgr_LockGroup ( GWEN_CONFIGMGR mgr,
const char *  groupName,
const char *  subGroupName 
)

Definition at line 272 of file configmgr.c.

References GWEN_ERROR_NOT_IMPLEMENTED.

int GWEN_ConfigMgr_ModuleFini ( void  )
int GWEN_ConfigMgr_ModuleInit ( void  )
GWEN_CONFIGMGR* GWEN_ConfigMgr_new ( const char *  url)

Definition at line 118 of file configmgr.c.

References GWEN_INHERIT_INIT, and GWEN_NEW_OBJECT.

GWEN_CONFIGMGR* GWEN_ConfigMgr_Plugin_Factory ( GWEN_PLUGIN pl,
const char *  url 
)

Definition at line 387 of file configmgr.c.

References GWEN_INHERIT_GETDATA.

Referenced by GWEN_ConfigMgr_Factory().

void GWENHYWFAR_CB GWEN_ConfigMgr_Plugin_FreeData ( GWEN_UNUSED void *  bp,
void *  p 
)

Definition at line 365 of file configmgr.c.

References GWEN_FREE_OBJECT.

Referenced by GWEN_ConfigMgr_Plugin_new().

GWEN_PLUGIN* GWEN_ConfigMgr_Plugin_new ( GWEN_PLUGIN_MANAGER pm,
const char *  name,
const char *  fileName 
)

Definition at line 374 of file configmgr.c.

References GWEN_INHERIT_GETDATA.

Definition at line 207 of file configmgr.c.

Definition at line 142 of file configmgr.c.

Definition at line 194 of file configmgr.c.

int GWEN_ConfigMgr_SetGroup ( GWEN_CONFIGMGR mgr,
const char *  groupName,
const char *  subGroupName,
GWEN_DB_NODE db 
)

Definition at line 259 of file configmgr.c.

References GWEN_ERROR_NOT_IMPLEMENTED.

Definition at line 220 of file configmgr.c.

Definition at line 233 of file configmgr.c.

Definition at line 168 of file configmgr.c.

Definition at line 155 of file configmgr.c.

Definition at line 181 of file configmgr.c.

int GWEN_ConfigMgr_UnlockGroup ( GWEN_CONFIGMGR mgr,
const char *  groupName,
const char *  subGroupName 
)

Definition at line 284 of file configmgr.c.

References GWEN_ERROR_NOT_IMPLEMENTED.