A test program for ConfigFile library.

Dependencies:   mbed ConfigFile

Committer:
shintamainjp
Date:
Wed Oct 13 10:48:24 2010 +0000
Revision:
4:72e5ea7cacde
Parent:
3:a8ceaaf6c1cf
First version.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
shintamainjp 0:78215cbf31b4 1 /**
shintamainjp 0:78215cbf31b4 2 * Test program for configuration file interface class (Version 0.0.1)
shintamainjp 0:78215cbf31b4 3 *
shintamainjp 0:78215cbf31b4 4 * Copyright (C) 2010 Shinichiro Nakamura (CuBeatSystems)
shintamainjp 0:78215cbf31b4 5 * http://shinta.main.jp/
shintamainjp 0:78215cbf31b4 6 */
shintamainjp 0:78215cbf31b4 7 #include "mbed.h"
shintamainjp 0:78215cbf31b4 8
shintamainjp 0:78215cbf31b4 9 #include "ConfigFile.h"
shintamainjp 0:78215cbf31b4 10
shintamainjp 0:78215cbf31b4 11 ConfigFile cfg;
shintamainjp 0:78215cbf31b4 12 LocalFileSystem local("local");
shintamainjp 0:78215cbf31b4 13
shintamainjp 0:78215cbf31b4 14 /**
shintamainjp 2:1b88311b9f10 15 * View the list.
shintamainjp 2:1b88311b9f10 16 */
shintamainjp 2:1b88311b9f10 17 void viewlist(void) {
shintamainjp 2:1b88311b9f10 18 /*
shintamainjp 2:1b88311b9f10 19 * If you need to check all parameters.
shintamainjp 2:1b88311b9f10 20 */
shintamainjp 2:1b88311b9f10 21 const int cnt = cfg.getCount();
shintamainjp 2:1b88311b9f10 22 char buf_key[BUFSIZ];
shintamainjp 2:1b88311b9f10 23 char buf_value[BUFSIZ];
shintamainjp 2:1b88311b9f10 24 for (int i = 0; i < cnt; i++) {
shintamainjp 2:1b88311b9f10 25 if (cfg.getKeyAndValue(i, buf_key, sizeof(buf_key), buf_value, sizeof(buf_value))) {
shintamainjp 2:1b88311b9f10 26 printf("No.%3d:'%s'='%s'\n", i, buf_key, buf_value);
shintamainjp 2:1b88311b9f10 27 } else {
shintamainjp 2:1b88311b9f10 28 printf("No.%3d:Failure to get a configuration.\n", i);
shintamainjp 3:a8ceaaf6c1cf 29 }
shintamainjp 2:1b88311b9f10 30 }
shintamainjp 2:1b88311b9f10 31 }
shintamainjp 2:1b88311b9f10 32
shintamainjp 2:1b88311b9f10 33 /**
shintamainjp 0:78215cbf31b4 34 * ==================================================
shintamainjp 2:1b88311b9f10 35 * Input file (input.cfg)
shintamainjp 0:78215cbf31b4 36 * ==================================================
shintamainjp 0:78215cbf31b4 37 * #
shintamainjp 0:78215cbf31b4 38 * # Configuration file for mbed.
shintamainjp 0:78215cbf31b4 39 * #
shintamainjp 0:78215cbf31b4 40 *
shintamainjp 0:78215cbf31b4 41 * MyKey1=This is a value for key1.
shintamainjp 0:78215cbf31b4 42 * MyKey2=Value 2
shintamainjp 0:78215cbf31b4 43 *
shintamainjp 0:78215cbf31b4 44 * Message1 = This is a test message no.1
shintamainjp 3:a8ceaaf6c1cf 45 * Message2 = This is a test message no.2
shintamainjp 3:a8ceaaf6c1cf 46 * Message3 = This is a test message no.3
shintamainjp 0:78215cbf31b4 47 *
shintamainjp 0:78215cbf31b4 48 * ==================================================
shintamainjp 2:1b88311b9f10 49 * Output file (output1.cfg)
shintamainjp 0:78215cbf31b4 50 * ==================================================
shintamainjp 0:78215cbf31b4 51 * MyKey1=This is a value for key1.
shintamainjp 0:78215cbf31b4 52 * MyKey2=Value 2
shintamainjp 0:78215cbf31b4 53 * Message1 = This is a test message no.1
shintamainjp 3:a8ceaaf6c1cf 54 * Message2 = This is a test message no.2
shintamainjp 3:a8ceaaf6c1cf 55 * Message3 = This is a test message no.3
shintamainjp 0:78215cbf31b4 56 *
shintamainjp 0:78215cbf31b4 57 * ==================================================
shintamainjp 2:1b88311b9f10 58 * Output file (output2.txt)
shintamainjp 1:d125bda3cf74 59 * ==================================================
shintamainjp 1:d125bda3cf74 60 * # This is a configuration file for my application.
shintamainjp 1:d125bda3cf74 61 * ABC=123
shintamainjp 1:d125bda3cf74 62 * DEF=456
shintamainjp 1:d125bda3cf74 63 *
shintamainjp 1:d125bda3cf74 64 * ==================================================
shintamainjp 2:1b88311b9f10 65 * Console output
shintamainjp 0:78215cbf31b4 66 * ==================================================
shintamainjp 0:78215cbf31b4 67 * 'MyKey1'='This is a value for key1.'
shintamainjp 0:78215cbf31b4 68 * 'MyKey2'='Value 2'
shintamainjp 2:1b88311b9f10 69 * 'Message1 '=' This is a test message no.1'
shintamainjp 3:a8ceaaf6c1cf 70 * ' Message2 '=' This is a test message no.2'
shintamainjp 3:a8ceaaf6c1cf 71 * ' Message3 '=' This is a test message no.3'
shintamainjp 3:a8ceaaf6c1cf 72 *
shintamainjp 0:78215cbf31b4 73 */
shintamainjp 0:78215cbf31b4 74 int main() {
shintamainjp 0:78215cbf31b4 75
shintamainjp 0:78215cbf31b4 76 char *key1 = "MyKey1";
shintamainjp 0:78215cbf31b4 77 char *key2 = "MyKey2";
shintamainjp 2:1b88311b9f10 78 char *key3 = "Message1 ";
shintamainjp 3:a8ceaaf6c1cf 79 char *key4 = " Message2 ";
shintamainjp 3:a8ceaaf6c1cf 80 char *key5 = " Message3 ";
shintamainjp 0:78215cbf31b4 81 char value[BUFSIZ];
shintamainjp 0:78215cbf31b4 82
shintamainjp 0:78215cbf31b4 83 /*
shintamainjp 0:78215cbf31b4 84 * Read a configuration file from a mbed.
shintamainjp 0:78215cbf31b4 85 */
shintamainjp 0:78215cbf31b4 86 cfg.read("/local/input.cfg");
shintamainjp 0:78215cbf31b4 87
shintamainjp 0:78215cbf31b4 88 /*
shintamainjp 0:78215cbf31b4 89 * Read a configuration value.
shintamainjp 0:78215cbf31b4 90 */
shintamainjp 3:a8ceaaf6c1cf 91 if (cfg.getValue(key1, &value[0], sizeof(value))) {
shintamainjp 3:a8ceaaf6c1cf 92 printf("'%s'='%s'\n", key1, value);
shintamainjp 3:a8ceaaf6c1cf 93 }
shintamainjp 3:a8ceaaf6c1cf 94
shintamainjp 3:a8ceaaf6c1cf 95 if (cfg.getValue(key2, &value[0], sizeof(value))) {
shintamainjp 3:a8ceaaf6c1cf 96 printf("'%s'='%s'\n", key2, value);
shintamainjp 3:a8ceaaf6c1cf 97 }
shintamainjp 3:a8ceaaf6c1cf 98
shintamainjp 3:a8ceaaf6c1cf 99 if (cfg.getValue(key3, &value[0], sizeof(value))) {
shintamainjp 3:a8ceaaf6c1cf 100 printf("'%s'='%s'\n", key3, value);
shintamainjp 3:a8ceaaf6c1cf 101 }
shintamainjp 3:a8ceaaf6c1cf 102
shintamainjp 3:a8ceaaf6c1cf 103 if (cfg.getValue(key4, &value[0], sizeof(value))) {
shintamainjp 3:a8ceaaf6c1cf 104 printf("'%s'='%s'\n", key4, value);
shintamainjp 3:a8ceaaf6c1cf 105 }
shintamainjp 3:a8ceaaf6c1cf 106
shintamainjp 3:a8ceaaf6c1cf 107 if (cfg.getValue(key5, &value[0], sizeof(value))) {
shintamainjp 3:a8ceaaf6c1cf 108 printf("'%s'='%s'\n", key5, value);
shintamainjp 3:a8ceaaf6c1cf 109 }
shintamainjp 0:78215cbf31b4 110
shintamainjp 0:78215cbf31b4 111 /*
shintamainjp 0:78215cbf31b4 112 * Write a configuration file to a mbed.
shintamainjp 0:78215cbf31b4 113 */
shintamainjp 1:d125bda3cf74 114 cfg.write("/local/output1.cfg");
shintamainjp 1:d125bda3cf74 115
shintamainjp 1:d125bda3cf74 116 /*
shintamainjp 1:d125bda3cf74 117 * Remove all configurations.
shintamainjp 1:d125bda3cf74 118 */
shintamainjp 1:d125bda3cf74 119 cfg.removeAll();
shintamainjp 3:a8ceaaf6c1cf 120
shintamainjp 1:d125bda3cf74 121 /*
shintamainjp 1:d125bda3cf74 122 * Write a configuration value.
shintamainjp 1:d125bda3cf74 123 */
shintamainjp 1:d125bda3cf74 124 cfg.setValue("ABC", "123");
shintamainjp 1:d125bda3cf74 125 cfg.setValue("DEF", "456");
shintamainjp 1:d125bda3cf74 126
shintamainjp 1:d125bda3cf74 127 /*
shintamainjp 1:d125bda3cf74 128 * Write a configuration file to a mbed.
shintamainjp 1:d125bda3cf74 129 */
shintamainjp 1:d125bda3cf74 130 cfg.write("/local/output2.cfg", "# This is a configuration file for my application.");
shintamainjp 3:a8ceaaf6c1cf 131
shintamainjp 0:78215cbf31b4 132 while (1) {
shintamainjp 0:78215cbf31b4 133 }
shintamainjp 0:78215cbf31b4 134 }