util: noexcept logging and also noreturn for fatal()
[staging/windowmanager.git] / src / wayland.cpp
index 62c1afe..276ec7a 100644 (file)
@@ -423,9 +423,8 @@ void controller::layer_orientation(struct layer *l, int32_t orientation) {
    l->orientation = orientation;
 }
 
-void controller::layer_screen(struct layer *l, struct wl_output *screen) {
+void controller::layer_screen(struct layer * /*l*/, struct wl_output *screen) {
    logdebug("genivi::layer %s @ %p s %p", __func__, this->proxy.get(), screen);
-
 }
 
 void controller::layer_destroyed(struct layer *l) {
@@ -636,18 +635,19 @@ void controller::surface_orientation(struct surface *s, int32_t orientation) {
    s->orientation = orientation;
 }
 
-void controller::surface_pixelformat(struct surface *s, int32_t pixelformat) {
+void controller::surface_pixelformat(struct surface * /*s*/,
+                                     int32_t pixelformat) {
    logdebug("genivi::surface %s @ %p f %i", __func__, this->proxy.get(),
             pixelformat);
 }
 
-void controller::surface_layer(struct surface *s,
+void controller::surface_layer(struct surface * /*s*/,
                                struct ivi_controller_layer *layer) {
    logdebug("genivi::surface %s @ %p l %u @ %p", __func__, this->proxy.get(),
             this->layer_proxy_to_id[uintptr_t(layer)], layer);
 }
 
-void controller::surface_stats(struct surface *s, uint32_t redraw_count,
+void controller::surface_stats(struct surface * /*s*/, uint32_t redraw_count,
                                uint32_t frame_count, uint32_t update_count,
                                uint32_t pid, const char *process_name) {
    logdebug("genivi::surface %s @ %p r %u f %u u %u pid %u p %s", __func__,
@@ -718,6 +718,30 @@ void controller::execute_pending() {
    }
 }
 
+void controller::debug_dump_current_status() {
+   if (!this->surfaces.empty()) {
+      puts("Surfaces:");
+      for (auto const &i : this->surfaces) {
+         auto const &r = i.second->dst_rect;
+         auto const &s = i.second->size;
+         printf("%d [%ux%u] (%ux%u@%dx%d), ", i.first, s.w, s.h, r.w, r.h, r.x,
+                r.y);
+      }
+      puts("\b\b ");
+   }
+
+   if (!this->layers.empty()) {
+      puts("Layers:");
+      for (auto const &i : this->layers) {
+         auto const &r = i.second->dst_rect;
+         auto const &s = i.second->size;
+         printf("%d [%ux%u] (%ux%u@%dx%d), ", i.first, s.w, s.h, r.w, r.h, r.x,
+                r.y);
+      }
+      puts("\b\b ");
+   }
+}
+
 //
 //  ___  ___ _ __ ___  ___ _ __
 // / __|/ __| '__/ _ \/ _ \ '_ \