Hi. This is the feed program for Cosm. (The previous name of the services is Pachube.)

Dependencies:   mbed ThermistorPack Pachube ConfigFile EthernetNetIf TextLCD HTTPClient_ToBeRemoved FatFileSystem SDFileSystem

Revision:
0:521ba375aa0f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mylib/ConfigFile/ConfigFile.h	Mon Aug 06 12:37:59 2012 +0000
@@ -0,0 +1,121 @@
+/**
+ * Configuration file interface class (Version 0.0.1)
+ *
+ * Copyright (C) 2010 Shinichiro Nakamura (CuBeatSystems)
+ * http://shinta.main.jp/
+ */
+#include "mbed.h"
+
+#ifndef _CONFIG_FILE_H_
+#define _CONFIG_FILE_H_
+
+/**
+ * Configuration File class.
+ */
+class ConfigFile {
+public:
+
+    /**
+     * Create a configuration file class.
+     */
+    ConfigFile();
+
+    /**
+     * Destroy a configuration file class.
+     */
+    ~ConfigFile();
+
+    /**
+     * Get a value for a key.
+     *
+     * @param key A target key name.
+     * @param value A pointer to a value storage.
+     * @param siz A size of a value storage.
+     * @return A value or NULL.
+     */
+    bool getValue(char *key, char *value, size_t siz);
+
+    /**
+     * Set a set of a key and value.
+     *
+     * @param key A key.
+     * @param value A value.
+     *
+     * @return True if it succeed.
+     */
+    bool setValue(char *key, char *value);
+
+    /**
+     * Remove a config.
+     *
+     * @param key A key.
+     *
+     * @return True if it succeed.
+     */
+    bool remove(char *key);
+
+    /**
+     * Remove all config.
+     *
+     * @return True if it succeed.
+     */
+    bool removeAll(void);
+
+    /**
+     * Get a number of configuration sets.
+     *
+     * @return number of configuration sets.
+     */
+    int getCount();
+
+    /**
+     * Get a key and a value.
+     *
+     * @param index Index number of this list.
+     * @param key A pointer to a buffer for key.
+     * @param keybufsiz A size of the key buffer.
+     * @param value A pointer to a buffer for value.
+     * @param valuebufsiz A size of the value buffer.
+     *
+     * @return true if it succeed.
+     */
+    bool getKeyAndValue(int index, char *key, size_t keybufsiz, char *value, size_t valuebufsiz);
+
+    /**
+     * Read from the target file.
+     *
+     * @param file A target file name.
+     */
+    bool read(char *file);
+
+    typedef enum {
+        UNIX,
+        MAC,
+        DOS
+    } FileFormat;
+
+    /**
+     * Write from the target file.
+     *
+     * @param file A pointer to a file name.
+     * @param header A pointer to a header.
+     * @param ff File format.
+     */
+    bool write(char *file, char *header = NULL, FileFormat ff = UNIX);
+
+private:
+    typedef struct {
+        char *key;
+        char *value;
+    } config_t;
+    config_t **configlist;
+    static const int MAXCONFIG = 64;
+    static const int MAXLEN_KEY = 64;
+    static const int MAXLEN_VALUE = 128;
+    static const char SEPARATOR = '=';
+
+    config_t *search(char *key);
+    bool add(config_t *cfg);
+};
+
+#endif