summaryrefslogtreecommitdiffstats
path: root/interfaces/homescreen.xml
diff options
context:
space:
mode:
Diffstat (limited to 'interfaces/homescreen.xml')
-rw-r--r--interfaces/homescreen.xml106
1 files changed, 106 insertions, 0 deletions
diff --git a/interfaces/homescreen.xml b/interfaces/homescreen.xml
new file mode 100644
index 0000000..378ff54
--- /dev/null
+++ b/interfaces/homescreen.xml
@@ -0,0 +1,106 @@
+<!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, 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.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License. -->
+<node>
+<!--
+ org.agl.homescreen:
+ @short_description: A generic interface for the HomeScreen app.
+
+ 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>
+ <!--
+ 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&lt;int&gt;"/>
+ </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>
+