// // Created by mfritzsc on 7/11/17. // #include "app.hpp" #include "util.hpp" #include "json_helper.hpp" #include "wayland.hpp" #include namespace wm { App::App() : api{this}, display{}, controller{} {} binding_api::result_type binding_api::register_surface(uint32_t appid, uint32_t surfid) { logdebug("%s appid %u surfid %u", __func__, appid, surfid); if (appid > 0xff) { return Err("invalid appid"); } if (surfid > 0xffff) { return Err("invalid surfaceid"); } return Ok(json_object_new_int((appid << 16) + surfid)); } binding_api::result_type binding_api::debug_layers() { logdebug("%s", __func__); return Ok(to_json(this->app->controller->lprops)); } binding_api::result_type binding_api::debug_surfaces() { logdebug("%s", __func__); return Ok(to_json(this->app->controller->sprops)); } binding_api::result_type binding_api::debug_status() { logdebug("%s", __func__); json_object *jr = json_object_new_object(); json_object_object_add(jr, "surfaces", to_json(this->app->controller->sprops)); json_object_object_add(jr, "layers", to_json(this->app->controller->lprops)); return Ok(jr); } } // namespace wm