<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
-<!-- Copyright (C) 2016 Mentor Graphics Development (Deutschland) GmbH
+<!-- Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
This interface is a collection of methods from different functional areas to control the HomeScreen app.
-->
- <interface name="org.agl.homescreen">
- <!--
- hardKeyPressed:
- @key: The key that was pressed using the inputevent.hpp InputEvent::HardKey type.
-
- This is used to inject hard keys into the HomeScreen app.
- -->
- <method name="hardKeyPressed">
- <arg name="key" type="i" direction="in"/>
- </method>
- <method name="toggleFullScreen">
- </method>
- </interface>
+ <interface name="org.agl.homescreen">
+ <!--
+ hardKeyPressed:
+ @key: The key that was pressed using the inputevent.hpp InputEvent::HardKey type.
+
+ This is used to inject hard keys into the HomeScreen app.
+ -->
+ <method name="hardKeyPressed">
+ <arg name="key" type="i" direction="in"/>
+ </method>
+ <!--
+ getSurfaceStatus:
+ @surfaceId: The given surface.
+ @status: The status can be unknown (-1), visible (0), invisible (1)
+
+ A surface can have three states. It can be visible, then it is shown on the screen.
+ It can be invisible, then it is not shown on the screen. Or the state is unknown.
+ -->
+ <method name="getSurfaceStatus">
+ <arg name="surfaceId" type="i" direction="in"/>
+ <arg name="status" type="i" direction="out"/>
+ </method>
+ <!--
+ requestSurfaceIdToFullScreen:
+ @surfaceId: The surface that request to be shown fullscreen.
+
+ This allows an application to set a surface to full screen.
+ -->
+ <method name="requestSurfaceIdToFullScreen">
+ <arg name="surfaceId" type="i" direction="in"/>
+ </method>
+ <!--
+ getAllSurfacesOfProcess:
+ @pid: The PID of the process.
+ @surfaceIds: A list of surfaces that were created by the process.
+
+ The surface IDs can for example be used to assign them to a layout render area.
+ -->
+ <method name="getAllSurfacesOfProcess">
+ <arg name="pid" type="i" direction="in"/>
+ <arg name="surfaceIds" type="ai" direction="out"/>
+ <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="QList<int>"/>
+ </method>
+ <!--
+ renderAppToAreaAllowed:
+ @appCategory: The application category that is requested. Use enum AppCategory for this!
+ @layoutArea: The layout area where the application shall be rendered. Find the layoutArea ids in the layout definition!
+ @allowed: Returns true, if the application is allowed to be rendered in the area
+
+ This function can be used to request, if it is allowed to render an application of a specific category
+ in a layout area. The idea is to decide from an application point of view to allocate recources or not.
+ Example: an application will decide to render video based on this call. This call will not change anything, it is only a request.
+ -->
+ <method name="renderAppToAreaAllowed">
+ <arg name="appCategory" type="i" direction="in"/>
+ <arg name="layoutArea" type="i" direction="in"/>
+ <arg name="allowed" type="b" direction="out"/>
+ </method>
+ <!--
+ renderSurfaceToArea:
+ @surfaceId: The surface that is requested.
+ @layoutArea: The layout area where the surface shall be rendered. Find the layoutArea ids in the layout definition!
+
+ This is a special case. In the normal use case, one layout area is always filled completely
+ with the first surface, that the process creates (more precise: the surface with the lowest id).
+ By using this function, an app can request to position a different surface in the layout area.
+ -->
+ <method name="renderSurfaceToArea">
+ <arg name="surfaceId" type="i" direction="in"/>
+ <arg name="layoutArea" type="i" direction="in"/>
+ </method>
+ <!--
+ surfaceVisibilityChanged:
+ @surfaceId: The surface that changed.
+ @visible: True, if the surface is visible.
+
+ This is emitted when the visible property of the surfaces changes.
+ -->
+ <signal name="surfaceVisibilityChanged">
+ <arg name="surfaceId" type="i"/>
+ <arg name="visible" type="b"/>
+ </signal>
+ </interface>
</node>