Commit adb0645a authored by Jonathan Jenkins's avatar Jonathan Jenkins

typedef tweaking for future refactors

parent 4928a7b8
......@@ -39,7 +39,7 @@ typedef struct
#define ROOT_SECTION ((SectionHandle) 0)
typedef struct
struct ConfigVTable
{
/* File path of the configuration file. Used in computing the relative path
* of file fields */
......@@ -94,20 +94,18 @@ typedef struct
void * data;
} ConfigVTable;
typedef ConfigVTable * ConfigHandle;
};
/* utility debug function: write config tree to stdout;
* If all OK: ret >= 0, otherwise ret < 0 and *err is set
* to error message
* */
int cf_dump (ConfigHandle cf, SectionHandle h, char ** err);
int cf_dump (struct ConfigVTable * cf, SectionHandle h, char ** err);
/* Compare two config trees: return true if equal, false if not */
int cf_equal (ConfigHandle h1, ConfigHandle h2);
int cf_equal (struct ConfigVTable * h1, struct ConfigVTable * h2);
static inline int cf_free (ConfigHandle cf)
static inline int cf_free (struct ConfigVTable * cf)
{
if (!cf)
return 1;
......@@ -117,49 +115,49 @@ static inline int cf_free (ConfigHandle cf)
return 1;
}
static inline int cf_getSectionSize (ConfigHandle cf, SectionHandle section,
static inline int cf_getSectionSize (struct ConfigVTable * cf, SectionHandle section,
unsigned int * count)
{
return cf->getSectionSize (cf->data, section, count);
}
static inline int cf_closeSection (ConfigHandle cf, SectionHandle section)
static inline int cf_closeSection (struct ConfigVTable * cf, SectionHandle section)
{
return cf->closeSection (cf->data, section);
}
static inline int cf_openSection (ConfigHandle cf, SectionHandle section,
static inline int cf_openSection (struct ConfigVTable * cf, SectionHandle section,
const char * sectionname, SectionHandle * newsection)
{
return cf->openSection (cf->data, section, sectionname, newsection);
}
static inline int cf_getKey (ConfigHandle cf, SectionHandle section,
static inline int cf_getKey (struct ConfigVTable * cf, SectionHandle section,
const char * keyname, char * buf, size_t maxbuf)
{
return cf->getKey (cf->data, section, keyname, buf, maxbuf);
}
static inline int cf_getMultiKey (ConfigHandle cf, SectionHandle section,
static inline int cf_getMultiKey (struct ConfigVTable * cf, SectionHandle section,
const char * keyname, char *** buf, size_t * e)
{
return cf->getMultiKey (cf->data, section, keyname, buf, e);
}
static inline int cf_listSection (ConfigHandle cf, SectionHandle section,
static inline int cf_listSection (struct ConfigVTable * cf, SectionHandle section,
SectionEntry * entries, size_t * maxentries)
{
return cf->listSection (cf->data, section, entries, maxentries);
}
static inline int cf_createSection (ConfigHandle handle, SectionHandle
static inline int cf_createSection (struct ConfigVTable * handle, SectionHandle
section, const char * name, SectionHandle * newsection)
{
return handle->createSection (handle->data, section, name,
newsection);
}
static inline int cf_createKey (ConfigHandle handle, SectionHandle section,
static inline int cf_createKey (struct ConfigVTable * handle, SectionHandle section,
const char * key, const char ** data, unsigned int count)
{
return handle->createKey (handle->data, section, key, data, count);
......
......@@ -53,6 +53,8 @@ typedef struct config_lpgroups_s
config_anno_map_t lpannos[CONFIGURATION_MAX_TYPES];
} config_lpgroups_t;
typedef struct ConfigVTable * ConfigHandle;
/*
* Load a configuration on the system (collectively)
*
......
......@@ -21,31 +21,31 @@ extern "C" {
/**
* returns ConfigHandle, if all is OK *err is set to 0,
* returns ConfigVTable, if all is OK *err is set to 0,
* otherwise *err is set to a pointer to the error string
* (which needs to be freed by the user)
* NOTE that even if an error occurred, a partial ConfigHandle tree
* NOTE that even if an error occurred, a partial ConfigVTable tree
* can be returned.
*/
ConfigHandle txtfile_openConfig (const char * filename, char ** err);
struct ConfigVTable * txtfile_openConfig (const char * filename, char ** err);
/**
* returns ConfigHandle, if all is OK *err is set to 0,
* returns ConfigVTable, if all is OK *err is set to 0,
* otherwise *err is set to a pointer to the error string
* (which needs to be freed by the user)
* NOTE that even if an error occurred, a partial ConfigHandle tree
* NOTE that even if an error occurred, a partial ConfigVTable tree
* can be returned.
*/
ConfigHandle txtfile_openStream (FILE * f, char ** err);
struct ConfigVTable * txtfile_openStream (FILE * f, char ** err);
/**
* Write ConfigHandle to disk (in a format supported by _open).
* Write ConfigVTable to disk (in a format supported by _open).
* Returns >=0 if all went OK, < 0 otherwise in which
* case *err is set to a pointer to an error string, which needs to be
* freed by the user.
*/
int txtfile_writeConfig (ConfigHandle h, SectionHandle h2, FILE * out, char ** err);
int txtfile_writeConfig (struct ConfigVTable * h, SectionHandle h2, FILE * out, char ** err);
#ifdef __cplusplus
} /* extern "C" */
......
......@@ -18,7 +18,7 @@
#include "codes/configfile.h"
#include "codes/txt_configfile.h"
static int cf_equal_helper (ConfigHandle h1, SectionHandle s1, ConfigHandle h2,
static int cf_equal_helper (struct ConfigVTable * h1, SectionHandle s1, struct ConfigVTable * h2,
SectionHandle s2)
{
unsigned int sectionsize1;
......@@ -169,13 +169,13 @@ static int cf_equal_helper (ConfigHandle h1, SectionHandle s1, ConfigHandle h2,
return ret;
}
int cf_equal (ConfigHandle h1, ConfigHandle h2)
int cf_equal (struct ConfigVTable * h1, struct ConfigVTable * h2)
{
return cf_equal_helper (h1, ROOT_SECTION, h2, ROOT_SECTION);
}
int cf_dump (ConfigHandle cf, SectionHandle h, char ** err)
int cf_dump (struct ConfigVTable * cf, SectionHandle h, char ** err)
{
return txtfile_writeConfig (cf, h, stdout, err);
}
......
......@@ -47,7 +47,7 @@ int cfgp_parser_error(ParserParams * p, const char * err,
return -1;
}
void cfgp_initparams (ParserParams * p, ConfigHandle h)
void cfgp_initparams (ParserParams * p, struct ConfigVTable * h)
{
p->configfile = h;
p->stacktop = 0;
......
......@@ -14,7 +14,7 @@
typedef struct
{
ConfigHandle configfile;
struct ConfigVTable * configfile;
SectionHandle sectionstack [20];
unsigned int stacktop;
......@@ -35,9 +35,9 @@ typedef struct
char * lexer_error_string;
} ParserParams;
void cfgp_initparams (ParserParams * p, ConfigHandle h);
void cfgp_initparams (ParserParams * p, struct ConfigVTable * h);
/* Free private data (but not the ConfigHandle) */
/* Free private data (but not the ConfigVTable) */
void cfgp_freeparams (ParserParams * p);
int cfgp_parser_error (ParserParams * p, const char* str,
......@@ -46,7 +46,7 @@ int cfgp_parser_error (ParserParams * p, const char* str,
int cfgp_lex_error (ParserParams * p, int lineno, int colno, const char * msg);
/* Return true if parse and lex went ok; false otherwise, and puts
* error message in buf. Note: ConfigHandle might still contain the partial
* error message in buf. Note: ConfigVTable might still contain the partial
* parsed tree */
int cfgp_parse_ok (const ParserParams * p, char * buf, int bufsize);
......
......@@ -211,7 +211,7 @@ static int cfsa_getSectionSize (void * handle, SectionHandle section,
static ConfigVTable cfsa_template = {
static struct ConfigVTable cfsa_template = {
.getKey = cfsa_getKey,
.getMultiKey = cfsa_getMultiKey,
.listSection = cfsa_listSection,
......@@ -224,15 +224,15 @@ static ConfigVTable cfsa_template = {
.data = 0
};
ConfigHandle cfsa_create (mcs_entry * e)
struct ConfigVTable * cfsa_create (mcs_entry * e)
{
ConfigHandle newh = malloc (sizeof (ConfigVTable));
struct ConfigVTable * newh = malloc (sizeof (struct ConfigVTable));
*newh = cfsa_template;
newh->data = e;
return newh;
}
ConfigHandle cfsa_create_empty ()
struct ConfigVTable * cfsa_create_empty ()
{
return cfsa_create (mcs_initroot ());
}
......
......@@ -15,9 +15,9 @@ extern "C" {
#endif
/* Create a new configfile interface backed by a configstore */
ConfigHandle cfsa_create (mcs_entry * e);
struct ConfigVTable * cfsa_create (mcs_entry * e);
ConfigHandle cfsa_create_empty ();
struct ConfigVTable * cfsa_create_empty ();
#ifdef __cplusplus
} /* extern "C" */
......
......@@ -30,10 +30,10 @@ static inline int mymin (int v1, int v2)
return (v1 < v2 ? v1 : v2);
}
static int dump_section (FILE * f, ConfigHandle h, SectionHandle s, unsigned
static int dump_section (FILE * f, struct ConfigVTable * h, SectionHandle s, unsigned
int indent);
static int dump_entry (FILE * f, ConfigHandle h, SectionHandle s,
static int dump_entry (FILE * f, struct ConfigVTable * h, SectionHandle s,
unsigned int indent, const SectionEntry * entry)
{
int ret = 1;
......@@ -89,7 +89,7 @@ static int dump_entry (FILE * f, ConfigHandle h, SectionHandle s,
return ret;
}
static int dump_section (FILE * f, ConfigHandle h, SectionHandle s, unsigned
static int dump_section (FILE * f, struct ConfigVTable * h, SectionHandle s, unsigned
int indent)
{
unsigned int sectionsize;
......@@ -129,7 +129,7 @@ fail:
}
int txtfile_writeConfig (ConfigHandle cf, SectionHandle h, FILE * f, char ** err)
int txtfile_writeConfig (struct ConfigVTable * cf, SectionHandle h, FILE * f, char ** err)
{
int ret;
assert(err);
......@@ -146,7 +146,7 @@ int txtfile_writeConfig (ConfigHandle cf, SectionHandle h, FILE * f, char ** err
return ret;
}
ConfigHandle txtfile_openStream (FILE * f, char ** err)
struct ConfigVTable * txtfile_openStream (FILE * f, char ** err)
{
long size;
ParserParams p;
......@@ -201,10 +201,10 @@ ConfigHandle txtfile_openStream (FILE * f, char ** err)
return p.configfile;
}
ConfigHandle txtfile_openConfig (const char * filename, char ** error)
struct ConfigVTable * txtfile_openConfig (const char * filename, char ** error)
{
FILE * f;
ConfigHandle ret;
struct ConfigVTable * ret;
f = fopen (filename, "r");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment