Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: EthernetNetIf NTPClient_NetServices mbed ConfigFile
Pachube.h
00001 /******************************************************************************* 00002 modify 00003 2011/08 00004 - Use commonClient. 00005 00006 *******************************************************************************/ 00007 00008 /** 00009 * Pachube API interface driver. (Version 0.0.1) 00010 * 00011 * Copyright (C) 2010 Shinichiro Nakamura (CuBeatSystems) 00012 * http://shinta.main.jp/ 00013 */ 00014 00015 #ifndef _PACHUBE_H_ 00016 #define _PACHUBE_H_ 00017 00018 #include <string> 00019 #include "HTTPClient.h" 00020 00021 class Pachube { 00022 public: 00023 00024 explicit Pachube(std::string APIKEY); 00025 00026 virtual ~Pachube(); 00027 00028 /* 00029 * ================================================================= 00030 * Environments (feeds) 00031 * ================================================================= 00032 */ 00033 00034 /** 00035 * List all available feeds: GET /v2/feeds 00036 * 00037 * @param page Integer indicating which page of results you are requesting. 00038 * @param per_page Integer defining how many results to return per page (1 to 1000). 00039 * @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. 00040 * @param q Full text search parameter. Should return any feeds matching this string. 00041 * @param tag Returns feeds containing datastreams tagged with the search query. 00042 * @param user Returns feeds created by the user specified. 00043 * @param units Returns feeds containing datastreams with units specified by the search query. 00044 * @param status Possible values ('live', 'frozen', or 'all'). Whether to search for only live feeds, only frozen feeds, or all feeds. Defaults to all. 00045 * @param order Order of returned feeds. Possible values ('created_at', 'retrieved_at', or 'relevance'). 00046 */ 00047 virtual int listAllAvailableFeeds( 00048 int page, 00049 int per_page, 00050 std::string content, 00051 std::string q, 00052 std::string tag, 00053 std::string user, 00054 std::string units, 00055 std::string status, 00056 std::string order, 00057 std::string &datatext) = 0; 00058 00059 /** 00060 * Create new feed: POST /v2/feeds 00061 */ 00062 virtual int createNewFeed(void) = 0; 00063 00064 /** 00065 * Read feed: GET /v2/feeds/<feed_id> 00066 */ 00067 virtual int readFeed(int feed_id, std::string &datatext) = 0; 00068 00069 /** 00070 * Update feed: PUT /v2/feeds/<feed_id> 00071 */ 00072 virtual int updateFeed(int feed_id) = 0; 00073 00074 /** 00075 * Delete feed: DELETE /v2/feeds/<feed_id> 00076 */ 00077 virtual int deleteFeed(int feed_id) = 0; 00078 00079 /* 00080 * ================================================================= 00081 * Datastreams 00082 * ================================================================= 00083 */ 00084 00085 /** 00086 * Create new datastream: POST /v2/feeds/<feed_id>/datastreams 00087 * 00088 * @param feed_id Feed ID. 00089 * @param stream_id Stream ID text. 00090 * @param value value. 00091 * 00092 * @return Return code from a web server. 00093 */ 00094 virtual int createNewDataStream(int feed_id, std::string stream_id, std::string value) = 0; 00095 00096 /** 00097 * Read datastream - GET /v2/feeds/<feed_id>/datastreams/<datastream_id> 00098 * 00099 * @param feed_id Feed ID. 00100 * @param stream_id Stream ID text. 00101 * 00102 * @return Return code from a web server. 00103 */ 00104 virtual int readDataStream(int feed_id, std::string stream_id, std::string &datatext) = 0; 00105 00106 /** 00107 * Update datastream: PUT /v2/feeds/<feed_id>/datastreams/<datastream_id> 00108 * 00109 * @param feed_id Feed ID. 00110 * @param stream_id Stream ID text. 00111 * @param value value. 00112 * 00113 * @return Return code from a web server. 00114 */ 00115 // virtual int updateDataStream(int feed_id, std::string stream_id, std::string value) = 0; 00116 virtual int updateDataStream(int feed_id, std::string stream_id, std::string value, HTTPClient *pClient) = 0; // 2011/08 00117 00118 /** 00119 * Delete datastream: DELETE /v2/feeds/<feed_id>/datastreams/<datastream_id> 00120 * 00121 * @param feed_id Feed ID. 00122 * @param stream_id Stream ID text. 00123 * 00124 * @return Return code from a web server. 00125 */ 00126 virtual int deleteDataStream(int feed_id, std::string stream_id) = 0; 00127 00128 protected: 00129 const std::string APIKEY; 00130 static const std::string REQUESTHEADER; 00131 static const std::string URLBASE_V2; 00132 }; 00133 00134 #endif 00135 00136 /* 00137 Pachube v2 API Documentation 00138 http://api.pachube.com/v2/ 00139 00140 # Environments (feeds) 00141 00142 o * List all available feeds: GET /v2/feeds 00143 o * Create new feed: POST /v2/feeds 00144 o * Read feed: GET /v2/feeds/<feed_id> 00145 o * Update feed: PUT /v2/feeds/<feed_id> 00146 o * Delete feed: DELETE /v2/feeds/<feed_id> 00147 00148 # Datastreams 00149 00150 o * Create new datastream: POST /v2/feeds/<feed_id>/datastreams 00151 o * Read datastream - GET /v2/feeds/<feed_id>/datastreams/<datastream_id> 00152 o * Update datastream: PUT /v2/feeds/<feed_id>/datastreams/<datastream_id> 00153 o * Delete datastream: DELETE /v2/feeds/<feed_id>/datastreams/<datastream_id> 00154 00155 # Datapoints 00156 00157 * Create datapoint: POST /v2/feeds/<feed_id>/datastreams/<datastream_id>/datapoints 00158 * Read datapoint: GET /v2/feeds/<feed_id>/datastreams/<datastream_id>/datapoints/<timestamp> 00159 * Update datapoint: PUT /v2/feeds/<feed_id>/datastreams/<datastream_id>/datapoints/<timestamp> 00160 * Delete datapoint: DELETE /v2/feeds/<feed_id>/datastreams/<datastream_id>/datapoints/<timestamp> 00161 00162 # Triggers 00163 00164 * List triggers: GET /v2/triggers 00165 * Create trigger: POST /v2/triggers 00166 * Read trigger: GET /v2/triggers/<trigger_id> 00167 * Update trigger: PUT /v2/triggers/<trigger_id> 00168 * Delete trigger: DELETE /v2/triggers/<trigger_id> 00169 00170 # Users 00171 00172 * List all users: GET /v2/users 00173 * Create user: POST /v2/users 00174 * Read user: GET /v2/users/<user_id> 00175 * Update user: PUT /v2/users/<user_id> 00176 * Delete user: DELETE /v2/users/<user_id> 00177 */
Generated on Tue Jul 12 2022 10:57:43 by
1.7.2