Introduces shared lib that provides the API of D-Bus org.agl.homescreen.
[staging/HomeScreen.git] / libhomescreen / src / libhomescreen.cpp
1 #include "homescreen.h" // generated from xml
2 #include "include/libhomescreen.hpp"
3
4 #include <stdio.h>
5 #include <stdlib.h>
6
7 LibHomeScreen::LibHomeScreen()
8 {
9     GError *err = NULL;
10
11     mp_libHomeScreenHomescreen_Proxy = lib_home_screen_homescreen_proxy_new_for_bus_sync(
12                 G_BUS_TYPE_SESSION,
13                 G_DBUS_PROXY_FLAGS_NONE,
14                 "org.agl.homescreen",
15                 "/HomeScreen",
16                 NULL,
17                 &err);
18
19     if (NULL != err)
20     {
21         fprintf(stderr, "Unable to create proxy: %s\n", err->message);
22     }
23 }
24
25 LibHomeScreen::~LibHomeScreen()
26 {
27     g_object_unref(mp_libHomeScreenHomescreen_Proxy);
28 }
29
30 void LibHomeScreen::hardKeyPressed(int key)
31 {
32     GError *err = NULL;
33
34     lib_home_screen_homescreen_call_hard_key_pressed_sync(
35                 mp_libHomeScreenHomescreen_Proxy,
36                 key,
37                 NULL,
38                 &err);
39
40     if (NULL != err)
41     {
42         fprintf(stderr, "Unable to call hardKeyPressed: %s\n", err->message);
43     }
44 }
45
46 void LibHomeScreen::toggleFullScreen()
47 {
48     GError *err = NULL;
49
50     lib_home_screen_homescreen_call_toggle_full_screen_sync(
51                 mp_libHomeScreenHomescreen_Proxy,
52                 NULL,
53                 &err);
54
55     if (NULL != err)
56     {
57         fprintf(stderr, "Unable to call toggleFullScreen: %s\n", err->message);
58     }
59 }