Library to read and write configuration saved on SD Card
Dependents: DiscoLogger Dawson_Controller
ConfigFile.h
- Committer:
- shintamainjp
- Date:
- 2010-09-12
- Revision:
- 2:d8febae84a45
- Parent:
- 1:f02e081afe42
- Child:
- 3:7250e339328c
File content as of revision 2:d8febae84a45:
#include "mbed.h" #ifndef _CONFIG_FILE_H_ #define _CONFIG_FILE_H_ /** * Configuration File class. */ class ConfigFile { public: /** * Create a configuration file class. */ ConfigFile(); /** * Destroy a configuration file class. */ ~ConfigFile(); /** * Get a value for a key. * * @param key A target key name. * @param value A pointer to a value storage. * @param siz A size of a value storage. * @return A value or NULL. */ bool getValue(char *key, char *value, size_t siz); /** * Set a set of a key and value. * * @param key A key. * @param value A value. * * @return True if it succeed. */ bool setValue(char *key, char *value); /** * Remove a config. * * @param key A key. * * @return True if it succeed. */ bool remove(char *key); /** * Remove all config. * * @return True if it succeed. */ bool removeAll(void); /** * Read from the target file. * * @param file A target file name. */ bool read(char *file); typedef enum { UNIX, MAC, DOS } FileFormat; /** * Write from the target file. * * @param file A target file name. * @param ff File format. */ bool write(char *file, FileFormat ff = UNIX); /** * Output for debugging. * * @deprecated Please do not use this method. */ void debout(void) { printf("===========================================================================\n"); for (int i = 0; i < MAXCONFIG; i++) { config_t *cfg = configlist[i]; printf("[%03d]:", i); if (cfg == NULL) { printf("NULL\n"); } else { printf("'%s'='%s'\n", cfg->key, cfg->value); } } printf("===========================================================================\n"); } private: typedef struct { char *key; char *value; } config_t; config_t **configlist; static const int MAXCONFIG = 64; static const int MAXLEN_KEY = 64; static const int MAXLEN_VALUE = 128; static const char SEPARATOR = '='; config_t *search(char *key); bool add(config_t *cfg); }; #endif