wl_input_method_context::handle_input_panel_event,
wl_input_method_context::handle_commit_content,
wl_input_method_context::handle_update_candidate_state,
- wl_input_method_context::handle_reshow_input_panel
+ wl_input_method_context::handle_reshow_input_panel,
+ wl_input_method_context::handle_set_floating_panel,
+ wl_input_method_context::handle_set_floating_drag_enabled
};
void wl_input_method_context::input_method_context_destroy(Resource *)
{
}
+ void wl_input_method_context::input_method_context_set_floating_panel(Resource *, uint32_t )
+ {
+ }
+
+ void wl_input_method_context::input_method_context_set_floating_drag_enabled(Resource *, uint32_t )
+ {
+ }
+
void wl_input_method_context::handle_destroy(
::wl_client *client,
r);
}
+ void wl_input_method_context::handle_set_floating_panel(
+ ::wl_client *client,
+ struct wl_resource *resource,
+ uint32_t state)
+ {
+ DS_UNUSED(client);
+ Resource *r = Resource::fromResource(resource);
+ static_cast<wl_input_method_context *>(r->input_method_context_object)->input_method_context_set_floating_panel(
+ r,
+ state);
+ }
+
+ void wl_input_method_context::handle_set_floating_drag_enabled(
+ ::wl_client *client,
+ struct wl_resource *resource,
+ uint32_t enabled)
+ {
+ DS_UNUSED(client);
+ Resource *r = Resource::fromResource(resource);
+ static_cast<wl_input_method_context *>(r->input_method_context_object)->input_method_context_set_floating_drag_enabled(
+ r,
+ enabled);
+ }
+
void wl_input_method_context::send_reset()
{
DS_ASSERT_X(m_resource, "wl_input_method_context::reset", "Uninitialised resource");
const struct ::wl_input_panel_surface_interface wl_input_panel_surface::m_wl_input_panel_surface_interface = {
wl_input_panel_surface::handle_set_toplevel,
wl_input_panel_surface::handle_set_overlay_panel,
- wl_input_panel_surface::handle_set_ready,
- wl_input_panel_surface::handle_set_floating_panel,
- wl_input_panel_surface::handle_set_floating_drag_enabled
+ wl_input_panel_surface::handle_set_ready
};
void wl_input_panel_surface::input_panel_surface_set_toplevel(Resource *, struct ::wl_resource *, uint32_t )
{
}
- void wl_input_panel_surface::input_panel_surface_set_floating_panel(Resource *, uint32_t )
- {
- }
-
- void wl_input_panel_surface::input_panel_surface_set_floating_drag_enabled(Resource *, uint32_t )
- {
- }
-
void wl_input_panel_surface::handle_set_toplevel(
::wl_client *client,
state);
}
- void wl_input_panel_surface::handle_set_floating_panel(
- ::wl_client *client,
- struct wl_resource *resource,
- uint32_t state)
- {
- DS_UNUSED(client);
- Resource *r = Resource::fromResource(resource);
- static_cast<wl_input_panel_surface *>(r->input_panel_surface_object)->input_panel_surface_set_floating_panel(
- r,
- state);
- }
-
- void wl_input_panel_surface::handle_set_floating_drag_enabled(
- ::wl_client *client,
- struct wl_resource *resource,
- uint32_t enabled)
- {
- DS_UNUSED(client);
- Resource *r = Resource::fromResource(resource);
- static_cast<wl_input_panel_surface *>(r->input_panel_surface_object)->input_panel_surface_set_floating_drag_enabled(
- r,
- enabled);
- }
-
wl_input_method_manager::wl_input_method_manager(struct ::wl_client *client, uint32_t id, int version)
: m_resource_map()
, m_resource(NULL)
virtual void input_method_context_commit_content(Resource *resource, uint32_t serial, const std::string &content, const std::string &description, const std::string &mime_types);
virtual void input_method_context_update_candidate_state(Resource *resource, uint32_t state);
virtual void input_method_context_reshow_input_panel(Resource *resource);
+ virtual void input_method_context_set_floating_panel(Resource *resource, uint32_t state);
+ virtual void input_method_context_set_floating_drag_enabled(Resource *resource, uint32_t enabled);
private:
static void bind_func(struct ::wl_client *client, void *data, uint32_t version, uint32_t id);
static void handle_reshow_input_panel(
::wl_client *client,
struct wl_resource *resource);
+ static void handle_set_floating_panel(
+ ::wl_client *client,
+ struct wl_resource *resource,
+ uint32_t state);
+ static void handle_set_floating_drag_enabled(
+ ::wl_client *client,
+ struct wl_resource *resource,
+ uint32_t enabled);
std::multimap<struct ::wl_client*, Resource*> m_resource_map;
Resource *m_resource;
virtual void input_panel_surface_set_toplevel(Resource *resource, struct ::wl_resource *output, uint32_t position);
virtual void input_panel_surface_set_overlay_panel(Resource *resource);
virtual void input_panel_surface_set_ready(Resource *resource, uint32_t state);
- virtual void input_panel_surface_set_floating_panel(Resource *resource, uint32_t state);
- virtual void input_panel_surface_set_floating_drag_enabled(Resource *resource, uint32_t enabled);
private:
static void bind_func(struct ::wl_client *client, void *data, uint32_t version, uint32_t id);
::wl_client *client,
struct wl_resource *resource,
uint32_t state);
- static void handle_set_floating_panel(
- ::wl_client *client,
- struct wl_resource *resource,
- uint32_t state);
- static void handle_set_floating_drag_enabled(
- ::wl_client *client,
- struct wl_resource *resource,
- uint32_t enabled);
std::multimap<struct ::wl_client*, Resource*> m_resource_map;
Resource *m_resource;
tizen_policy::handle_ack_conformant_region,
tizen_policy::handle_destroy,
tizen_policy::handle_has_video,
- tizen_policy::handle_set_appid
+ tizen_policy::handle_set_appid,
+ tizen_policy::handle_show,
+ tizen_policy::handle_hide
};
void tizen_policy::tizen_policy_get_visibility(Resource *, uint32_t, struct ::wl_resource *)
{
}
+ void tizen_policy::tizen_policy_show(Resource *, struct ::wl_resource *)
+ {
+ }
+
+ void tizen_policy::tizen_policy_hide(Resource *, struct ::wl_resource *)
+ {
+ }
+
void tizen_policy::handle_get_visibility(
::wl_client *client,
std::string(appid));
}
+ void tizen_policy::handle_show(
+ ::wl_client *client,
+ struct wl_resource *resource,
+ struct ::wl_resource *surface)
+ {
+ DS_UNUSED(client);
+ Resource *r = Resource::fromResource(resource);
+ static_cast<tizen_policy *>(r->tizen_policy_object)->tizen_policy_show(
+ r,
+ surface);
+ }
+
+ void tizen_policy::handle_hide(
+ ::wl_client *client,
+ struct wl_resource *resource,
+ struct ::wl_resource *surface)
+ {
+ DS_UNUSED(client);
+ Resource *r = Resource::fromResource(resource);
+ static_cast<tizen_policy *>(r->tizen_policy_object)->tizen_policy_hide(
+ r,
+ surface);
+ }
+
void tizen_policy::send_conformant(struct ::wl_resource *surface, uint32_t is_conformant)
{
DS_ASSERT_X(m_resource, "tizen_policy::conformant", "Uninitialised resource");
y);
}
+
tizen_move_resize::tizen_move_resize(struct ::wl_client *client, uint32_t id, int version)
: m_resource_map()
, m_resource(NULL)
error_state);
}
+
tizen_gesture::tizen_gesture(struct ::wl_client *client, uint32_t id, int version)
: m_resource_map()
, m_resource(NULL)
error);
}
+
tizen_keyrouter::tizen_keyrouter(struct ::wl_client *client, uint32_t id, int version)
: m_resource_map()
, m_resource(NULL)
mode);
}
+
tizen_screenshooter::tizen_screenshooter(struct ::wl_client *client, uint32_t id, int version)
: m_resource_map()
, m_resource(NULL)
noti);
}
+
tizen_screenmirror::tizen_screenmirror(struct ::wl_client *client, uint32_t id, int version)
: m_resource_map()
, m_resource(NULL)
resource);
}
+
tizen_video::tizen_video(struct ::wl_client *client, uint32_t id, int version)
: m_resource_map()
, m_resource(NULL)
format);
}
+
tizen_video_object::tizen_video_object(struct ::wl_client *client, uint32_t id, int version)
: m_resource_map()
, m_resource(NULL)
prefer_align);
}
+
tizen_subsurface_watcher::tizen_subsurface_watcher(struct ::wl_client *client, uint32_t id, int version)
: m_resource_map()
, m_resource(NULL)
value);
}
+
tizen_viewport::tizen_viewport(struct ::wl_client *client, uint32_t id, int version)
: m_resource_map()
, m_resource(NULL)
height);
}
+
tizen_destination_mode::tizen_destination_mode(struct ::wl_client *client, uint32_t id, int version)
: m_resource_map()
, m_resource(NULL)
sock_fd);
}
+
tizen_input_device_manager::tizen_input_device_manager(struct ::wl_client *client, uint32_t id, int version)
: m_resource_map()
, m_resource(NULL)
tizen_input_device_manager::handle_pointer_warp,
tizen_input_device_manager::handle_init_generator_with_name,
tizen_input_device_manager::handle_destroy,
- tizen_input_device_manager::handle_generate_axis
+ tizen_input_device_manager::handle_generate_axis,
+ tizen_input_device_manager::handle_set_touch_count
};
void tizen_input_device_manager::tizen_input_device_manager_block_events(Resource *, uint32_t , uint32_t , uint32_t )
{
}
+ void tizen_input_device_manager::tizen_input_device_manager_set_touch_count(Resource *, int32_t )
+ {
+ }
+
+
void tizen_input_device_manager::handle_block_events(
::wl_client *client,
struct wl_resource *resource,
value);
}
+ void tizen_input_device_manager::handle_set_touch_count(
+ ::wl_client *client,
+ struct wl_resource *resource,
+ int32_t max_count)
+ {
+ DS_UNUSED(client);
+ Resource *r = Resource::fromResource(resource);
+ static_cast<tizen_input_device_manager *>(r->tizen_input_device_manager_object)->tizen_input_device_manager_set_touch_count(
+ r,
+ max_count);
+ }
+
void tizen_input_device_manager::send_device_add(uint32_t serial, const std::string &identifier, struct ::wl_resource *device, struct ::wl_resource *seat)
{
DS_ASSERT_X(m_resource, "tizen_input_device_manager::device_add", "Uninitialised resource");
resource);
}
+
+ void tizen_input_device_manager::send_max_touch_count(uint32_t serial, int32_t max_count, struct ::wl_resource *seat)
+ {
+ DS_ASSERT_X(m_resource, "tizen_input_device_manager::max_touch_count", "Uninitialised resource");
+ if (DS_UNLIKELY(!m_resource)) {
+ WRN("could not call tizen_input_device_manager::max_touch_count as it's not initialised");
+ return;
+ }
+ send_max_touch_count(
+ m_resource->handle,
+ serial,
+ max_count,
+ seat);
+ }
+
+ void tizen_input_device_manager::send_max_touch_count(struct ::wl_resource *resource, uint32_t serial, int32_t max_count, struct ::wl_resource *seat)
+ {
+ tizen_input_device_manager_send_max_touch_count(
+ resource,
+ serial,
+ max_count,
+ seat);
+ }
+
+
tizen_input_device::tizen_input_device(struct ::wl_client *client, uint32_t id, int version)
: m_resource_map()
, m_resource(NULL)
value);
}
+
tizen_launchscreen::tizen_launchscreen(struct ::wl_client *client, uint32_t id, int version)
: m_resource_map()
, m_resource(NULL)
type);
}
+
tizen_display_policy::tizen_display_policy(struct ::wl_client *client, uint32_t id, int version)
: m_resource_map()
, m_resource(NULL)
error_state);
}
+
tizen_indicator::tizen_indicator(struct ::wl_client *client, uint32_t id, int version)
: m_resource_map()
, m_resource(NULL)
type);
}
+
tizen_clipboard::tizen_clipboard(struct ::wl_client *client, uint32_t id, int version)
: m_resource_map()
, m_resource(NULL)
allowed);
}
+
tizen_screen_rotation::tizen_screen_rotation(struct ::wl_client *client, uint32_t id, int version)
: m_resource_map()
, m_resource(NULL)
ignore);
}
+
+ tizen_renderer::tizen_renderer(struct ::wl_client *client, uint32_t id, int version)
+ : m_resource_map()
+ , m_resource(NULL)
+ , m_global(NULL)
+ , m_globalVersion(0)
+ , m_displayDestroyedListener()
+ {
+ init(client, id, version);
+ }
+
+ tizen_renderer::tizen_renderer(struct ::wl_display *display, int version)
+ : m_resource_map()
+ , m_resource(NULL)
+ , m_global(NULL)
+ , m_globalVersion(0)
+ , m_displayDestroyedListener()
+ {
+ init(display, version);
+ }
+
+ tizen_renderer::tizen_renderer(struct ::wl_resource *resource)
+ : m_resource_map()
+ , m_resource(NULL)
+ , m_global(NULL)
+ , m_globalVersion(0)
+ , m_displayDestroyedListener()
+ {
+ init(resource);
+ }
+
+ tizen_renderer::tizen_renderer()
+ : m_resource_map()
+ , m_resource(NULL)
+ , m_global(NULL)
+ , m_globalVersion(0)
+ , m_displayDestroyedListener()
+ {
+ }
+
+ tizen_renderer::~tizen_renderer()
+ {
+ std::multimap<struct ::wl_client*, tizen_renderer::Resource*>::iterator it;
+ for (it = m_resource_map.begin() ; it != m_resource_map.end() ; it++) {
+ tizen_renderer::Resource *resource = (*it).second;
+ wl_resource_set_implementation(resource->handle, NULL, NULL, NULL);
+ }
+
+ if (m_global) {
+ wl_global_destroy(m_global);
+ wl_list_remove(&m_displayDestroyedListener.link);
+ }
+ }
+
+ void tizen_renderer::init(struct ::wl_client *client, uint32_t id, int version)
+ {
+ m_resource = bind(client, id, version);
+ }
+
+ void tizen_renderer::init(struct ::wl_resource *resource)
+ {
+ m_resource = bind(resource);
+ }
+
+ tizen_renderer::Resource *tizen_renderer::add(struct ::wl_client *client, int version)
+ {
+ Resource *resource = bind(client, 0, version);
+ m_resource_map.insert(std::pair<struct ::wl_client*, Resource*>(client, resource));
+ return resource;
+ }
+
+ tizen_renderer::Resource *tizen_renderer::add(struct ::wl_client *client, uint32_t id, int version)
+ {
+ Resource *resource = bind(client, id, version);
+ m_resource_map.insert(std::pair<struct ::wl_client*, Resource*>(client, resource));
+ return resource;
+ }
+
+ void tizen_renderer::init(struct ::wl_display *display, int version)
+ {
+ m_global = wl_global_create(display, &::tizen_renderer_interface, version, this, bind_func);
+ m_globalVersion = version;
+ m_displayDestroyedListener.notify = tizen_renderer::display_destroy_func;
+ m_displayDestroyedListener.parent = this;
+ wl_display_add_destroy_listener(display, &m_displayDestroyedListener);
+ }
+
+ const struct wl_interface *tizen_renderer::interface()
+ {
+ return &::tizen_renderer_interface;
+ }
+
+ tizen_renderer::Resource *tizen_renderer::tizen_renderer_allocate()
+ {
+ return new Resource;
+ }
+
+ void tizen_renderer::tizen_renderer_bind_resource(Resource *)
+ {
+ }
+
+ void tizen_renderer::tizen_renderer_destroy_resource(Resource *)
+ {
+ }
+
+ void tizen_renderer::bind_func(struct ::wl_client *client, void *data, uint32_t version, uint32_t id)
+ {
+ tizen_renderer *that = static_cast<tizen_renderer *>(data);
+ that->add(client, id, std::min(that->m_globalVersion, version));
+ }
+
+ void tizen_renderer::display_destroy_func(struct ::wl_listener *listener, void *data)
+ {
+ DS_UNUSED(data);
+ tizen_renderer *that = static_cast<tizen_renderer::DisplayDestroyedListener *>(listener)->parent;
+ that->m_global = NULL;
+ }
+
+ void tizen_renderer::destroy_func(struct ::wl_resource *client_resource)
+ {
+ Resource *resource = Resource::fromResource(client_resource);
+ DS_ASSERT(resource);
+ tizen_renderer *that = resource->tizen_renderer_object;
+ that->m_resource_map.erase(resource->client());
+ that->tizen_renderer_destroy_resource(resource);
+ delete resource;
+ }
+
+ tizen_renderer::Resource *tizen_renderer::bind(struct ::wl_client *client, uint32_t id, int version)
+ {
+ DS_ASSERT_X(!wl_client_get_object(client, id), "DSWaylandObject bind", "binding to object %u more than once", id);
+ struct ::wl_resource *handle = wl_resource_create(client, &::tizen_renderer_interface, version, id);
+ return bind(handle);
+ }
+
+ tizen_renderer::Resource *tizen_renderer::bind(struct ::wl_resource *handle)
+ {
+ Resource *resource = tizen_renderer_allocate();
+ resource->tizen_renderer_object = this;
+
+ wl_resource_set_implementation(handle, &m_tizen_renderer_interface, resource, destroy_func);
+ resource->handle = handle;
+ tizen_renderer_bind_resource(resource);
+ return resource;
+ }
+ tizen_renderer::Resource *tizen_renderer::Resource::fromResource(struct ::wl_resource *resource)
+ {
+ if (DS_UNLIKELY(!resource))
+ return NULL;
+ if (wl_resource_instance_of(resource, &::tizen_renderer_interface, &m_tizen_renderer_interface))
+ return static_cast<Resource *>(wl_resource_get_user_data(resource));
+ return NULL;
+ }
+
+ const struct ::tizen_renderer_interface tizen_renderer::m_tizen_renderer_interface = {
+ tizen_renderer::handle_get_renderer_surface,
+ tizen_renderer::handle_destroy
+ };
+
+ void tizen_renderer::tizen_renderer_get_renderer_surface(Resource *, uint32_t, struct ::wl_resource *)
+ {
+ }
+
+ void tizen_renderer::tizen_renderer_destroy(Resource *)
+ {
+ }
+
+
+ void tizen_renderer::handle_get_renderer_surface(
+ ::wl_client *client,
+ struct wl_resource *resource,
+ uint32_t id,
+ struct ::wl_resource *surface)
+ {
+ DS_UNUSED(client);
+ Resource *r = Resource::fromResource(resource);
+ static_cast<tizen_renderer *>(r->tizen_renderer_object)->tizen_renderer_get_renderer_surface(
+ r,
+ id,
+ surface);
+ }
+
+ void tizen_renderer::handle_destroy(
+ ::wl_client *client,
+ struct wl_resource *resource)
+ {
+ DS_UNUSED(client);
+ Resource *r = Resource::fromResource(resource);
+ static_cast<tizen_renderer *>(r->tizen_renderer_object)->tizen_renderer_destroy(
+ r);
+ }
+
+ tizen_renderer_surface::tizen_renderer_surface(struct ::wl_client *client, uint32_t id, int version)
+ : m_resource_map()
+ , m_resource(NULL)
+ , m_global(NULL)
+ , m_globalVersion(0)
+ , m_displayDestroyedListener()
+ {
+ init(client, id, version);
+ }
+
+ tizen_renderer_surface::tizen_renderer_surface(struct ::wl_display *display, int version)
+ : m_resource_map()
+ , m_resource(NULL)
+ , m_global(NULL)
+ , m_globalVersion(0)
+ , m_displayDestroyedListener()
+ {
+ init(display, version);
+ }
+
+ tizen_renderer_surface::tizen_renderer_surface(struct ::wl_resource *resource)
+ : m_resource_map()
+ , m_resource(NULL)
+ , m_global(NULL)
+ , m_globalVersion(0)
+ , m_displayDestroyedListener()
+ {
+ init(resource);
+ }
+
+ tizen_renderer_surface::tizen_renderer_surface()
+ : m_resource_map()
+ , m_resource(NULL)
+ , m_global(NULL)
+ , m_globalVersion(0)
+ , m_displayDestroyedListener()
+ {
+ }
+
+ tizen_renderer_surface::~tizen_renderer_surface()
+ {
+ std::multimap<struct ::wl_client*, tizen_renderer_surface::Resource*>::iterator it;
+ for (it = m_resource_map.begin() ; it != m_resource_map.end() ; it++) {
+ tizen_renderer_surface::Resource *resource = (*it).second;
+ wl_resource_set_implementation(resource->handle, NULL, NULL, NULL);
+ }
+
+ if (m_global) {
+ wl_global_destroy(m_global);
+ wl_list_remove(&m_displayDestroyedListener.link);
+ }
+ }
+
+ void tizen_renderer_surface::init(struct ::wl_client *client, uint32_t id, int version)
+ {
+ m_resource = bind(client, id, version);
+ }
+
+ void tizen_renderer_surface::init(struct ::wl_resource *resource)
+ {
+ m_resource = bind(resource);
+ }
+
+ tizen_renderer_surface::Resource *tizen_renderer_surface::add(struct ::wl_client *client, int version)
+ {
+ Resource *resource = bind(client, 0, version);
+ m_resource_map.insert(std::pair<struct ::wl_client*, Resource*>(client, resource));
+ return resource;
+ }
+
+ tizen_renderer_surface::Resource *tizen_renderer_surface::add(struct ::wl_client *client, uint32_t id, int version)
+ {
+ Resource *resource = bind(client, id, version);
+ m_resource_map.insert(std::pair<struct ::wl_client*, Resource*>(client, resource));
+ return resource;
+ }
+
+ void tizen_renderer_surface::init(struct ::wl_display *display, int version)
+ {
+ m_global = wl_global_create(display, &::tizen_renderer_surface_interface, version, this, bind_func);
+ m_globalVersion = version;
+ m_displayDestroyedListener.notify = tizen_renderer_surface::display_destroy_func;
+ m_displayDestroyedListener.parent = this;
+ wl_display_add_destroy_listener(display, &m_displayDestroyedListener);
+ }
+
+ const struct wl_interface *tizen_renderer_surface::interface()
+ {
+ return &::tizen_renderer_surface_interface;
+ }
+
+ tizen_renderer_surface::Resource *tizen_renderer_surface::tizen_renderer_surface_allocate()
+ {
+ return new Resource;
+ }
+
+ void tizen_renderer_surface::tizen_renderer_surface_bind_resource(Resource *)
+ {
+ }
+
+ void tizen_renderer_surface::tizen_renderer_surface_destroy_resource(Resource *)
+ {
+ }
+
+ void tizen_renderer_surface::bind_func(struct ::wl_client *client, void *data, uint32_t version, uint32_t id)
+ {
+ tizen_renderer_surface *that = static_cast<tizen_renderer_surface *>(data);
+ that->add(client, id, std::min(that->m_globalVersion, version));
+ }
+
+ void tizen_renderer_surface::display_destroy_func(struct ::wl_listener *listener, void *data)
+ {
+ DS_UNUSED(data);
+ tizen_renderer_surface *that = static_cast<tizen_renderer_surface::DisplayDestroyedListener *>(listener)->parent;
+ that->m_global = NULL;
+ }
+
+ void tizen_renderer_surface::destroy_func(struct ::wl_resource *client_resource)
+ {
+ Resource *resource = Resource::fromResource(client_resource);
+ DS_ASSERT(resource);
+ tizen_renderer_surface *that = resource->tizen_renderer_surface_object;
+ that->m_resource_map.erase(resource->client());
+ that->tizen_renderer_surface_destroy_resource(resource);
+ delete resource;
+ }
+
+ tizen_renderer_surface::Resource *tizen_renderer_surface::bind(struct ::wl_client *client, uint32_t id, int version)
+ {
+ DS_ASSERT_X(!wl_client_get_object(client, id), "DSWaylandObject bind", "binding to object %u more than once", id);
+ struct ::wl_resource *handle = wl_resource_create(client, &::tizen_renderer_surface_interface, version, id);
+ return bind(handle);
+ }
+
+ tizen_renderer_surface::Resource *tizen_renderer_surface::bind(struct ::wl_resource *handle)
+ {
+ Resource *resource = tizen_renderer_surface_allocate();
+ resource->tizen_renderer_surface_object = this;
+
+ wl_resource_set_implementation(handle, &m_tizen_renderer_surface_interface, resource, destroy_func);
+ resource->handle = handle;
+ tizen_renderer_surface_bind_resource(resource);
+ return resource;
+ }
+ tizen_renderer_surface::Resource *tizen_renderer_surface::Resource::fromResource(struct ::wl_resource *resource)
+ {
+ if (DS_UNLIKELY(!resource))
+ return NULL;
+ if (wl_resource_instance_of(resource, &::tizen_renderer_surface_interface, &m_tizen_renderer_surface_interface))
+ return static_cast<Resource *>(wl_resource_get_user_data(resource));
+ return NULL;
+ }
+
+ const struct ::tizen_renderer_surface_interface tizen_renderer_surface::m_tizen_renderer_surface_interface = {
+ tizen_renderer_surface::handle_destroy
+ };
+
+ void tizen_renderer_surface::tizen_renderer_surface_destroy(Resource *)
+ {
+ }
+
+
+ void tizen_renderer_surface::handle_destroy(
+ ::wl_client *client,
+ struct wl_resource *resource)
+ {
+ DS_UNUSED(client);
+ Resource *r = Resource::fromResource(resource);
+ static_cast<tizen_renderer_surface *>(r->tizen_renderer_surface_object)->tizen_renderer_surface_destroy(
+ r);
+ }
+
+ void tizen_renderer_surface::send_redraw_request()
+ {
+ DS_ASSERT_X(m_resource, "tizen_renderer_surface::redraw_request", "Uninitialised resource");
+ if (DS_UNLIKELY(!m_resource)) {
+ WRN("could not call tizen_renderer_surface::redraw_request as it's not initialised");
+ return;
+ }
+ send_redraw_request(
+ m_resource->handle);
+ }
+
+ void tizen_renderer_surface::send_redraw_request(struct ::wl_resource *resource)
+ {
+ tizen_renderer_surface_send_redraw_request(
+ resource);
+ }
+
}
/*LCOV_EXCL_STOP*/
virtual void tizen_policy_destroy(Resource *resource);
virtual void tizen_policy_has_video(Resource *resource, struct ::wl_resource *surface, uint32_t has);
virtual void tizen_policy_set_appid(Resource *resource, int32_t pid, const std::string &appid);
+ virtual void tizen_policy_show(Resource *resource, struct ::wl_resource *surface);
+ virtual void tizen_policy_hide(Resource *resource, struct ::wl_resource *surface);
private:
static void bind_func(struct ::wl_client *client, void *data, uint32_t version, uint32_t id);
struct wl_resource *resource,
int32_t pid,
const char *appid);
+ static void handle_show(
+ ::wl_client *client,
+ struct wl_resource *resource,
+ struct ::wl_resource *surface);
+ static void handle_hide(
+ ::wl_client *client,
+ struct wl_resource *resource,
+ struct ::wl_resource *surface);
std::multimap<struct ::wl_client*, Resource*> m_resource_map;
Resource *m_resource;
error_invalid_parameter = 5, // argument is invalid
error_invalid_surface = 6, // the given surface is not visible or pointer is not on the given surface
error_no_pointer_available = 7, // there is no pointer available to warp
+ error_not_allowed = 8, // this request is not allowed in this system
};
enum pointer_event_type {
void send_error(struct ::wl_resource *resource, uint32_t errorcode);
void send_block_expired();
void send_block_expired(struct ::wl_resource *resource);
+ void send_max_touch_count(uint32_t serial, int32_t max_count, struct ::wl_resource *seat);
+ void send_max_touch_count(struct ::wl_resource *resource, uint32_t serial, int32_t max_count, struct ::wl_resource *seat);
protected:
virtual Resource *tizen_input_device_manager_allocate();
virtual void tizen_input_device_manager_init_generator_with_name(Resource *resource, uint32_t clas, const std::string &name);
virtual void tizen_input_device_manager_destroy(Resource *resource);
virtual void tizen_input_device_manager_generate_axis(Resource *resource, uint32_t type, wl_fixed_t value);
+ virtual void tizen_input_device_manager_set_touch_count(Resource *resource, int32_t max_count);
private:
static void bind_func(struct ::wl_client *client, void *data, uint32_t version, uint32_t id);
struct wl_resource *resource,
uint32_t type,
wl_fixed_t value);
+ static void handle_set_touch_count(
+ ::wl_client *client,
+ struct wl_resource *resource,
+ int32_t max_count);
std::multimap<struct ::wl_client*, Resource*> m_resource_map;
Resource *m_resource;
};
DisplayDestroyedListener m_displayDestroyedListener;
};
+
+ class tizen_renderer
+ {
+ public:
+ tizen_renderer(struct ::wl_client *client, uint32_t id, int version);
+ tizen_renderer(struct ::wl_display *display, int version);
+ tizen_renderer(struct ::wl_resource *resource);
+ tizen_renderer();
+
+ virtual ~tizen_renderer();
+
+ class Resource
+ {
+ public:
+ Resource() : tizen_renderer_object(NULL), handle(NULL) {}
+ virtual ~Resource() {}
+
+ tizen_renderer *tizen_renderer_object;
+ tizen_renderer *object() { return tizen_renderer_object; }
+ struct ::wl_resource *handle;
+
+ struct ::wl_client *client() const { return wl_resource_get_client(handle); }
+ int version() const { return wl_resource_get_version(handle); }
+
+ static Resource *fromResource(struct ::wl_resource *resource);
+ };
+
+ void init(struct ::wl_client *client, uint32_t id, int version);
+ void init(struct ::wl_display *display, int version);
+ void init(struct ::wl_resource *resource);
+
+ Resource *add(struct ::wl_client *client, int version);
+ Resource *add(struct ::wl_client *client, uint32_t id, int version);
+ Resource *add(struct wl_list *resource_list, struct ::wl_client *client, uint32_t id, int version);
+
+ Resource *resource() { return m_resource; }
+ const Resource *resource() const { return m_resource; }
+
+ std::multimap<struct ::wl_client*, Resource*> resourceMap() { return m_resource_map; }
+ const std::multimap<struct ::wl_client*, Resource*> resourceMap() const { return m_resource_map; }
+
+ bool isGlobal() const { return m_global != NULL; }
+ bool isResource() const { return m_resource != NULL; }
+
+ static const struct ::wl_interface *interface();
+ static std::string interfaceName() { return interface()->name; }
+ static int interfaceVersion() { return interface()->version; }
+
+
+ protected:
+ virtual Resource *tizen_renderer_allocate();
+
+ virtual void tizen_renderer_bind_resource(Resource *resource);
+ virtual void tizen_renderer_destroy_resource(Resource *resource);
+
+ virtual void tizen_renderer_get_renderer_surface(Resource *resource, uint32_t id, struct ::wl_resource *surface);
+ virtual void tizen_renderer_destroy(Resource *resource);
+
+ private:
+ static void bind_func(struct ::wl_client *client, void *data, uint32_t version, uint32_t id);
+ static void destroy_func(struct ::wl_resource *client_resource);
+ static void display_destroy_func(struct ::wl_listener *listener, void *data);
+
+ Resource *bind(struct ::wl_client *client, uint32_t id, int version);
+ Resource *bind(struct ::wl_resource *handle);
+
+ static const struct ::tizen_renderer_interface m_tizen_renderer_interface;
+
+ static void handle_get_renderer_surface(
+ ::wl_client *client,
+ struct wl_resource *resource,
+ uint32_t id,
+ struct ::wl_resource *surface);
+ static void handle_destroy(
+ ::wl_client *client,
+ struct wl_resource *resource);
+
+ std::multimap<struct ::wl_client*, Resource*> m_resource_map;
+ Resource *m_resource;
+ struct ::wl_global *m_global;
+ uint32_t m_globalVersion;
+ struct DisplayDestroyedListener : ::wl_listener {
+ tizen_renderer *parent;
+ DisplayDestroyedListener(): parent(NULL) {}
+ };
+ DisplayDestroyedListener m_displayDestroyedListener;
+ };
+
+ class tizen_renderer_surface
+ {
+ public:
+ tizen_renderer_surface(struct ::wl_client *client, uint32_t id, int version);
+ tizen_renderer_surface(struct ::wl_display *display, int version);
+ tizen_renderer_surface(struct ::wl_resource *resource);
+ tizen_renderer_surface();
+
+ virtual ~tizen_renderer_surface();
+
+ class Resource
+ {
+ public:
+ Resource() : tizen_renderer_surface_object(NULL), handle(NULL) {}
+ virtual ~Resource() {}
+
+ tizen_renderer_surface *tizen_renderer_surface_object;
+ tizen_renderer_surface *object() { return tizen_renderer_surface_object; }
+ struct ::wl_resource *handle;
+
+ struct ::wl_client *client() const { return wl_resource_get_client(handle); }
+ int version() const { return wl_resource_get_version(handle); }
+
+ static Resource *fromResource(struct ::wl_resource *resource);
+ };
+
+ void init(struct ::wl_client *client, uint32_t id, int version);
+ void init(struct ::wl_display *display, int version);
+ void init(struct ::wl_resource *resource);
+
+ Resource *add(struct ::wl_client *client, int version);
+ Resource *add(struct ::wl_client *client, uint32_t id, int version);
+ Resource *add(struct wl_list *resource_list, struct ::wl_client *client, uint32_t id, int version);
+
+ Resource *resource() { return m_resource; }
+ const Resource *resource() const { return m_resource; }
+
+ std::multimap<struct ::wl_client*, Resource*> resourceMap() { return m_resource_map; }
+ const std::multimap<struct ::wl_client*, Resource*> resourceMap() const { return m_resource_map; }
+
+ bool isGlobal() const { return m_global != NULL; }
+ bool isResource() const { return m_resource != NULL; }
+
+ static const struct ::wl_interface *interface();
+ static std::string interfaceName() { return interface()->name; }
+ static int interfaceVersion() { return interface()->version; }
+
+
+ void send_redraw_request();
+ void send_redraw_request(struct ::wl_resource *resource);
+
+ protected:
+ virtual Resource *tizen_renderer_surface_allocate();
+
+ virtual void tizen_renderer_surface_bind_resource(Resource *resource);
+ virtual void tizen_renderer_surface_destroy_resource(Resource *resource);
+
+ virtual void tizen_renderer_surface_destroy(Resource *resource);
+
+ private:
+ static void bind_func(struct ::wl_client *client, void *data, uint32_t version, uint32_t id);
+ static void destroy_func(struct ::wl_resource *client_resource);
+ static void display_destroy_func(struct ::wl_listener *listener, void *data);
+
+ Resource *bind(struct ::wl_client *client, uint32_t id, int version);
+ Resource *bind(struct ::wl_resource *handle);
+
+ static const struct ::tizen_renderer_surface_interface m_tizen_renderer_surface_interface;
+
+ static void handle_destroy(
+ ::wl_client *client,
+ struct wl_resource *resource);
+
+ std::multimap<struct ::wl_client*, Resource*> m_resource_map;
+ Resource *m_resource;
+ struct ::wl_global *m_global;
+ uint32_t m_globalVersion;
+ struct DisplayDestroyedListener : ::wl_listener {
+ tizen_renderer_surface *parent;
+ DisplayDestroyedListener(): parent(NULL) {}
+ };
+ DisplayDestroyedListener m_displayDestroyedListener;
+ };
}
/*LCOV_EXCL_STOP*/
tizen_ws_shell::handle_service_create,
tizen_ws_shell::handle_region_create,
tizen_ws_shell::handle_quickpanel_get,
- tizen_ws_shell::handle_tvsrv_get,
tizen_ws_shell::handle_extension_get,
tizen_ws_shell::handle_softkey_get,
tizen_ws_shell::handle_shared_widget_launch_get
{
}
- void tizen_ws_shell::tizen_ws_shell_tvsrv_get(Resource *, uint32_t, uint32_t )
- {
- }
-
void tizen_ws_shell::tizen_ws_shell_extension_get(Resource *, uint32_t, const std::string &)
{
}
win);
}
- void tizen_ws_shell::handle_tvsrv_get(
- ::wl_client *client,
- struct wl_resource *resource,
- uint32_t id,
- uint32_t win)
- {
- DS_UNUSED(client);
- Resource *r = Resource::fromResource(resource);
- static_cast<tizen_ws_shell *>(r->tizen_ws_shell_object)->tizen_ws_shell_tvsrv_get(
- r,
- id,
- win);
- }
-
void tizen_ws_shell::handle_extension_get(
::wl_client *client,
struct wl_resource *resource,
}
- tws_tvsrv::tws_tvsrv(struct ::wl_client *client, uint32_t id, int version)
- : m_resource_map()
- , m_resource(NULL)
- , m_global(NULL)
- , m_globalVersion(0)
- , m_displayDestroyedListener()
- {
- init(client, id, version);
- }
-
- tws_tvsrv::tws_tvsrv(struct ::wl_display *display, int version)
- : m_resource_map()
- , m_resource(NULL)
- , m_global(NULL)
- , m_globalVersion(0)
- , m_displayDestroyedListener()
- {
- init(display, version);
- }
-
- tws_tvsrv::tws_tvsrv(struct ::wl_resource *resource)
- : m_resource_map()
- , m_resource(NULL)
- , m_global(NULL)
- , m_globalVersion(0)
- , m_displayDestroyedListener()
- {
- init(resource);
- }
-
- tws_tvsrv::tws_tvsrv()
- : m_resource_map()
- , m_resource(NULL)
- , m_global(NULL)
- , m_globalVersion(0)
- , m_displayDestroyedListener()
- {
- }
-
- tws_tvsrv::~tws_tvsrv()
- {
- std::multimap<struct ::wl_client*, tws_tvsrv::Resource*>::iterator it;
- for (it = m_resource_map.begin() ; it != m_resource_map.end() ; it++) {
- tws_tvsrv::Resource *resource = (*it).second;
- wl_resource_set_implementation(resource->handle, NULL, NULL, NULL);
- }
-
- if (m_global) {
- wl_global_destroy(m_global);
- wl_list_remove(&m_displayDestroyedListener.link);
- }
- }
-
- void tws_tvsrv::init(struct ::wl_client *client, uint32_t id, int version)
- {
- m_resource = bind(client, id, version);
- }
-
- void tws_tvsrv::init(struct ::wl_resource *resource)
- {
- m_resource = bind(resource);
- }
-
- tws_tvsrv::Resource *tws_tvsrv::add(struct ::wl_client *client, int version)
- {
- Resource *resource = bind(client, 0, version);
- m_resource_map.insert(std::pair<struct ::wl_client*, Resource*>(client, resource));
- return resource;
- }
-
- tws_tvsrv::Resource *tws_tvsrv::add(struct ::wl_client *client, uint32_t id, int version)
- {
- Resource *resource = bind(client, id, version);
- m_resource_map.insert(std::pair<struct ::wl_client*, Resource*>(client, resource));
- return resource;
- }
-
- void tws_tvsrv::init(struct ::wl_display *display, int version)
- {
- m_global = wl_global_create(display, &::tws_tvsrv_interface, version, this, bind_func);
- m_globalVersion = version;
- m_displayDestroyedListener.notify = tws_tvsrv::display_destroy_func;
- m_displayDestroyedListener.parent = this;
- wl_display_add_destroy_listener(display, &m_displayDestroyedListener);
- }
-
- const struct wl_interface *tws_tvsrv::interface()
- {
- return &::tws_tvsrv_interface;
- }
-
- tws_tvsrv::Resource *tws_tvsrv::tws_tvsrv_allocate()
- {
- return new Resource;
- }
-
- void tws_tvsrv::tws_tvsrv_bind_resource(Resource *)
- {
- }
-
- void tws_tvsrv::tws_tvsrv_destroy_resource(Resource *)
- {
- }
-
- void tws_tvsrv::bind_func(struct ::wl_client *client, void *data, uint32_t version, uint32_t id)
- {
- tws_tvsrv *that = static_cast<tws_tvsrv *>(data);
- that->add(client, id, std::min(that->m_globalVersion, version));
- }
-
- void tws_tvsrv::display_destroy_func(struct ::wl_listener *listener, void *data)
- {
- DS_UNUSED(data);
- tws_tvsrv *that = static_cast<tws_tvsrv::DisplayDestroyedListener *>(listener)->parent;
- that->m_global = NULL;
- }
-
- void tws_tvsrv::destroy_func(struct ::wl_resource *client_resource)
- {
- Resource *resource = Resource::fromResource(client_resource);
- DS_ASSERT(resource);
- tws_tvsrv *that = resource->tws_tvsrv_object;
- that->m_resource_map.erase(resource->client());
- that->tws_tvsrv_destroy_resource(resource);
- delete resource;
- }
-
- tws_tvsrv::Resource *tws_tvsrv::bind(struct ::wl_client *client, uint32_t id, int version)
- {
- DS_ASSERT_X(!wl_client_get_object(client, id), "DSWaylandObject bind", "binding to object %u more than once", id);
- struct ::wl_resource *handle = wl_resource_create(client, &::tws_tvsrv_interface, version, id);
- return bind(handle);
- }
-
- tws_tvsrv::Resource *tws_tvsrv::bind(struct ::wl_resource *handle)
- {
- Resource *resource = tws_tvsrv_allocate();
- resource->tws_tvsrv_object = this;
-
- wl_resource_set_implementation(handle, &m_tws_tvsrv_interface, resource, destroy_func);
- resource->handle = handle;
- tws_tvsrv_bind_resource(resource);
- return resource;
- }
- tws_tvsrv::Resource *tws_tvsrv::Resource::fromResource(struct ::wl_resource *resource)
- {
- if (DS_UNLIKELY(!resource))
- return NULL;
- if (wl_resource_instance_of(resource, &::tws_tvsrv_interface, &m_tws_tvsrv_interface))
- return static_cast<Resource *>(wl_resource_get_user_data(resource));
- return NULL;
- }
-
- const struct ::tws_tvsrv_interface tws_tvsrv::m_tws_tvsrv_interface = {
- tws_tvsrv::handle_release,
- tws_tvsrv::handle_bind,
- tws_tvsrv::handle_unbind
- };
-
- void tws_tvsrv::tws_tvsrv_release(Resource *)
- {
- }
-
- void tws_tvsrv::tws_tvsrv_bind(Resource *)
- {
- }
-
- void tws_tvsrv::tws_tvsrv_unbind(Resource *)
- {
- }
-
-
- void tws_tvsrv::handle_release(
- ::wl_client *client,
- struct wl_resource *resource)
- {
- DS_UNUSED(client);
- Resource *r = Resource::fromResource(resource);
- static_cast<tws_tvsrv *>(r->tws_tvsrv_object)->tws_tvsrv_release(
- r);
- }
-
- void tws_tvsrv::handle_bind(
- ::wl_client *client,
- struct wl_resource *resource)
- {
- DS_UNUSED(client);
- Resource *r = Resource::fromResource(resource);
- static_cast<tws_tvsrv *>(r->tws_tvsrv_object)->tws_tvsrv_bind(
- r);
- }
-
- void tws_tvsrv::handle_unbind(
- ::wl_client *client,
- struct wl_resource *resource)
- {
- DS_UNUSED(client);
- Resource *r = Resource::fromResource(resource);
- static_cast<tws_tvsrv *>(r->tws_tvsrv_object)->tws_tvsrv_unbind(
- r);
- }
-
tws_region::tws_region(struct ::wl_client *client, uint32_t id, int version)
: m_resource_map()
, m_resource(NULL)
{
}
- void tws_service_screensaver_manager::tws_service_screensaver_manager_state_get(Resource *)
+ void tws_service_screensaver_manager::tws_service_screensaver_manager_state_get(Resource *, uint32_t )
{
}
void tws_service_screensaver_manager::handle_state_get(
::wl_client *client,
- struct wl_resource *resource)
+ struct wl_resource *resource,
+ uint32_t state_type)
{
DS_UNUSED(client);
Resource *r = Resource::fromResource(resource);
static_cast<tws_service_screensaver_manager *>(r->tws_service_screensaver_manager_object)->tws_service_screensaver_manager_state_get(
- r);
+ r,
+ state_type);
}
void tws_service_screensaver_manager::send_idle()
{
}
- void tws_softkey::tws_softkey_state_set(Resource *)
+ void tws_softkey::tws_softkey_state_set(Resource *, int32_t , int32_t )
{
}
- void tws_softkey::tws_softkey_state_get(Resource *)
+ void tws_softkey::tws_softkey_state_get(Resource *, int32_t )
{
}
void tws_softkey::handle_state_set(
::wl_client *client,
- struct wl_resource *resource)
+ struct wl_resource *resource,
+ int32_t type,
+ int32_t val)
{
DS_UNUSED(client);
Resource *r = Resource::fromResource(resource);
static_cast<tws_softkey *>(r->tws_softkey_object)->tws_softkey_state_set(
- r);
+ r,
+ type,
+ val);
}
void tws_softkey::handle_state_get(
::wl_client *client,
- struct wl_resource *resource)
+ struct wl_resource *resource,
+ int32_t type)
{
DS_UNUSED(client);
Resource *r = Resource::fromResource(resource);
static_cast<tws_softkey *>(r->tws_softkey_object)->tws_softkey_state_get(
- r);
+ r,
+ type);
}
void tws_softkey::send_support_check_done(int32_t support)
virtual void tizen_ws_shell_service_create(Resource *resource, uint32_t id, uint32_t win, const std::string &name);
virtual void tizen_ws_shell_region_create(Resource *resource, uint32_t id);
virtual void tizen_ws_shell_quickpanel_get(Resource *resource, uint32_t id, uint32_t win);
- virtual void tizen_ws_shell_tvsrv_get(Resource *resource, uint32_t id, uint32_t win);
virtual void tizen_ws_shell_extension_get(Resource *resource, uint32_t id, const std::string &name);
virtual void tizen_ws_shell_softkey_get(Resource *resource, uint32_t id, uint32_t win);
virtual void tizen_ws_shell_shared_widget_launch_get(Resource *resource, uint32_t id, uint32_t win);
struct wl_resource *resource,
uint32_t id,
uint32_t win);
- static void handle_tvsrv_get(
- ::wl_client *client,
- struct wl_resource *resource,
- uint32_t id,
- uint32_t win);
static void handle_extension_get(
::wl_client *client,
struct wl_resource *resource,
type_value_unknown = 0,
type_value_system_default = 1,
type_value_context_menu = 2,
+ type_value_apps_menu = 3,
};
void send_state_get_done(int32_t type, int32_t value, uint32_t error_state);
DisplayDestroyedListener m_displayDestroyedListener;
};
- class tws_tvsrv
- {
- public:
- tws_tvsrv(struct ::wl_client *client, uint32_t id, int version);
- tws_tvsrv(struct ::wl_display *display, int version);
- tws_tvsrv(struct ::wl_resource *resource);
- tws_tvsrv();
-
- virtual ~tws_tvsrv();
-
- class Resource
- {
- public:
- Resource() : tws_tvsrv_object(NULL), handle(NULL) {}
- virtual ~Resource() {}
-
- tws_tvsrv *tws_tvsrv_object;
- tws_tvsrv *object() { return tws_tvsrv_object; }
- struct ::wl_resource *handle;
-
- struct ::wl_client *client() const { return wl_resource_get_client(handle); }
- int version() const { return wl_resource_get_version(handle); }
-
- static Resource *fromResource(struct ::wl_resource *resource);
- };
-
- void init(struct ::wl_client *client, uint32_t id, int version);
- void init(struct ::wl_display *display, int version);
- void init(struct ::wl_resource *resource);
-
- Resource *add(struct ::wl_client *client, int version);
- Resource *add(struct ::wl_client *client, uint32_t id, int version);
- Resource *add(struct wl_list *resource_list, struct ::wl_client *client, uint32_t id, int version);
-
- Resource *resource() { return m_resource; }
- const Resource *resource() const { return m_resource; }
-
- std::multimap<struct ::wl_client*, Resource*> resourceMap() { return m_resource_map; }
- const std::multimap<struct ::wl_client*, Resource*> resourceMap() const { return m_resource_map; }
-
- bool isGlobal() const { return m_global != NULL; }
- bool isResource() const { return m_resource != NULL; }
-
- static const struct ::wl_interface *interface();
- static std::string interfaceName() { return interface()->name; }
- static int interfaceVersion() { return interface()->version; }
-
-
- enum error {
- error_request_rejected = 0, // given request is denied
- };
-
- protected:
- virtual Resource *tws_tvsrv_allocate();
-
- virtual void tws_tvsrv_bind_resource(Resource *resource);
- virtual void tws_tvsrv_destroy_resource(Resource *resource);
-
- virtual void tws_tvsrv_release(Resource *resource);
- virtual void tws_tvsrv_bind(Resource *resource);
- virtual void tws_tvsrv_unbind(Resource *resource);
-
- private:
- static void bind_func(struct ::wl_client *client, void *data, uint32_t version, uint32_t id);
- static void destroy_func(struct ::wl_resource *client_resource);
- static void display_destroy_func(struct ::wl_listener *listener, void *data);
-
- Resource *bind(struct ::wl_client *client, uint32_t id, int version);
- Resource *bind(struct ::wl_resource *handle);
-
- static const struct ::tws_tvsrv_interface m_tws_tvsrv_interface;
-
- static void handle_release(
- ::wl_client *client,
- struct wl_resource *resource);
- static void handle_bind(
- ::wl_client *client,
- struct wl_resource *resource);
- static void handle_unbind(
- ::wl_client *client,
- struct wl_resource *resource);
-
- std::multimap<struct ::wl_client*, Resource*> m_resource_map;
- Resource *m_resource;
- struct ::wl_global *m_global;
- uint32_t m_globalVersion;
- struct DisplayDestroyedListener : ::wl_listener {
- tws_tvsrv *parent;
- DisplayDestroyedListener(): parent(NULL) {}
- };
- DisplayDestroyedListener m_displayDestroyedListener;
- };
-
class tws_region
{
public:
virtual void tws_service_screensaver_manager_enable(Resource *resource);
virtual void tws_service_screensaver_manager_disable(Resource *resource);
virtual void tws_service_screensaver_manager_idle_time_set(Resource *resource, uint32_t id);
- virtual void tws_service_screensaver_manager_state_get(Resource *resource);
+ virtual void tws_service_screensaver_manager_state_get(Resource *resource, uint32_t state_type);
private:
static void bind_func(struct ::wl_client *client, void *data, uint32_t version, uint32_t id);
uint32_t id);
static void handle_state_get(
::wl_client *client,
- struct wl_resource *resource);
+ struct wl_resource *resource,
+ uint32_t state_type);
std::multimap<struct ::wl_client*, Resource*> m_resource_map;
Resource *m_resource;
virtual void tws_softkey_support_check(Resource *resource);
virtual void tws_softkey_show(Resource *resource);
virtual void tws_softkey_hide(Resource *resource);
- virtual void tws_softkey_state_set(Resource *resource);
- virtual void tws_softkey_state_get(Resource *resource);
+ virtual void tws_softkey_state_set(Resource *resource, int32_t type, int32_t val);
+ virtual void tws_softkey_state_get(Resource *resource, int32_t type);
private:
static void bind_func(struct ::wl_client *client, void *data, uint32_t version, uint32_t id);
struct wl_resource *resource);
static void handle_state_set(
::wl_client *client,
- struct wl_resource *resource);
+ struct wl_resource *resource,
+ int32_t type,
+ int32_t val);
static void handle_state_get(
::wl_client *client,
- struct wl_resource *resource);
+ struct wl_resource *resource,
+ int32_t type);
std::multimap<struct ::wl_client*, Resource*> m_resource_map;
Resource *m_resource;
enum error {
error_invalid_scale = 0, // buffer scale value is invalid
error_invalid_transform = 1, // buffer transform value is invalid
+ error_invalid_size = 2, // buffer size is invalid
};
void send_enter(struct ::wl_resource *output);
capability_touch = 4, // the seat has touch devices
};
+ enum error {
+ error_missing_capability = 0, // get_pointer, get_keyboard or get_touch called on seat without the matching capability
+ };
+
void send_capabilities(uint32_t capabilities);
void send_capabilities(struct ::wl_resource *resource, uint32_t capabilities);
void send_name(const std::string &name);