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

Committer:
shintamainjp
Date:
Mon Aug 06 12:37:59 2012 +0000
Revision:
0:521ba375aa0f
Pachube renamed to Cosm.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
shintamainjp 0:521ba375aa0f 1 /**
shintamainjp 0:521ba375aa0f 2 * Pachube API interface driver. (Version 0.0.1)
shintamainjp 0:521ba375aa0f 3 *
shintamainjp 0:521ba375aa0f 4 * Copyright (C) 2010 Shinichiro Nakamura (CuBeatSystems)
shintamainjp 0:521ba375aa0f 5 * http://shinta.main.jp/
shintamainjp 0:521ba375aa0f 6 */
shintamainjp 0:521ba375aa0f 7
shintamainjp 0:521ba375aa0f 8 #ifndef _PACHUBE_V2_CSV_H_
shintamainjp 0:521ba375aa0f 9 #define _PACHUBE_V2_CSV_H_
shintamainjp 0:521ba375aa0f 10
shintamainjp 0:521ba375aa0f 11 #include "Pachube.h"
shintamainjp 0:521ba375aa0f 12
shintamainjp 0:521ba375aa0f 13 class PachubeV2CSV : public Pachube {
shintamainjp 0:521ba375aa0f 14 public:
shintamainjp 0:521ba375aa0f 15
shintamainjp 0:521ba375aa0f 16 explicit PachubeV2CSV(std::string APIKEY);
shintamainjp 0:521ba375aa0f 17
shintamainjp 0:521ba375aa0f 18 virtual ~PachubeV2CSV();
shintamainjp 0:521ba375aa0f 19
shintamainjp 0:521ba375aa0f 20 /*
shintamainjp 0:521ba375aa0f 21 * =================================================================
shintamainjp 0:521ba375aa0f 22 * Environments (feeds)
shintamainjp 0:521ba375aa0f 23 * =================================================================
shintamainjp 0:521ba375aa0f 24 */
shintamainjp 0:521ba375aa0f 25
shintamainjp 0:521ba375aa0f 26 /**
shintamainjp 0:521ba375aa0f 27 * List all available feeds: GET /v2/feeds
shintamainjp 0:521ba375aa0f 28 *
shintamainjp 0:521ba375aa0f 29 * @param page Integer indicating which page of results you are requesting.
shintamainjp 0:521ba375aa0f 30 * @param per_page Integer defining how many results to return per page (1 to 1000).
shintamainjp 0:521ba375aa0f 31 * @param content String parameter ('full' or 'summary') describing whether we want full or summary results. Full results means all datastream values are returned, summary just returns the environment meta data for each feed.
shintamainjp 0:521ba375aa0f 32 * @param q Full text search parameter. Should return any feeds matching this string.
shintamainjp 0:521ba375aa0f 33 * @param tag Returns feeds containing datastreams tagged with the search query.
shintamainjp 0:521ba375aa0f 34 * @param user Returns feeds created by the user specified.
shintamainjp 0:521ba375aa0f 35 * @param units Returns feeds containing datastreams with units specified by the search query.
shintamainjp 0:521ba375aa0f 36 * @param status Possible values ('live', 'frozen', or 'all'). Whether to search for only live feeds, only frozen feeds, or all feeds. Defaults to all.
shintamainjp 0:521ba375aa0f 37 * @param order Order of returned feeds. Possible values ('created_at', 'retrieved_at', or 'relevance').
shintamainjp 0:521ba375aa0f 38 */
shintamainjp 0:521ba375aa0f 39 virtual int listAllAvailableFeeds(
shintamainjp 0:521ba375aa0f 40 int page,
shintamainjp 0:521ba375aa0f 41 int per_page,
shintamainjp 0:521ba375aa0f 42 std::string content,
shintamainjp 0:521ba375aa0f 43 std::string q,
shintamainjp 0:521ba375aa0f 44 std::string tag,
shintamainjp 0:521ba375aa0f 45 std::string user,
shintamainjp 0:521ba375aa0f 46 std::string units,
shintamainjp 0:521ba375aa0f 47 std::string status,
shintamainjp 0:521ba375aa0f 48 std::string order,
shintamainjp 0:521ba375aa0f 49 std::string &datatext);
shintamainjp 0:521ba375aa0f 50
shintamainjp 0:521ba375aa0f 51 /**
shintamainjp 0:521ba375aa0f 52 * Create new feed: POST /v2/feeds
shintamainjp 0:521ba375aa0f 53 */
shintamainjp 0:521ba375aa0f 54 virtual int createNewFeed(void);
shintamainjp 0:521ba375aa0f 55
shintamainjp 0:521ba375aa0f 56 /**
shintamainjp 0:521ba375aa0f 57 * Read feed: GET /v2/feeds/<feed_id>
shintamainjp 0:521ba375aa0f 58 */
shintamainjp 0:521ba375aa0f 59 virtual int readFeed(int feed_id, std::string &datatext);
shintamainjp 0:521ba375aa0f 60
shintamainjp 0:521ba375aa0f 61 /**
shintamainjp 0:521ba375aa0f 62 * Update feed: PUT /v2/feeds/<feed_id>
shintamainjp 0:521ba375aa0f 63 */
shintamainjp 0:521ba375aa0f 64 virtual int updateFeed(int feed_id);
shintamainjp 0:521ba375aa0f 65
shintamainjp 0:521ba375aa0f 66 /**
shintamainjp 0:521ba375aa0f 67 * Delete feed: DELETE /v2/feeds/<feed_id>
shintamainjp 0:521ba375aa0f 68 */
shintamainjp 0:521ba375aa0f 69 virtual int deleteFeed(int feed_id);
shintamainjp 0:521ba375aa0f 70
shintamainjp 0:521ba375aa0f 71 /*
shintamainjp 0:521ba375aa0f 72 * =================================================================
shintamainjp 0:521ba375aa0f 73 * Datastreams
shintamainjp 0:521ba375aa0f 74 * =================================================================
shintamainjp 0:521ba375aa0f 75 */
shintamainjp 0:521ba375aa0f 76
shintamainjp 0:521ba375aa0f 77 /**
shintamainjp 0:521ba375aa0f 78 * Create new datastream: POST /v2/feeds/<feed_id>/datastreams
shintamainjp 0:521ba375aa0f 79 *
shintamainjp 0:521ba375aa0f 80 * @param feed_id Feed ID.
shintamainjp 0:521ba375aa0f 81 * @param stream_id Stream ID text.
shintamainjp 0:521ba375aa0f 82 * @param value value.
shintamainjp 0:521ba375aa0f 83 *
shintamainjp 0:521ba375aa0f 84 * @return Return code from a web server.
shintamainjp 0:521ba375aa0f 85 */
shintamainjp 0:521ba375aa0f 86 virtual int createNewDataStream(int feed_id, std::string stream_id, std::string value);
shintamainjp 0:521ba375aa0f 87
shintamainjp 0:521ba375aa0f 88 /**
shintamainjp 0:521ba375aa0f 89 * Read datastream - GET /v2/feeds/<feed_id>/datastreams/<datastream_id>
shintamainjp 0:521ba375aa0f 90 *
shintamainjp 0:521ba375aa0f 91 * @param feed_id Feed ID.
shintamainjp 0:521ba375aa0f 92 * @param stream_id Stream ID text.
shintamainjp 0:521ba375aa0f 93 *
shintamainjp 0:521ba375aa0f 94 * @return Return code from a web server.
shintamainjp 0:521ba375aa0f 95 */
shintamainjp 0:521ba375aa0f 96 virtual int readDataStream(int feed_id, std::string stream_id, std::string &datatext);
shintamainjp 0:521ba375aa0f 97
shintamainjp 0:521ba375aa0f 98 /**
shintamainjp 0:521ba375aa0f 99 * Update datastream: PUT /v2/feeds/<feed_id>/datastreams/<datastream_id>
shintamainjp 0:521ba375aa0f 100 *
shintamainjp 0:521ba375aa0f 101 * @param feed_id Feed ID.
shintamainjp 0:521ba375aa0f 102 * @param stream_id Stream ID text.
shintamainjp 0:521ba375aa0f 103 * @param value value.
shintamainjp 0:521ba375aa0f 104 *
shintamainjp 0:521ba375aa0f 105 * @return Return code from a web server.
shintamainjp 0:521ba375aa0f 106 */
shintamainjp 0:521ba375aa0f 107 virtual int updateDataStream(int feed_id, std::string stream_id, std::string value);
shintamainjp 0:521ba375aa0f 108
shintamainjp 0:521ba375aa0f 109 /**
shintamainjp 0:521ba375aa0f 110 * Delete datastream: DELETE /v2/feeds/<feed_id>/datastreams/<datastream_id>
shintamainjp 0:521ba375aa0f 111 *
shintamainjp 0:521ba375aa0f 112 * @param feed_id Feed ID.
shintamainjp 0:521ba375aa0f 113 * @param stream_id Stream ID text.
shintamainjp 0:521ba375aa0f 114 *
shintamainjp 0:521ba375aa0f 115 * @return Return code from a web server.
shintamainjp 0:521ba375aa0f 116 */
shintamainjp 0:521ba375aa0f 117 virtual int deleteDataStream(int feed_id, std::string stream_id);
shintamainjp 0:521ba375aa0f 118
shintamainjp 0:521ba375aa0f 119 };
shintamainjp 0:521ba375aa0f 120
shintamainjp 0:521ba375aa0f 121 #endif