Shinichiro Nakamura / Mbed 2 deprecated StarBoardOrangeExpansion1

Dependencies:   mbed RemoteIR SuperTweet ConfigFile EthernetNetIf

Committer:
shintamainjp
Date:
Fri Oct 29 23:17:01 2010 +0000
Revision:
0:db299c5a18ba
Child:
1:c4cfd136f9c7
Initial version.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
shintamainjp 0:db299c5a18ba 1 #include "appconf.h"
shintamainjp 0:db299c5a18ba 2 #include "ConfigFile.h"
shintamainjp 0:db299c5a18ba 3
shintamainjp 0:db299c5a18ba 4 #define KEY_SUPERTWEET_ACCOUNT "SUPERTWEET_ACCOUNT"
shintamainjp 0:db299c5a18ba 5 #define KEY_SUPERTWEET_PASSWORD "SUPERTWEET_PASSWORD"
shintamainjp 0:db299c5a18ba 6
shintamainjp 0:db299c5a18ba 7 /**
shintamainjp 0:db299c5a18ba 8 * Initialize configuration.
shintamainjp 0:db299c5a18ba 9 *
shintamainjp 0:db299c5a18ba 10 * @param p A pointer to a application config.
shintamainjp 0:db299c5a18ba 11 */
shintamainjp 0:db299c5a18ba 12 void appconf_init(appconf_t *p) {
shintamainjp 0:db299c5a18ba 13 memset(p->account, 0, sizeof(p->account));
shintamainjp 0:db299c5a18ba 14 memset(p->password, 0, sizeof(p->password));
shintamainjp 0:db299c5a18ba 15 }
shintamainjp 0:db299c5a18ba 16
shintamainjp 0:db299c5a18ba 17 /**
shintamainjp 0:db299c5a18ba 18 * Read configuration.
shintamainjp 0:db299c5a18ba 19 *
shintamainjp 0:db299c5a18ba 20 * @param filename Filename.
shintamainjp 0:db299c5a18ba 21 * @param p A pointer to a application config.
shintamainjp 0:db299c5a18ba 22 * @return Return zero if it succeed.
shintamainjp 0:db299c5a18ba 23 */
shintamainjp 0:db299c5a18ba 24 int appconf_read(char *filename, appconf_t *p) {
shintamainjp 0:db299c5a18ba 25 ConfigFile cf;
shintamainjp 0:db299c5a18ba 26 if (!cf.read(filename)) {
shintamainjp 0:db299c5a18ba 27 return -1;
shintamainjp 0:db299c5a18ba 28 }
shintamainjp 0:db299c5a18ba 29 if (!cf.getValue(KEY_SUPERTWEET_ACCOUNT, p->account, sizeof(p->account))) {
shintamainjp 0:db299c5a18ba 30 return -2;
shintamainjp 0:db299c5a18ba 31 }
shintamainjp 0:db299c5a18ba 32 if (!cf.getValue(KEY_SUPERTWEET_PASSWORD, p->password, sizeof(p->password))) {
shintamainjp 0:db299c5a18ba 33 return -3;
shintamainjp 0:db299c5a18ba 34 }
shintamainjp 0:db299c5a18ba 35 return 0;
shintamainjp 0:db299c5a18ba 36 }
shintamainjp 0:db299c5a18ba 37
shintamainjp 0:db299c5a18ba 38 /**
shintamainjp 0:db299c5a18ba 39 * Write configuration.
shintamainjp 0:db299c5a18ba 40 *
shintamainjp 0:db299c5a18ba 41 * @param filename Filename.
shintamainjp 0:db299c5a18ba 42 * @param p A pointer to a application config.
shintamainjp 0:db299c5a18ba 43 * @return Return zero if it succeed.
shintamainjp 0:db299c5a18ba 44 */
shintamainjp 0:db299c5a18ba 45 int appconf_write(char *filename, appconf_t *p) {
shintamainjp 0:db299c5a18ba 46 ConfigFile cf;
shintamainjp 0:db299c5a18ba 47 if (!cf.setValue(KEY_SUPERTWEET_ACCOUNT, p->account)) {
shintamainjp 0:db299c5a18ba 48 return -1;
shintamainjp 0:db299c5a18ba 49 }
shintamainjp 0:db299c5a18ba 50 if (!cf.setValue(KEY_SUPERTWEET_PASSWORD, p->password)) {
shintamainjp 0:db299c5a18ba 51 return -2;
shintamainjp 0:db299c5a18ba 52 }
shintamainjp 0:db299c5a18ba 53 if (!cf.write(filename)) {
shintamainjp 0:db299c5a18ba 54 return -3;
shintamainjp 0:db299c5a18ba 55 }
shintamainjp 0:db299c5a18ba 56 return 0;
shintamainjp 0:db299c5a18ba 57 }