#include "kds_s2000w_handler.h"
#include "kds_s2000w_client.h"
-int64_t sessionid = 0;
+int64_t _sessionid = 0;
+
+device_state kds_s2000w_handler_open()
+{
+ device_state return_state = NOTCONNECTED;
+ CURL *curl = curl_easy_init();
+ if(!curl)
+ return NOTCONNECTED;
+
+ response* resp = kds_s2000w_client_response_init();
+ int result = kds_s2000w_client_open_session("hhaalo", resp);
+
+ if (result != 0 || resp->code == 404)
+ return_state = NOTCONNECTED;
+
+ if (resp->code == 423)
+ return_state = BUSY;
+
+ json_object* resObj = NULL;
+ if (resp->code == 200) {
+ resObj = json_tokener_parse(resp->data);
+ json_object* valueObj = NULL;
+ json_object_object_get_ex(resObj, "SessionId", &valueObj);
+ _sessionid = json_object_get_int64(valueObj);
+ valueObj = NULL;
+ return_state = OPENED;
+ }
+
+ json_object_put(resObj);
+ resObj = NULL;
+ kds_s2000w_client_response_free(resp);
+
+ return return_state;
+}
+
+void kds_s2000w_handler_close()
+{
+ if (_sessionid == 0)
+ return;
+
+ CURL *curl = curl_easy_init();
+ if(!curl)
+ return;
+
+ kds_s2000w_client_close_session(_sessionid);
+ _sessionid = 0;
+}
void kds_s2000w_handler_get_option(int option, void* value)
{
CURLU* url_handler = curl_url();
curl_url_set(url_handler, CURLUPART_URL, "http://scanner.lan.hhaalo.de/api/session", 0);
char query[75];
- sprintf(query, "SessionId=%li", sessionid);
+ sprintf(query, "SessionId=%li", _sessionid);
curl_url_set(url_handler, CURLUPART_QUERY, query, CURLU_APPENDQUERY | CURLU_URLENCODE);
char* url = NULL;
curl_url_get(url_handler, CURLUPART_URL, &url, 0);
void kds_s2000w_handler_set_option_auto(int option)
{
return;
-}
-
-device_state kds_s2000w_handler_open()
-{
- device_state return_state = NOTCONNECTED;
- CURL *curl = curl_easy_init();
- if(!curl)
- return NOTCONNECTED;
-
- response* resp = kds_s2000w_client_response_init();
- int result = kds_s2000w_client_open_session("hhaalo", resp);
-
- if (result != 0 || resp->code == 404)
- return_state = NOTCONNECTED;
-
- if (resp->code == 423)
- return_state = BUSY;
-
- json_object* resObj = NULL;
- if (resp->code == 200) {
- resObj = json_tokener_parse(resp->data);
- json_object* valueObj = NULL;
- json_object_object_get_ex(resObj, "SessionId", &valueObj);
- sessionid = json_object_get_int64(valueObj);
- valueObj = NULL;
- return_state = OPENED;
- }
-
- json_object_put(resObj);
- resObj = NULL;
- kds_s2000w_client_response_free(resp);
-
- return return_state;
-}
-
-void kds_s2000w_handler_close()
-{
- if (sessionid == 0)
- return;
-
- CURL *curl = curl_easy_init();
- if(!curl)
- return;
-
- kds_s2000w_client_close_session(sessionid);
- sessionid = 0;
}
\ No newline at end of file