blob: 6c2954dc31a0927a8d98ea910557309d12fcc838 (
plain)
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
|
<!DOCTYPE node PUBLIC
'-//freedesktop//DTD D-BUS Object Introspection 1.0//EN'
'http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd'>
<node>
<!--
org.gnome.Epiphany.WebAppProvider:
@short_description: Webapp provider interface
The interface used for handling Epiphany Webapps in GNOME Software, or other
clients (version 1).
-->
<interface name="org.gnome.Epiphany.WebAppProvider">
<!--
GetInstalledApps:
@desktop_file_ids: An array of .desktop file names, one for each
installed web app, with the .desktop suffix included
Returns the set of installed Epiphany web applications. The caller can
use them with g_desktop_app_info_new() if outside the sandbox.
-->
<method name="GetInstalledApps">
<arg type="as" name="webapps" direction="out" />
</method>
<!--
Install:
@url: the URL of the web app
@name: the human readable name of the web app
@install_token: the token acquired via org.freedesktop.portal.InstallDynamicLauncher
@desktop_file_id: the desktop file id of the installed app, with a
".desktop" suffix
Installs a web app. This interface is expected to be used by trusted
system components such as GNOME Software, which can acquire an
@install_token using the portal method
org.freedesktop.portal.DynamicLauncher.RequestInstallToken(). This allows Epiphany
to install the web app without user interaction and despite being sandboxed.
This is desirable because the user would've already clicked "Install" in
Software; they should not have to confirm the operation again in a different
app (Epiphany).
The @install_token must be provided so that Epiphany can complete the
installation without a user-facing dialog. The icon given to
org.freedesktop.portal.InstallDynamicLauncher.RequestInstallToken() will
be used, and the name given to that method should match the @name given here.
If the arguments passed are invalid this method returns the error
`org.gnome.Epiphany.WebAppProvider.Error.InvalidArgs`, and otherwise
`org.gnome.Epiphany.WebAppProvider.Error.Failed`.
-->
<method name="Install">
<arg type="s" name="url" direction="in" />
<arg type="s" name="name" direction="in" />
<arg type="s" name="install_token" direction="in" />
<arg type="s" name="desktop_file_id" direction="out" />
</method>
<!--
Uninstall:
@desktop_file_id: the filename of the .desktop file for an installed web
app, with the .desktop suffix
Uninstalls a web app. Note that the @desktop_file_id is just a filename
not a full path, and it's the same one returned by the
GetInstalledWebApps() method.
The error `org.gnome.Epiphany.WebAppProvider.Error.NotInstalled` will be
returned if the specified web app is not installed. The other possible
error values are `org.gnome.Epiphany.WebAppProvider.Error.InvalidArgs`
and `org.gnome.Epiphany.WebAppProvider.Error.Failed`.
-->
<method name="Uninstall">
<arg type="s" name="desktop_file_id" direction="in" />
</method>
<!--
Version:
The API version number, to be incremented for backwards compatible
changes so clients can determine which features are available. For
backwards incompatible changes, the interface name will change.
-->
<property name="Version" type="u" access="read"/>
</interface>
</node>
|