A test program for ConfigFile library.

Dependencies:   mbed ConfigFile

Committer:
shintamainjp
Date:
Wed Sep 15 12:23:34 2010 +0000
Revision:
2:1b88311b9f10
Parent:
1:d125bda3cf74
Child:
3:a8ceaaf6c1cf

        

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 2:1b88311b9f10 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 0:78215cbf31b4 45 * Message2 = This is a test message no.2
shintamainjp 2:1b88311b9f10 46 * Message3 = This is a test message no.2
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 0:78215cbf31b4 54 * Message2 = This is a test message no.2
shintamainjp 0:78215cbf31b4 55 *
shintamainjp 0:78215cbf31b4 56 * ==================================================
shintamainjp 2:1b88311b9f10 57 * Output file (output2.txt)
shintamainjp 1:d125bda3cf74 58 * ==================================================
shintamainjp 1:d125bda3cf74 59 * # This is a configuration file for my application.
shintamainjp 1:d125bda3cf74 60 * ABC=123
shintamainjp 1:d125bda3cf74 61 * DEF=456
shintamainjp 1:d125bda3cf74 62 *
shintamainjp 1:d125bda3cf74 63 * ==================================================
shintamainjp 2:1b88311b9f10 64 * Console output
shintamainjp 0:78215cbf31b4 65 * ==================================================
shintamainjp 0:78215cbf31b4 66 * 'MyKey1'='This is a value for key1.'
shintamainjp 0:78215cbf31b4 67 * 'MyKey2'='Value 2'
shintamainjp 2:1b88311b9f10 68 * 'Message1 '=' This is a test message no.1'
shintamainjp 2:1b88311b9f10 69 * 'Message2 '=' This is a test message no.2'
shintamainjp 2:1b88311b9f10 70 * ' Message3 '=' This is a test message no.2'
shintamainjp 0:78215cbf31b4 71 */
shintamainjp 0:78215cbf31b4 72 int main() {
shintamainjp 0:78215cbf31b4 73
shintamainjp 0:78215cbf31b4 74 char *key1 = "MyKey1";
shintamainjp 0:78215cbf31b4 75 char *key2 = "MyKey2";
shintamainjp 2:1b88311b9f10 76 char *key3 = "Message1 ";
shintamainjp 2:1b88311b9f10 77 char *key4 = "Message2 ";
shintamainjp 2:1b88311b9f10 78 char *key5 = " Message3 ";
shintamainjp 0:78215cbf31b4 79 char value[BUFSIZ];
shintamainjp 0:78215cbf31b4 80
shintamainjp 0:78215cbf31b4 81 /*
shintamainjp 0:78215cbf31b4 82 * Read a configuration file from a mbed.
shintamainjp 0:78215cbf31b4 83 */
shintamainjp 0:78215cbf31b4 84 cfg.read("/local/input.cfg");
shintamainjp 0:78215cbf31b4 85
shintamainjp 0:78215cbf31b4 86 /*
shintamainjp 0:78215cbf31b4 87 * Read a configuration value.
shintamainjp 0:78215cbf31b4 88 */
shintamainjp 0:78215cbf31b4 89 cfg.getValue(key1, &value[0], sizeof(value));
shintamainjp 0:78215cbf31b4 90 printf("'%s'='%s'\n", key1, value);
shintamainjp 2:1b88311b9f10 91
shintamainjp 0:78215cbf31b4 92 cfg.getValue(key2, &value[0], sizeof(value));
shintamainjp 0:78215cbf31b4 93 printf("'%s'='%s'\n", key2, value);
shintamainjp 2:1b88311b9f10 94
shintamainjp 2:1b88311b9f10 95 cfg.getValue(key3, &value[0], sizeof(value));
shintamainjp 2:1b88311b9f10 96 printf("'%s'='%s'\n", key3, value);
shintamainjp 2:1b88311b9f10 97
shintamainjp 2:1b88311b9f10 98 cfg.getValue(key4, &value[0], sizeof(value));
shintamainjp 2:1b88311b9f10 99 printf("'%s'='%s'\n", key4, value);
shintamainjp 2:1b88311b9f10 100
shintamainjp 2:1b88311b9f10 101 cfg.getValue(key5, &value[0], sizeof(value));
shintamainjp 2:1b88311b9f10 102 printf("'%s'='%s'\n", key5, value);
shintamainjp 0:78215cbf31b4 103
shintamainjp 0:78215cbf31b4 104 /*
shintamainjp 0:78215cbf31b4 105 * Write a configuration file to a mbed.
shintamainjp 0:78215cbf31b4 106 */
shintamainjp 1:d125bda3cf74 107 cfg.write("/local/output1.cfg");
shintamainjp 1:d125bda3cf74 108
shintamainjp 1:d125bda3cf74 109 /*
shintamainjp 1:d125bda3cf74 110 * Remove all configurations.
shintamainjp 1:d125bda3cf74 111 */
shintamainjp 1:d125bda3cf74 112 cfg.removeAll();
shintamainjp 1:d125bda3cf74 113
shintamainjp 1:d125bda3cf74 114 /*
shintamainjp 1:d125bda3cf74 115 * Write a configuration value.
shintamainjp 1:d125bda3cf74 116 */
shintamainjp 1:d125bda3cf74 117 cfg.setValue("ABC", "123");
shintamainjp 1:d125bda3cf74 118 cfg.setValue("DEF", "456");
shintamainjp 1:d125bda3cf74 119
shintamainjp 1:d125bda3cf74 120 /*
shintamainjp 1:d125bda3cf74 121 * Write a configuration file to a mbed.
shintamainjp 1:d125bda3cf74 122 */
shintamainjp 1:d125bda3cf74 123 cfg.write("/local/output2.cfg", "# This is a configuration file for my application.");
shintamainjp 2:1b88311b9f10 124
shintamainjp 0:78215cbf31b4 125 while (1) {
shintamainjp 0:78215cbf31b4 126 }
shintamainjp 0:78215cbf31b4 127 }