lib/config/configio.h
author "Tomas Zeman <tzeman@volny.cz>"
Sun, 20 Jan 2008 00:22:25 +0100
changeset 3 3d1d327cfa68
parent 0 6f7a81934006
permissions -rw-r--r--
vmailmgr-0.97

#ifndef VMAILMGR__CONFIG_IO__H__
#define VMAILMGR__CONFIG_IO__H__

#include "mystring/mystring.h"
#include "config/configrc.h"

bool config_read(const mystring& dir, const mystring& name, mystring& result);

#define cval(TYPE,FN,VAL,EXT) static TYPE default_##FN = VAL; \
static mystring filename_##FN(#FN); \
TYPE configuration:: FN () const { return read_##EXT (filename_##FN, default_##FN); }
#define cval_str(FN,VAL) cval(mystring,FN,VAL,str)
#define cval_dir(FN,VAL) cval(mystring,FN,VAL,dir)
#define cval_uns(FN,VAL) cval(unsigned,FN,VAL,uns)

#endif