tests: screen resolution
[profile/ivi/wayland-ivi-extension.git] / ivi-layermanagement-api / test / TestBase.cpp
1 #include "TestBase.h"
2 #include <cstring>
3
4 void registry_listener_callback(void* data, struct wl_registry* registry, uint32_t id, const char* interface, uint32_t version)
5 {
6     if (0 == strcmp(interface, "wl_compositor"))
7     {
8         wl_compositor** compositor = reinterpret_cast<wl_compositor**>(data);
9         *compositor = reinterpret_cast<wl_compositor*>(wl_registry_bind(registry, id, &wl_compositor_interface, 1));
10     }
11 }
12
13 TestBase::TestBase()
14 : wlSurface(NULL)
15 , wlDisplay(NULL)
16 , wlRegistry(NULL)
17 {
18     wlDisplay = wl_display_connect(NULL);
19     wlRegistry = wl_display_get_registry(wlDisplay);
20
21     static const struct wl_registry_listener registry_listener = {
22         registry_listener_callback,
23         NULL
24     };
25
26     wl_registry_add_listener(wlRegistry, &registry_listener, &wlCompositor);
27     wl_display_dispatch(wlDisplay);
28     wl_display_roundtrip(wlDisplay);
29
30     wlSurface = wl_compositor_create_surface(wlCompositor);
31 }
32
33 TestBase::~TestBase()
34 {
35     wl_surface_destroy(wlSurface);
36     wl_compositor_destroy(wlCompositor);
37     wl_registry_destroy(wlRegistry);
38     wl_display_disconnect(wlDisplay);
39 }
40