girara
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
Data Structures | Functions
settings.c File Reference
#include <stdlib.h>
#include <glib.h>
#include <string.h>
#include "settings.h"
#include "datastructures.h"
#include "completion.h"
#include "session.h"
#include "internal.h"

Go to the source code of this file.

Data Structures

struct  girara_setting_t

Functions

void girara_setting_set_value (girara_session_t *session, girara_setting_t *setting, void *value)
bool girara_setting_add (girara_session_t *session, const char *name, void *value, girara_setting_type_t type, bool init_only, const char *description, girara_setting_callback_t callback, void *data)
bool girara_setting_set (girara_session_t *session, const char *name, void *value)
bool girara_setting_get_value (girara_setting_t *setting, void *dest)
bool girara_setting_get (girara_session_t *session, const char *name, void *dest)
void girara_setting_free (girara_setting_t *setting)
girara_setting_t * girara_setting_find (girara_session_t *session, const char *name)
const char * girara_setting_get_name (girara_setting_t *setting)
girara_setting_type_t girara_setting_get_type (girara_setting_t *setting)
girara_completion_t * girara_cc_set (girara_session_t *session, const char *input)

Function Documentation

girara_completion_t* girara_cc_set ( girara_session_t *  session,
const char *  input 
)

Default complection function for the settings

Parameters
sessionThe used girara session
inputThe current input

Definition at line 197 of file settings.c.

bool girara_setting_add ( girara_session_t *  session,
const char *  name,
void *  value,
girara_setting_type_t  type,
bool  init_only,
const char *  description,
girara_setting_callback_t  callback,
void *  data 
)

Adds an additional entry in the settings list

Parameters
sessionThe used girara session
nameThe name of the setting
valueThe value of the setting
typeThe type of the setting
init_onlyWill only available on initialization
descriptionDescription of the setting
callbackFunction that is called when the setting changes
dataArbitary data that can be used by callbacks
Returns
TRUE No error occured
FALSE An error occured

Definition at line 64 of file settings.c.

girara_setting_t* girara_setting_find ( girara_session_t *  session,
const char *  name 
)

Find a setting.

Parameters
sessionThe girara session
namename of the setting
Returns
the setting or NULL if it doesn't exist

Definition at line 168 of file settings.c.

void girara_setting_free ( girara_setting_t *  setting)

Free girara_setting_t struct

Parameters
settingThe setting to free.

Definition at line 153 of file settings.c.

bool girara_setting_get ( girara_session_t *  session,
const char *  name,
void *  dest 
)

Retreive the value of a setting. If the setting is a string, the value stored in dest has to be deallocated with g_free.

Parameters
sessionThe used girara session
nameThe name of the setting
destA pointer to the destination of the result.
Returns
true if the setting exists, false otherwise.

Definition at line 140 of file settings.c.

const char* girara_setting_get_name ( girara_setting_t *  setting)

Get the setting's name.

Parameters
settingThe setting
Returns
the setting's name

Definition at line 185 of file settings.c.

girara_setting_type_t girara_setting_get_type ( girara_setting_t *  setting)

Get the setting's value.

Parameters
settingThe setting
Returns
the value

Definition at line 191 of file settings.c.

bool girara_setting_get_value ( girara_setting_t *  setting,
void *  dest 
)

Get the setting's value. If the setting is a string, the value stored in dest has to be deallocated with g_free.

Parameters
settingThe setting
destA pointer to the destination of the result.
Returns
true if the setting exists, false otherwise.

Definition at line 110 of file settings.c.

bool girara_setting_set ( girara_session_t *  session,
const char *  name,
void *  value 
)

Sets the value of a setting

Parameters
sessionThe used girara session
nameThe name of the setting
valueThe new value of the setting
Returns
TRUE No error occured
FALSE An error occured

Definition at line 95 of file settings.c.

void girara_setting_set_value ( girara_session_t *  session,
girara_setting_t *  setting,
void *  value 
)

Set the setting's value. If session is NULL, the setting's callback won't be called.

Parameters
sessionThe girara session
settingThe setting
valueThe new value

Definition at line 34 of file settings.c.