Shinichiro Nakamura
/
ConfigFile_TestProgram
A test program for ConfigFile library.
main.cpp@3:a8ceaaf6c1cf, 2010-09-15 (annotated)
- Committer:
- shintamainjp
- Date:
- Wed Sep 15 12:51:29 2010 +0000
- Revision:
- 3:a8ceaaf6c1cf
- Parent:
- 2:1b88311b9f10
Who changed what in which revision?
User | Revision | Line number | New 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 | } |