Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: CDUFinal CDU_Mbed_36
Fork of ConfigFile by
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
