29 #ifndef __TERRALIB_WS_CORE_CURLWRAPPER_H 30 #define __TERRALIB_WS_CORE_CURLWRAPPER_H 39 #include "../../common/progress/TaskProgress.h" 40 #include "../../core/uri/URI.h" 75 virtual void downloadFile(
const std::string& url,
const std::string& filePath,
te::common::TaskProgress* taskProgress = 0);
90 virtual std::string getTaskMessage()
const;
98 virtual void setTaskMessage(
const std::string& taskMessage);
106 virtual void post(
const te::core::URI& uri,
const std::string &postFields, const::std::string &header);
129 virtual void customRequest(
const te::core::URI& uri,
const std::string& request,
const std::string& body = std::string(
""), const::std::string &header = std::string(
""));
136 virtual void get(
const te::core::URI &uri, std::string& buffer);
143 virtual const long responseCode()
const;
149 virtual const std::string& response()
const;
170 virtual void setUsername(
const std::string& username);
177 virtual std::string getUsername()
const;
184 virtual void setPassword(
const std::string& password);
191 virtual void verifyURL(std::string url, uint32_t timeout)
const;
198 virtual std::vector<std::string> listFiles(
const te::core::URI& uri);
205 virtual void clean();
210 virtual void addAuthParameters();
215 virtual void setupEnvironment()
const;
220 virtual bool handleResponse(
int curlStatusCode)
const;
239 virtual std::vector<std::string> listFiles_(
const te::core::URI& uri);
241 void setOption(
int option, std::string value);
242 void setOption(
int option,
char* value);
243 void setOption(
int option,
int value);
245 std::unique_lock<std::mutex> getLock();
Configuration flags for the Terrralib WS Core module.
This class can be used to inform the progress of a task.
An abstraction to Lib Curl functions.
std::unique_ptr< Impl > m_pimpl
static CurlGlobalScope curlScope_
A class to store the proxy information that must be used to access data located in URIs...
#define TEWSCOREEXPORT
You can use this macro in order to export/import classes and functions from this module.