Add org.agl.homescreen function renderSurfaceToAreaAllowed.
[staging/HomeScreen.git] / libhomescreen / src / libhomescreen.cpp
index 03e95d6..03c4baf 100644 (file)
@@ -67,83 +67,71 @@ std::list<int> LibHomeScreen::getAllSurfacesOfProcess(int pid)
     return result;
 }
 
-sRectangle LibHomeScreen::getLayoutRenderAreaForSurfaceId(int surfaceId)
+int LibHomeScreen::getSurfaceStatus(int surfaceId)
 {
-    sRectangle result;
+    int result;
     GError *err = NULL;
 
     GVariant *out_renderArea;
 
-    lib_home_screen_homescreen_call_get_layout_render_area_for_surface_id_sync(
+    lib_home_screen_homescreen_call_get_surface_status_sync(
                 mp_libHomeScreenHomescreen_Proxy,
                 surfaceId,
-                &out_renderArea,
+                &result,
                 NULL,
                 &err);
 
     if (NULL != err)
     {
-        fprintf(stderr, "Unable to call getLayoutRenderAreaForSurfaceId: %s\n", err->message);
+        fprintf(stderr, "Unable to call getSurfaceStatus: %s\n", err->message);
     }
 
-    g_variant_get(out_renderArea, "(iiii)", result.x, result.y, result.width, result.height);
-
     return result;
 }
 
-int LibHomeScreen::getSurfaceStatus(int surfaceId)
+void LibHomeScreen::hardKeyPressed(int key)
 {
-    int result;
     GError *err = NULL;
 
-    GVariant *out_renderArea;
-
-    lib_home_screen_homescreen_call_get_surface_status_sync(
+    lib_home_screen_homescreen_call_hard_key_pressed_sync(
                 mp_libHomeScreenHomescreen_Proxy,
-                surfaceId,
-                &result,
+                key,
                 NULL,
                 &err);
 
     if (NULL != err)
     {
-        fprintf(stderr, "Unable to call getSurfaceStatus: %s\n", err->message);
+        fprintf(stderr, "Unable to call hardKeyPressed: %s\n", err->message);
     }
-
-    return result;
 }
 
-void LibHomeScreen::hardKeyPressed(int key)
+void LibHomeScreen::renderSurfaceToArea(int surfaceId, int layoutArea)
 {
     GError *err = NULL;
 
-    lib_home_screen_homescreen_call_hard_key_pressed_sync(
+    lib_home_screen_homescreen_call_render_surface_to_area_sync(
                 mp_libHomeScreenHomescreen_Proxy,
-                key,
+                surfaceId,
+                layoutArea,
                 NULL,
                 &err);
 
     if (NULL != err)
     {
-        fprintf(stderr, "Unable to call hardKeyPressed: %s\n", err->message);
+        fprintf(stderr, "Unable to call renderSurfaceToArea: %s\n", err->message);
     }
 }
 
-void LibHomeScreen::renderSurfaceToArea(int surfaceId, const sRectangle &renderArea)
+bool LibHomeScreen::renderSurfaceToAreaAllowed(int surfaceId, int layoutArea)
 {
+    gboolean result = true;
     GError *err = NULL;
 
-    GVariant *variant;
-    GVariantBuilder *builder;
-    builder = g_variant_builder_new(G_VARIANT_TYPE("(iiii)"));
-    g_variant_builder_add(builder, "(iiii)", renderArea.x, renderArea.y, renderArea.width, renderArea.height);
-    variant = g_variant_new("(iiii)", builder);
-    g_variant_builder_unref(builder);
-
-    lib_home_screen_homescreen_call_render_surface_to_area_sync(
+    lib_home_screen_homescreen_call_render_surface_to_area_allowed_sync(
                 mp_libHomeScreenHomescreen_Proxy,
                 surfaceId,
-                variant,
+                layoutArea,
+                &result,
                 NULL,
                 &err);
 
@@ -151,6 +139,8 @@ void LibHomeScreen::renderSurfaceToArea(int surfaceId, const sRectangle &renderA
     {
         fprintf(stderr, "Unable to call renderSurfaceToArea: %s\n", err->message);
     }
+
+    return result;
 }
 
 void LibHomeScreen::requestSurfaceIdToFullScreen(int surfaceId)