+extern "C" {
#include "homescreen.h" // generated from xml
+}
#include "include/libhomescreen.hpp"
#include <stdio.h>
g_object_unref(mp_libHomeScreenHomescreen_Proxy);
}
+std::vector<int> LibHomeScreen::getAllSurfacesOfProcess(int pid)
+{
+ std::vector<int> result;
+
+ GError *err = NULL;
+
+ GVariant *out_surfaceIds;
+
+ lib_home_screen_homescreen_call_get_all_surfaces_of_process_sync(
+ mp_libHomeScreenHomescreen_Proxy,
+ pid,
+ &out_surfaceIds,
+ NULL,
+ &err);
+
+ if (NULL != err)
+ {
+ fprintf(stderr, "Unable to call getAllSurfacesOfProcess: %s\n", err->message);
+ }
+
+
+ GVariant *element;
+ GVariantIter iter;
+ int i;
+
+ if (g_variant_iter_init(&iter, out_surfaceIds))
+ {
+ while ((element = g_variant_iter_next_value(&iter)) != NULL)
+ {
+ g_variant_get(element, "i", &i);
+ result.push_back(i);
+ g_variant_unref(element);
+ }
+ }
+
+ return result;
+}
+
+int LibHomeScreen::getSurfaceStatus(int surfaceId)
+{
+ int result;
+ GError *err = NULL;
+
+ GVariant *out_renderArea;
+
+ lib_home_screen_homescreen_call_get_surface_status_sync(
+ mp_libHomeScreenHomescreen_Proxy,
+ surfaceId,
+ &result,
+ NULL,
+ &err);
+
+ if (NULL != err)
+ {
+ fprintf(stderr, "Unable to call getSurfaceStatus: %s\n", err->message);
+ }
+
+ return result;
+}
+
void LibHomeScreen::hardKeyPressed(int key)
{
GError *err = NULL;
}
}
-void LibHomeScreen::toggleFullScreen()
+void LibHomeScreen::renderSurfaceToArea(int surfaceId, int layoutArea)
+{
+ GError *err = NULL;
+
+ lib_home_screen_homescreen_call_render_surface_to_area_sync(
+ mp_libHomeScreenHomescreen_Proxy,
+ surfaceId,
+ layoutArea,
+ NULL,
+ &err);
+
+ if (NULL != err)
+ {
+ fprintf(stderr, "Unable to call renderSurfaceToArea: %s\n", err->message);
+ }
+}
+
+bool LibHomeScreen::renderAppToAreaAllowed(int appCategory, int layoutArea)
+{
+ gboolean result = true;
+ GError *err = NULL;
+
+ lib_home_screen_homescreen_call_render_app_to_area_allowed_sync(
+ mp_libHomeScreenHomescreen_Proxy,
+ appCategory,
+ layoutArea,
+ &result,
+ NULL,
+ &err);
+
+ if (NULL != err)
+ {
+ fprintf(stderr, "Unable to call renderAppToAreaAllowed: %s\n", err->message);
+ }
+
+ return result;
+}
+
+void LibHomeScreen::requestSurfaceIdToFullScreen(int surfaceId)
{
GError *err = NULL;
- lib_home_screen_homescreen_call_toggle_full_screen_sync(
+ lib_home_screen_homescreen_call_request_surface_id_to_full_screen_sync(
mp_libHomeScreenHomescreen_Proxy,
+ surfaceId,
NULL,
&err);
if (NULL != err)
{
- fprintf(stderr, "Unable to call toggleFullScreen: %s\n", err->message);
+ fprintf(stderr, "Unable to call requestSurfaceIdToFullScreen: %s\n", err->message);
}
}