diff options
author | Robin Krahl <me@robin-krahl.de> | 2016-03-08 04:43:39 +0100 |
---|---|---|
committer | Robin Krahl <me@robin-krahl.de> | 2016-03-08 04:43:39 +0100 |
commit | 1648e81474b552ba499102e13f9f3ed863501757 (patch) | |
tree | 5bab6daabf8ee746efd9fbab3cdfabc6c498cfcc /dbfp.h | |
parent | 745c643c2f900c8efeb0ac0a8ea3a519b3a790ac (diff) | |
download | dbfp-1648e81474b552ba499102e13f9f3ed863501757.tar.gz dbfp-1648e81474b552ba499102e13f9f3ed863501757.tar.bz2 |
add rudimentary location support
The function dbfp_query_location_name performs the location.name query
and returns a list of all stations that match the search term. The
implementation has two flaws: there is no URL encoding, and
malformatted query results will not lead to a meaningful error message.
There are two new test cases: basic tests some basic functionality, as
setting the API key and accessing the API. location adds a simple test
for the location.name query.
Diffstat (limited to 'dbfp.h')
-rw-r--r-- | dbfp.h | 18 |
1 files changed, 17 insertions, 1 deletions
@@ -7,13 +7,29 @@ #ifndef DBFP_H_ #define DBFP_H_ -#define DBFP_BASE_URL "http://open-api.bahn.de/bin/rest.exe" +#include <stddef.h> struct dbfp { char *key; }; +struct dbfp_status { + int error; + int run_error; + int parse_error; + int curl_error; + int api_error; +}; + +struct dbfp_location { + char *name; + char *id; +}; + int dbfp_init(struct dbfp *dbfp, char *key); void dbfp_close(struct dbfp *dbfp); +struct dbfp_status dbfp_query_location_name(struct dbfp *dbfp, char *input, + size_t *n, struct dbfp_location **out); + #endif /* DBFP_H_ */ |