#include "hs-appinfo.h"
#include "hs-config.h"
#include "hs-apprecover.h"
-
+#include "hs-vuiadapter.h"
const char _error[] = "error";
struct hs_instance {
HS_ClientManager *client_manager; // the connection session manager
HS_AppInfo *app_info; // application info
- HS_AppRecover *app_recover;
+ HS_AppRecover *app_recover; // application recover
+ HS_VuiAdapter * vui_adapter; // vui function adapter
- hs_instance() : client_manager(HS_ClientManager::instance()), app_info(HS_AppInfo::instance()), app_recover(HS_AppRecover::instance()) {}
+ hs_instance() : client_manager(HS_ClientManager::instance()), app_info(HS_AppInfo::instance()), app_recover(HS_AppRecover::instance()), vui_adapter(HS_VuiAdapter::instance()) {}
int init(afb_api_t api);
void setEventHook(const char *event, const event_hook_func f);
void onEvent(afb_api_t api, const char *event, struct json_object *object);
return -1;
}
+ if(vui_adapter == nullptr) {
+ AFB_ERROR("vui_adapter is nullptr.");
+ }
+ vui_adapter->init(api);
+
return 0;
}
*/
void hs_instance::setEventHook(const char *event, const event_hook_func f)
{
+ AFB_INFO("hook event %s", event);
if(event == nullptr || f == nullptr) {
AFB_WARNING("argument is null.");
return;
break;
}
}
+ else {
+ AFB_INFO("don't find hook event %s", event);
+ }
}
/**
*/
static void tap_shortcut (afb_req_t request)
{
- AFB_DEBUG("called.");
int ret = 0;
const char* value = afb_req_value(request, _application_id);
if (value) {
*/
static void on_screen_message (afb_req_t request)
{
- AFB_DEBUG("called.");
int ret = g_hs_instance->client_manager->handleRequest(request, __FUNCTION__);
if (ret) {
afb_req_fail_f(request, "failed", "called %s, Unknown parameter", __FUNCTION__);
*/
static void on_screen_reply (afb_req_t request)
{
- AFB_DEBUG("called.");
int ret = g_hs_instance->client_manager->handleRequest(request, __FUNCTION__);
if (ret) {
afb_req_fail_f(request, "failed", "called %s, Unknown parameter", __FUNCTION__);
*/
static void subscribe(afb_req_t request)
{
- AFB_DEBUG("called.");
int ret = 0;
std::string req_appid = std::move(get_application_id(request));
if(!req_appid.empty()) {
*/
static void unsubscribe(afb_req_t request)
{
- AFB_DEBUG("called.");
int ret = 0;
std::string req_appid = std::move(get_application_id(request));
if(!req_appid.empty()) {
*/
static void showWindow(afb_req_t request)
{
- AFB_DEBUG("called.");
int ret = 0;
const char* value = afb_req_value(request, _application_id);
if (value) {
*/
static void hideWindow(afb_req_t request)
{
- AFB_DEBUG("called.");
int ret = 0;
const char* value = afb_req_value(request, _application_id);
if (value) {
*/
static void replyShowWindow(afb_req_t request)
{
- AFB_DEBUG("called.");
int ret = 0;
const char* value = afb_req_value(request, _application_id);
if (value) {
*/
static void showNotification(afb_req_t request)
{
- AFB_DEBUG("called.");
int ret = g_hs_instance->client_manager->handleRequest(request, __FUNCTION__, "homescreen");
if (ret) {
afb_req_fail_f(request, "failed", "called %s, Unknown parameter", __FUNCTION__);
*/
static void showInformation(afb_req_t request)
{
- AFB_DEBUG("called.");
int ret = g_hs_instance->client_manager->handleRequest(request, __FUNCTION__, "homescreen");
if (ret) {
afb_req_fail_f(request, "failed", "called %s, Unknown parameter", __FUNCTION__);
*/
static void getRunnables(afb_req_t request)
{
- AFB_DEBUG("called.");
struct json_object* j_runnable = json_object_new_array();
g_hs_instance->app_info->getRunnables(&j_runnable);
{ .verb="unsubscribe", .callback=unsubscribe },
{ .verb="showNotification", .callback=showNotification },
{ .verb="showInformation", .callback=showInformation },
- { .verb="registerShortcut", .callback=registerShortcut },
{ .verb="getRunnables", .callback=getRunnables },
+ { .verb="registerShortcut", .callback=registerShortcut },
{ .verb="updateShortcut", .callback=updateShortcut },
{NULL } /* marker for end of the array */
};
delete g_hs_instance->client_manager;
delete g_hs_instance->app_info;
delete g_hs_instance->app_recover;
+ delete g_hs_instance->vui_adapter;
delete g_hs_instance;
g_hs_instance = nullptr;
}
g_hs_instance = new hs_instance();
if(g_hs_instance == nullptr) {
- AFB_ERROR( "Fatal Error: new g_hs_instance failed.");
+ AFB_ERROR( "new g_hs_instance failed.");
return -1;
}
*/
static void onevent(afb_api_t api, const char *event, struct json_object *object)
{
- AFB_INFO("on_event %s", event);
+ AFB_INFO("on_event %s, object %s", event, json_object_to_json_string(object));
g_hs_instance->onEvent(api, event, object);
}