+ // Requests
+ void commit_changes() const { ivi_controller_commit_changes(this->proxy); }
+ void layer_create(uint32_t id, int32_t w, int32_t h);
+ void surface_create(uint32_t id);
+
+ // Events
+ // controller
+ void controller_screen(uint32_t id, struct ivi_controller_screen *screen);
+ void controller_layer(uint32_t id);
+ void controller_surface(uint32_t id);
+ void controller_error(int32_t oid, int32_t otype, int32_t code,
+ char const *text);
+
+ // surface
+ void surface_visibility(uint32_t id, int32_t visibility);
+ void surface_opacity(uint32_t id, float opacity);
+ void surface_source_rectangle(uint32_t id, int32_t x, int32_t y,
+ int32_t width, int32_t height);
+ void surface_destination_rectangle(uint32_t id, int32_t x, int32_t y,
+ int32_t width, int32_t height);
+ void surface_configuration(uint32_t id, int32_t width, int32_t height);
+ void surface_orientation(uint32_t id, int32_t orientation);
+ void surface_pixelformat(uint32_t id, int32_t pixelformat);
+ void surface_layer(uint32_t id, struct ivi_controller_layer *layer);
+ void surface_stats(uint32_t id, uint32_t redraw_count, uint32_t frame_count,
+ uint32_t update_count, uint32_t pid,
+ const char *process_name);
+ void surface_destroyed(uint32_t id);
+ void surface_content(uint32_t id, int32_t content_state);
+
+ // layer
+ void layer_visibility(uint32_t id, int32_t visibility);
+ void layer_opacity(uint32_t id, float opacity);
+ void layer_source_rectangle(uint32_t id, int32_t x, int32_t y, int32_t width,
+ int32_t height);
+ void layer_destination_rectangle(uint32_t id, int32_t x, int32_t y,
+ int32_t width, int32_t height);
+ void layer_configuration(uint32_t id, int32_t width, int32_t height);
+ void layer_orientation(uint32_t id, int32_t orientation);
+ void layer_screen(uint32_t id, struct wl_output *screen);
+ void layer_destroyed(uint32_t id);