Shinichiro Nakamura
/
ConfigFile_TestProgram
A test program for ConfigFile library.
main.cpp@2:1b88311b9f10, 2010-09-15 (annotated)
- 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?
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 | 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 | } |