José: Config

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

  cfg | The 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

  cfg | The 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

  cfg | The configuration context.
  err | The error handler function you wish to enable.
  misc | The 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

  cfg | The 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

  cfg | The configuration context (optional).
  err | The number corresponding to this error type.
  fmt | A printf()-style format string.
  ... | The printf()-style arguments.