#ifndef _PROPERTIES_H_
#define _PROPERTIES_H_
/**
 * \file properties.h
 * \brief A header for properties.c
 *
 * \date Apr 22, 2009
 * \date author Alexander Pimenov
 */
#ifdef __cplusplus
	extern "C" {
#endif
typedef struct Property_tag {
	char *name;
	char *value;
	struct Property_tag *nextParam;
} Property;

typedef struct PropertyList_tag {
	char *filename;
	int parameterNum;
	Property* nextParam;
} PropertyList;


PropertyList *createList();
PropertyList *readFromFile(char *fileName);

void storeToFile(PropertyList *p, char *fileName);

void printParams (PropertyList *p);


char* getStringParameter(PropertyList *p, char *name);


int getIntParameter(PropertyList *p, char *name, int def);


double getDoubleParameter(PropertyList *p, char *name, double def);

void setStringParameter(PropertyList *p, char *name, char *value);


void deleteParameters (PropertyList *p);

#ifdef __cplusplus
	} // 	extern "C"
#endif
#endif
