return this->wmgr.init();
}
-int _binding_init()
+static int _binding_init()
{
HMI_NOTICE("WinMan ver. %s", WINMAN_VERSION_STRING);
return -1;
}
-int binding_init() noexcept
+static int binding_init (afb_api_t api) noexcept
{
try
{
delete ctxt;
}
-static void createSecurityContext(afb_req req, const char* appid, const char* role)
+static void createSecurityContext(afb_req_t req, const char* appid, const char* role)
{
WMClientCtxt *ctxt = (WMClientCtxt *)afb_req_context_get(req);
if (!ctxt)
}
}
-void windowmanager_requestsurface(afb_req req) noexcept
+void windowmanager_requestsurface(afb_req_t req) noexcept
{
std::lock_guard<std::mutex> guard(binding_m);
if (g_afb_instance == nullptr)
}
}
-void windowmanager_requestsurfacexdg(afb_req req) noexcept
+void windowmanager_requestsurfacexdg(afb_req_t req) noexcept
{
std::lock_guard<std::mutex> guard(binding_m);
if (g_afb_instance == nullptr)
}
}
-void windowmanager_activatewindow(afb_req req) noexcept
+void windowmanager_activatewindow(afb_req_t req) noexcept
{
std::lock_guard<std::mutex> guard(binding_m);
if (g_afb_instance == nullptr)
}
}
-void windowmanager_deactivatewindow(afb_req req) noexcept
+void windowmanager_deactivatewindow(afb_req_t req) noexcept
{
std::lock_guard<std::mutex> guard(binding_m);
if (g_afb_instance == nullptr)
}
}
-void windowmanager_enddraw(afb_req req) noexcept
+void windowmanager_enddraw(afb_req_t req) noexcept
{
std::lock_guard<std::mutex> guard(binding_m);
if (g_afb_instance == nullptr)
}
}
-void windowmanager_getdisplayinfo_thunk(afb_req req) noexcept
+void windowmanager_getdisplayinfo_thunk(afb_req_t req) noexcept
{
std::lock_guard<std::mutex> guard(binding_m);
if (g_afb_instance == nullptr)
}
}
-void windowmanager_getareainfo_thunk(afb_req req) noexcept
+void windowmanager_getareainfo_thunk(afb_req_t req) noexcept
{
std::lock_guard<std::mutex> guard(binding_m);
if (g_afb_instance == nullptr)
}
}
-void windowmanager_wm_subscribe(afb_req req) noexcept
+void windowmanager_wm_subscribe(afb_req_t req) noexcept
{
std::lock_guard<std::mutex> guard(binding_m);
if (g_afb_instance == nullptr)
}
}
-void windowmanager_ping(afb_req req) noexcept
+void windowmanager_ping(afb_req_t req) noexcept
{
std::lock_guard<std::mutex> guard(binding_m);
}
}
-void windowmanager_debug_terminate(afb_req req) noexcept
+void windowmanager_debug_terminate(afb_req_t req) noexcept
{
std::lock_guard<std::mutex> guard(binding_m);
if (g_afb_instance == nullptr)
}
}
-const struct afb_verb_v2 windowmanager_verbs[] = {
- {"requestSurface", windowmanager_requestsurface, nullptr, nullptr, AFB_SESSION_NONE},
- {"requestSurfaceXDG", windowmanager_requestsurfacexdg, nullptr, nullptr, AFB_SESSION_NONE},
- {"activateWindow", windowmanager_activatewindow, nullptr, nullptr, AFB_SESSION_NONE},
- {"deactivateWindow", windowmanager_deactivatewindow, nullptr, nullptr, AFB_SESSION_NONE},
- {"endDraw", windowmanager_enddraw, nullptr, nullptr, AFB_SESSION_NONE},
- {"getDisplayInfo", windowmanager_getdisplayinfo_thunk, nullptr, nullptr, AFB_SESSION_NONE},
- {"getAreaInfo", windowmanager_getareainfo_thunk, nullptr, nullptr, AFB_SESSION_NONE},
- {"wm_subscribe", windowmanager_wm_subscribe, nullptr, nullptr, AFB_SESSION_NONE},
- {"ping", windowmanager_ping, nullptr, nullptr, AFB_SESSION_NONE},
- {"debug_terminate", windowmanager_debug_terminate, nullptr, nullptr, AFB_SESSION_NONE},
- {}};
-
-extern "C" const struct afb_binding_v2 afbBindingV2 = {
- "windowmanager", nullptr, nullptr, windowmanager_verbs, nullptr, binding_init, nullptr, 0};
+const afb_verb_t windowmanager_verbs[] = {
+ { .verb = "requestSurface", .callback = windowmanager_requestsurface },
+ { .verb = "requestSurfaceXDG", .callback = windowmanager_requestsurfacexdg },
+ { .verb = "activateWindow", .callback = windowmanager_activatewindow },
+ { .verb = "deactivateWindow", .callback = windowmanager_deactivatewindow },
+ { .verb = "endDraw", .callback = windowmanager_enddraw },
+ { .verb = "getDisplayInfo", .callback = windowmanager_getdisplayinfo_thunk },
+ { .verb = "getAreaInfo", .callback = windowmanager_getareainfo_thunk },
+ { .verb = "wm_subscribe", .callback = windowmanager_wm_subscribe },
+ { .verb = "ping", .callback = windowmanager_ping },
+ { .verb = "debug_terminate", .callback = windowmanager_debug_terminate },
+ {} };
+
+extern "C" const afb_binding_t afbBindingExport = {
+ .api = "windowmanager",
+ .specification = "windowmanager",
+ .info = "windowmanager",
+ .verbs = windowmanager_verbs,
+ .preinit = nullptr,
+ .init = binding_init,
+ .onevent = nullptr,
+ .userdata = nullptr,
+ .provide_class = nullptr,
+ .require_class = nullptr,
+ .require_api = nullptr,
+ .noconcurrency = 0
+};
// Make afb event
for (int i = Event_Val_Min; i <= Event_Val_Max; i++)
{
- map_afb_event[kListEventName[i]] = afb_daemon_make_event(kListEventName[i].c_str());
+ map_afb_event[kListEventName[i]] = afb_api_make_event(afbBindingV3root, kListEventName[i].c_str());
}
const struct rect css_bg = this->lc->getAreaSize("fullscreen");
}
}
-int WindowManager::api_subscribe(afb_req req, int event_id)
+int WindowManager::api_subscribe(afb_req_t req, int event_id)
{
- struct afb_event event = this->map_afb_event[kListEventName[event_id]];
+ afb_event_t event = this->map_afb_event[kListEventName[event_id]];
return afb_req_subscribe(req, event);
}
HMI_SEQ_DEBUG(req_num, "emit screen updated");
bool found = false;
auto actions = g_app_list.getActions(req_num, &found);
+ if (!found)
+ {
+ HMI_SEQ_ERROR(req_num,
+ "Window Manager bug :%s : Action is not set",
+ errorDescription(WMError::NO_ENTRY));
+ return;
+ }
// create json object
json_object *j = json_object_new_object();
if (g_timer_ev_src == nullptr)
{
// firsttime set into sd_event
- int ret = sd_event_add_time(afb_daemon_get_event_loop(), &g_timer_ev_src,
+ int ret = sd_event_add_time(afb_api_get_event_loop(afbBindingV3root), &g_timer_ev_src,
CLOCK_BOOTTIME, (uint64_t)(ts.tv_sec + kTimeOut) * 1000000ULL, 1, processTimerHandler, this);
if (ret < 0)
{