33 #ifndef __LIBMCS_MCS_H__
34 #define __LIBMCS_MCS_H__
40 #include <sys/types.h>
283 const char *section);
394 const char *section);
407 extern size_t mcs_strnlen(
const char *str,
size_t len);
408 extern char *
mcs_strndup(
const char *str,
size_t len);
410 extern size_t mcs_strlcat(
char *dest,
const char *src,
size_t count);
411 extern size_t mcs_strlcpy(
char *dest,
const char *src,
size_t count);
char * mcs_strndup(const char *str, size_t len)
Duplicates a string, limited to a specific length.
Definition: mcs_util.c:62
mowgli_queue_t * mcs_backend_get_list(void)
Returns a mowgli.queue representing the backends list.
Definition: mcs_backends.c:83
Contains the vtable and some references for an mcs storage backend.
Definition: mcs.h:83
mcs_response_t mcs_set_bool(mcs_handle_t *handle, const char *section, const char *key, int value)
Public function to set a boolean value in a configuration database.
Definition: mcs_handle_factory.c:280
size_t mcs_strlcat(char *dest, const char *src, size_t count)
Concatenates a string, limited to a maximum buffer size.
Definition: mcs_util.c:145
void mcs_fini(void)
Releases resources used by the mcs backend plugins.
Definition: mcs_init.c:68
void * mcs_priv_handle
Definition: mcs.h:301
mcs_response_t mcs_set_float(mcs_handle_t *handle, const char *section, const char *key, float value)
Public function to set a floating point value in a configuration database.
Definition: mcs_handle_factory.c:303
mcs_response_t mcs_set_double(mcs_handle_t *handle, const char *section, const char *key, double value)
Public function to set a double-precision floating point value in a configuration database...
Definition: mcs_handle_factory.c:327
mcs_handle_t * mcs_new(char *domain)
Definition: mcs_handle_factory.c:60
size_t mcs_strnlen(const char *str, size_t len)
Determines the length of a string, limited by an arbitrary length.
Definition: mcs_util.c:45
char * mcs_version(void)
Retrieves the version of the mcs implementation.
Definition: mcs_init.c:83
Represents an MCS object handle.
Definition: mcs.h:298
size_t mcs_strlcpy(char *dest, const char *src, size_t count)
Copies a string, limited to a maximum buffer size.
Definition: mcs_util.c:179
void mcs_destroy(mcs_handle_t *handle)
Destroys an mcs.handle object.
Definition: mcs_handle_factory.c:91
void mcs_handle_class_init(void)
Initialises the mowgli.object.class for the mcs.handle object.
Definition: mcs_handle_factory.c:51
const char * name
The unique name identifying the backend.
Definition: mcs.h:97
void mcs_init(void)
Initialises the mcs library classes and loads the backend plugins.
Definition: mcs_init.c:53
void * handle
Definition: mcs.h:84
void mcs_unload_plugins(mowgli_queue_t *l)
Unloads a given list of plugins.
Definition: mcs_loader.c:92
void mcs_load_plugins(void)
Loads all of the plugins in -DPLUGIN_DIR.
Definition: mcs_loader.c:39
mcs_response_t mcs_set_int(mcs_handle_t *handle, const char *section, const char *key, int value)
Public function to set an integer value in a configuration database.
Definition: mcs_handle_factory.c:257
mcs_response_t mcs_get_int(mcs_handle_t *handle, const char *section, const char *key, int *value)
Public function to retrieve an integer value from a configuration database.
Definition: mcs_handle_factory.c:137
mcs_response_t mcs_get_string(mcs_handle_t *handle, const char *section, const char *key, char **value)
Public function to retrieve a string value from a configuration database.
Definition: mcs_handle_factory.c:113
mcs_response_t mcs_backend_unregister(mcs_backend_t *backend)
Unregisters a custom mcs.backend.
Definition: mcs_backends.c:68
const char * mcs_backend_select(void)
Determines the backend that should be used.
Definition: mcs_backends.c:98
mcs_response_t mcs_set_string(mcs_handle_t *handle, const char *section, const char *key, const char *value)
Public function to set a string value in a configuration database.
Definition: mcs_handle_factory.c:234
mcs_response_t mcs_get_float(mcs_handle_t *handle, const char *section, const char *key, float *value)
Public function to retrieve a floating point value from a configuration database. ...
Definition: mcs_handle_factory.c:185
mcs_response_t mcs_unset_key(mcs_handle_t *handle, const char *section, const char *key)
Public function to remove a value from a configuration database.
Definition: mcs_handle_factory.c:351
mowgli_queue_t * mcs_get_keys(mcs_handle_t *handle, const char *section)
Public function to retrieve a mowgli.queue of keys from a configuration database. ...
Definition: mcs_handle_factory.c:373
int mcs_create_directory(const char *path, mode_t mode)
A utility function which creates a directory.
Definition: mcs_util.c:87
mcs_response_t mcs_get_double(mcs_handle_t *handle, const char *section, const char *key, double *value)
Public function to retrieve a double-precision floating point value from a configuration database...
Definition: mcs_handle_factory.c:209
mowgli_object_t object
Definition: mcs.h:299
mcs_response_t mcs_backend_register(mcs_backend_t *backend)
Registers a custom mcs.backend.
Definition: mcs_backends.c:49
mcs_response_t mcs_get_bool(mcs_handle_t *handle, const char *section, const char *key, int *value)
Public function to retrieve a boolean value from a configuration database.
Definition: mcs_handle_factory.c:161
mcs_backend_t * base
Definition: mcs.h:300
mowgli_queue_t * mcs_get_sections(mcs_handle_t *handle)
Public function to retrieve a mowgli.queue of sections from a configuration database.
Definition: mcs_handle_factory.c:393
mcs_response_t
Definition: mcs.h:62