-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathorg.freedesktop.portal.Flatpak.xml
149 lines (129 loc) · 5.45 KB
/
org.freedesktop.portal.Flatpak.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
<!DOCTYPE node PUBLIC
"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<!--
Copyright (C) 2018 Red Hat, Inc.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General
Public License along with this library; if not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
Author: Alexander Larsson <alexl@redhat.com>
-->
<node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
<!--
org.freedesktop.portal.Flatpak:
@short_description: Flatpak portal
The flatpak portal exposes some interactions with flatpak on the
host to the sandbox. For example, it allows you to restart the
applications or start a more sandboxed instance.
The D-Bus interface for the document portal is available under the
bus name org.freedesktop.portal.Flatpak and the object path
/org/freedesktop/portal/flatpak.
This documentation describes version 1 of this interface.
-->
<interface name='org.freedesktop.portal.Flatpak'>
<property name="version" type="u" access="read"/>
<!--
Spawn:
@cwd_path: the working directory for the new process
@argv: the argv for the new process, starting with the executable to launch
@fds: an array of file descriptors to pass to the new process
@envs: an array of variable/value pairs for the environment of the new process
@flags: flags
@options: Vardict with optional further information
@pid: the PID of the new process
This methods let you start a new instance of your
application, optionally enabling a tighter sandbox.
The following flags values are supported:
<variablelist>
<varlistentry>
<term>1</term>
<listitem><para>
Clear the environment.
</para></listitem>
</varlistentry>
<varlistentry>
<term>2</term>
<listitem><para>
Spawn the latest version of the app.
</para></listitem>
</varlistentry>
<varlistentry>
<term>4</term>
<listitem><para>
Spawn in a sandbox (equivalent of the sandbox option of flatpak run).
</para></listitem>
</varlistentry>
<varlistentry>
<term>8</term>
<listitem><para>
Spawn without network (equivalent of the unshare=network option of flatpak run).
</para></listitem>
</varlistentry>
</variablelist>
The following options are supported:
<variablelist>
<varlistentry>
<term>sandbox-expose as</term>
<listitem><para>
A list of filenames for files inside the sandbox that will be exposed
to the new sandbox, for reading and writing. Note that absolute paths
or subdirectories are not allowed.
</para></listitem>
</varlistentry>
<varlistentry>
<term>sandbox-expose-ro as</term>
<listitem><para>
A list of filenames for files inside the sandbox that will be exposed
to the new sandbox, readonly. Note that absolute paths or subdirectories
are not allowed.
</para></listitem>
</varlistentry>
</variablelist>
-->
<method name="Spawn">
<annotation name="org.gtk.GDBus.C.UnixFD" value="true"/>
<arg type='ay' name='cwd_path' direction='in'/>
<arg type='aay' name='argv' direction='in'/>
<arg type='a{uh}' name='fds' direction='in'/>
<arg type='a{ss}' name='envs' direction='in'/>
<arg type='u' name='flags' direction='in'/>
<arg type="a{sv}" name="options" direction="in"/>
<arg type='u' name='pid' direction='out'/>
</method>
<!--
SpawnSignal:
@pid: the PID of the process to send the signal to
@signal: the signal to send (see signal(7))
@to_process_group: whether to send the signal to the process group
This methods let you send a Unix signal to a process
that was started with org.freedesktop.portal.Flatpak.Spawn().
The @pid argument here should be the PID that is returned
by the Spawn() call.
-->
<method name="SpawnSignal">
<arg type='u' name='pid' direction='in'/>
<arg type='u' name='signal' direction='in'/>
<arg type='b' name='to_process_group' direction='in'/>
</method>
<!--
SpawnExited:
@pid: the PID of the process that has ended
@exit_status: the exit status (see waitpid(2))
Emitted when a process started by org.freedesktop.portal.Flatpak.Spawn()
exits.
-->
<signal name="SpawnExited">
<arg type='u' name='pid' direction='out'/>
<arg type='u' name='exit_status' direction='out'/>
</signal>
</interface>
</node>