libwolfram20
WAEngine.h
Go to the documentation of this file.
1
12
21#ifndef WAENGINE_H
22#define WAENGINE_H
23
24#include <iostream>
25#include <cstdlib>
26#include <string>
27#include <curl/curl.h> // download website contents
28
29#include <rapidxml/rapidxml_utils.hpp>
30
31#include "WAResult.h"
32#include "WAQuery.h"
33
37class WAEngine {
38public:
39 WAEngine(std::string appID, std::string server = "api.wolframalpha.com", std::string path = "/v2/query");
40
41 std::string getURL(std::string input);
42 WAResult getResult(std::string inputData);
43
44 void setTimeout(unsigned int timeout);
45
46 static bool DownloadURL(std::string url, std::string *readBuffer);
47
49
50private:
51 std::string server;
52 std::string path;
53 std::string appID;
54};
55
56#endif // WAENGINE_H
API query petition manager.
Wolfram API result.
std::string getURL(std::string input)
Returns a URL for HTTP request, using the internal WAQuery object.
Definition: WAEngine.cpp:31
WAEngine(std::string appID, std::string server="api.wolframalpha.com", std::string path="/v2/query")
Constructor with another config.
Definition: WAEngine.cpp:19
static bool DownloadURL(std::string url, std::string *readBuffer)
Given an url it downloads its HTML contents.
Definition: WAEngine.cpp:83
void setTimeout(unsigned int timeout)
It sets the max search time.
Definition: WAEngine.cpp:55
WAResult getResult(std::string inputData)
Parsing data from a external array of char.
Definition: WAEngine.cpp:42
Wolfram API access point.
Definition: WAEngine.h:37
std::string appID
Config of WolframAlpha address.
Definition: WAEngine.h:53
std::string path
Config of WolframAlpha address.
Definition: WAEngine.h:52
WAQuery query
Query to make the request.
Definition: WAEngine.h:48
std::string server
Config of WolframAlpha address.
Definition: WAEngine.h:51
API query petition manager.
Definition: WAQuery.h:36
Wolfram API result.
Definition: WAResult.h:36