http://http://diytec.web.fc2.com/mark2r2/

Dependencies:   EthernetNetIf NTPClient_NetServices mbed ConfigFile

Committer:
mark2r2
Date:
Tue Sep 20 12:46:26 2011 +0000
Revision:
0:08a4d61cd84c
V1.0

Who changed what in which revision?

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