José
Typedefs | Functions
Config

José Configuration. More...

Typedefs

typedef jose_cfg_t jose_cfg_auto_t
 Defines a jose_cfg_t which calls jose_cfg_decref() at end of scope. More...
 

Functions

jose_cfg_t * jose_cfg (void)
 Creates a new configuration instance. More...
 
jose_cfg_t * jose_cfg_incref (jose_cfg_t *cfg)
 Increases the reference count of a configuration instance. More...
 
void jose_cfg_decref (jose_cfg_t *cfg)
 Decreases the reference count of a configuration instance. More...
 
void jose_cfg_set_err_func (jose_cfg_t *cfg, jose_cfg_err_t *err, void *misc)
 Sets the error handler function for this configuration instance. More...
 
void * jose_cfg_get_err_misc (jose_cfg_t *cfg)
 Gets the miscellaneous data associated with the current error handler. More...
 
void jose_cfg_err (jose_cfg_t *cfg, uint64_t err, const char *fmt,...)
 Submit an error. More...
 

Detailed Description

José Configuration.

Typedef Documentation

◆ jose_cfg_auto_t

typedef jose_cfg_t jose_cfg_auto_t

Defines a jose_cfg_t which calls jose_cfg_decref() at end of scope.

For example:

void foo() {
    jose_cfg_auto_t *cfg = jose_cfg();
    // jose_cfg_decref() implicitly called
}

Function Documentation

◆ jose_cfg()

jose_cfg_t* jose_cfg ( void  )

Creates a new configuration instance.

Returns
A newly-allocated configuration instance.

◆ jose_cfg_incref()

jose_cfg_t* jose_cfg_incref ( jose_cfg_t *  cfg)

Increases the reference count of a configuration instance.

This function always succeeds.

Parameters
cfgThe configuration context.
Returns
The value of cfg (for convenience).

◆ jose_cfg_decref()

void jose_cfg_decref ( jose_cfg_t *  cfg)

Decreases the reference count of a configuration instance.

When the reference count reaches zero, the configuration instance is freed.

Parameters
cfgThe configuration context.

◆ jose_cfg_set_err_func()

void jose_cfg_set_err_func ( jose_cfg_t *  cfg,
jose_cfg_err_t *  err,
void *  misc 
)

Sets the error handler function for this configuration instance.

The value of misc will be passed to the error handler function.

You may pass NULL to err to return to the default error handler.

Parameters
cfgThe configuration context.
errThe error handler function you wish to enable.
miscThe miscellaneous data you wish to pass to the error handler.

◆ jose_cfg_get_err_misc()

void* jose_cfg_get_err_misc ( jose_cfg_t *  cfg)

Gets the miscellaneous data associated with the current error handler.

Parameters
cfgThe configuration context.
Returns
The miscellaneous data associated with the error handler.

◆ jose_cfg_err()

void jose_cfg_err ( jose_cfg_t *  cfg,
uint64_t  err,
const char *  fmt,
  ... 
)

Submit an error.

The error handler will be called with the error provided.

Parameters
cfgThe configuration context (optional).
errThe number corresponding to this error type.
fmtA printf()-style format string.
...The printf()-style arguments.