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.