Lumiera  0.pre.03
»edit your freedom«
configitem.h File Reference

Go to the source code of this file.

Description

Draft for a configuration system (2008).

Todo:
as of 2016 this code is unused and likely to be replaced by a different approach.

Hierarchy of configuration items.

configitems form a 3 level hierarchy:

** 1. file:
**      contain sections
**
** 2.   section:
**        [prefix suffix]
**        contain lines
**
** 3.     lines are
**        comment:
**          empty line or line only containing spaces and tabs
**          line starting with spaces and tabs followed by a #
**        directive:
**          '@include name' or '@readonly'
**          directives are only valid at the toplevel section []
**        configurationentry:
**          'key = value' or 'key < redirect'
**        erroneous:
**          any line which can't be parsed
** 

Definition in file configitem.h.

#include "lib/llist.h"
#include "common/config-lookup.h"
#include <nobug.h>

Classes

struct  lumiera_configitem
 
struct  lumiera_configitem_vtable
 

Typedefs

typedef lumiera_configitem * LumieraConfigitem
 

Functions

void lumiera_configitem_delete (LumieraConfigitem self, LumieraConfigLookup lookup)
 
LumieraConfigitem lumiera_configitem_destroy (LumieraConfigitem self, LumieraConfigLookup lookup)
 
LumieraConfigitem lumiera_configitem_init (LumieraConfigitem self)
 
LumieraConfigitem lumiera_configitem_move (LumieraConfigitem self, LumieraConfigitem dest)
 
LumieraConfigitem lumiera_configitem_new (const char *line)
 
LumieraConfigitem lumiera_configitem_parse (LumieraConfigitem self, const char *line)
 
LumieraConfigitem lumiera_configitem_set_value (LumieraConfigitem self, const char *delim_value)
 

Class Documentation

◆ lumiera_configitem_struct

struct lumiera_configitem_struct
Class Members
llist link
LumieraConfigitem parent
llist children
llist lookup
char * line
char * key
size_t key_size
char * delim
struct lumiera_configitem_vtable * vtable
+ Collaboration diagram for lumiera_configitem: