diff options
author | Bocklage, Jens <Jens_Bocklage@mentor.com> | 2016-10-31 11:40:18 +0100 |
---|---|---|
committer | Bocklage, Jens <Jens_Bocklage@mentor.com> | 2016-10-31 11:40:18 +0100 |
commit | 949bf001944f462b4fbf8d28ee7e9643c9888bee (patch) | |
tree | 4de706ec9ddd0faa5717254f9cded41e9dd884bd /libhomescreen/src/libhomescreen.cpp | |
parent | d19555c038f6f1f89f08f12c88908d84b32b1bbf (diff) |
Introduces shared lib that provides the API of D-Bus org.agl.homescreen.
Initial implementation to show the idea. Also availabale a sample app that uses the new lib. The lib uses the GNU D-Bus lib.
Signed-off-by: Bocklage, Jens <Jens_Bocklage@mentor.com>
Diffstat (limited to 'libhomescreen/src/libhomescreen.cpp')
-rw-r--r-- | libhomescreen/src/libhomescreen.cpp | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/libhomescreen/src/libhomescreen.cpp b/libhomescreen/src/libhomescreen.cpp new file mode 100644 index 0000000..978a42c --- /dev/null +++ b/libhomescreen/src/libhomescreen.cpp @@ -0,0 +1,59 @@ +#include "homescreen.h" // generated from xml +#include "include/libhomescreen.hpp" + +#include <stdio.h> +#include <stdlib.h> + +LibHomeScreen::LibHomeScreen() +{ + GError *err = NULL; + + mp_libHomeScreenHomescreen_Proxy = lib_home_screen_homescreen_proxy_new_for_bus_sync( + G_BUS_TYPE_SESSION, + G_DBUS_PROXY_FLAGS_NONE, + "org.agl.homescreen", + "/HomeScreen", + NULL, + &err); + + if (NULL != err) + { + fprintf(stderr, "Unable to create proxy: %s\n", err->message); + } +} + +LibHomeScreen::~LibHomeScreen() +{ + g_object_unref(mp_libHomeScreenHomescreen_Proxy); +} + +void LibHomeScreen::hardKeyPressed(int key) +{ + GError *err = NULL; + + lib_home_screen_homescreen_call_hard_key_pressed_sync( + mp_libHomeScreenHomescreen_Proxy, + key, + NULL, + &err); + + if (NULL != err) + { + fprintf(stderr, "Unable to call hardKeyPressed: %s\n", err->message); + } +} + +void LibHomeScreen::toggleFullScreen() +{ + GError *err = NULL; + + lib_home_screen_homescreen_call_toggle_full_screen_sync( + mp_libHomeScreenHomescreen_Proxy, + NULL, + &err); + + if (NULL != err) + { + fprintf(stderr, "Unable to call toggleFullScreen: %s\n", err->message); + } +} |