#include <systemd/sd-event.h>
extern "C"
{
-#include <afb/afb-binding.h>
#include <afb/afb-wsj1.h>
#include <afb/afb-ws-client.h>
}
LibHomeScreen();
~LibHomeScreen();
- LibHomeScreen(const LibHomeScreen &) = delete;
- LibHomeScreen &operator=(const LibHomeScreen &) = delete;
+ LibHomeScreen(const LibHomeScreen &) = delete;
+ LibHomeScreen &operator=(const LibHomeScreen &) = delete;
- using handler_func = std::function<void(const char*)>;
+ using handler_func = std::function<void(json_object*)>;
- enum EventType {
- Event_TapShortcut = 1,
- Event_OnScreenMessage
- };
+ enum EventType {
+ Event_TapShortcut = 1,
+ Event_OnScreenMessage,
+ Event_OnScreenReply
+ };
- static const std::vector<std::string> api_list;
- static const std::vector<std::string> event_list;
+ static const std::vector<std::string> api_list;
+ static const std::vector<std::string> event_list;
/* Method */
- int init(const int port, const std::string& token);
+ int init(const int port, const std::string& token);
- int tapShortcut(const char* application_name);
- int onScreenMessage(const char* display_message);
+ int tapShortcut(const char* application_id);
+ int onScreenMessage(const char* display_message);
+ int onScreenReply(const char* reply_message);
- void set_event_handler(enum EventType et, handler_func f);
+ void set_event_handler(enum EventType et, handler_func f);
void registerCallback(
void (*event_cb)(const std::string& event, struct json_object* event_contents),
private:
int initialize_websocket();
- int runEventloop();
-
+
void (*onEvent)(const std::string& event, struct json_object* event_contents);
void (*onReply)(struct json_object* reply);
void (*onHangup)(void);
int mport = 2000;
std::string mtoken = "hs";
- std::map<EventType, handler_func> handlers;
+ std::map<EventType, handler_func> handlers;
public:
/* Don't use/ Internal only */