Lumiera  0.pre.03
»edit your freedom«
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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: