Top | ![]() |
![]() |
![]() |
![]() |
XdgAppInstallation is the toplevel object that software installers should use to operate on an xdg-apps.
An XdgAppInstallation object provides information about an installation location for xdg-app applications. Typical installation locations are either system-wide (in /var/lib/xdg-app) or per-user (in ~/.local/share/xdg-app).
XdgAppInstallation can list configured remotes as well as installed application and runtime references (in short: refs). It can also run, install, update and uninstall applications and runtimes.
XdgAppInstallation * xdg_app_installation_new_system (GCancellable *cancellable
,GError **error
);
Creates a new XdgAppInstallation for the system-wide installation.
XdgAppInstallation * xdg_app_installation_new_user (GCancellable *cancellable
,GError **error
);
Creates a new XdgAppInstallation for the per-user installation.
XdgAppInstallation * xdg_app_installation_new_for_path (GFile *path
,gboolean user
,GCancellable *cancellable
,GError **error
);
Creates a new XdgAppInstallation for the installation at the given path
.
gboolean
xdg_app_installation_get_is_user (XdgAppInstallation *self
);
Returns whether the installation is for a user-specific location.
GFile *
xdg_app_installation_get_path (XdgAppInstallation *self
);
Returns the installation location for self
.
GFileMonitor * xdg_app_installation_create_monitor (XdgAppInstallation *self
,GCancellable *cancellable
,GError **error
);
Gets monitor object for the installation. The returned file monitor will emit the “changed” signal whenever an application or runtime was installed, uninstalled or updated.
XdgAppInstalledRef * xdg_app_installation_install (XdgAppInstallation *self
,const char *remote_name
,XdgAppRefKind kind
,const char *name
,const char *arch
,const char *branch
,XdgAppProgressCallback progress
,gpointer progress_data
,GCancellable *cancellable
,GError **error
);
Install a new application or runtime.
self |
||
remote_name |
name of the remote to use |
|
kind |
what this ref contains (an XdgAppRefKind) |
|
name |
name of the app/runtime to fetch |
|
arch |
which architecture to fetch (default: current architecture). |
[nullable] |
branch |
which branch to fetch (default: 'master'). |
[nullable] |
progress |
progress callback. |
[scope call] |
progress_data |
user data passed to |
|
cancellable |
a GCancellable. |
[nullable] |
error |
return location for a GError |
XdgAppInstalledRef * xdg_app_installation_update (XdgAppInstallation *self
,XdgAppUpdateFlags flags
,XdgAppRefKind kind
,const char *name
,const char *arch
,const char *branch
,XdgAppProgressCallback progress
,gpointer progress_data
,GCancellable *cancellable
,GError **error
);
Update an application or runtime.
self |
||
flags |
an XdgAppUpdateFlags variable |
|
kind |
whether this is an app or runtime |
|
name |
name of the app or runtime to update |
|
arch |
architecture of the app or runtime to update (default: current architecture). |
[nullable] |
branch |
name of the branch of the app or runtime to update (default: master). |
[nullable] |
progress |
the callback. |
[scope call] |
progress_data |
user data passed to |
|
cancellable |
a GCancellable. |
[nullable] |
error |
return location for a GError |
gboolean xdg_app_installation_uninstall (XdgAppInstallation *self
,XdgAppRefKind kind
,const char *name
,const char *arch
,const char *branch
,XdgAppProgressCallback progress
,gpointer progress_data
,GCancellable *cancellable
,GError **error
);
Uninstall an application or runtime.
self |
||
kind |
what this ref contains (an XdgAppRefKind) |
|
name |
name of the app or runtime to uninstall |
|
arch |
architecture of the app or runtime to uninstall |
|
branch |
name of the branch of the app or runtime to uninstall |
|
progress |
the callback. |
[scope call] |
progress_data |
user data passed to |
|
cancellable |
a GCancellable. |
[nullable] |
error |
return location for a GError |
gboolean xdg_app_installation_launch (XdgAppInstallation *self
,const char *name
,const char *arch
,const char *branch
,const char *commit
,GCancellable *cancellable
,GError **error
);
Launch an installed application.
You can use xdg_app_installation_get_installed_ref()
or
xdg_app_installation_get_current_installed_app()
to find out what builds
are available, in order to get a value for commit
.
self |
||
name |
name of the app to launch |
|
arch |
which architecture to launch (default: current architecture). |
[nullable] |
branch |
which branch of the application (default: "master"). |
[nullable] |
commit |
the commit of |
[nullable] |
cancellable |
a GCancellable. |
[nullable] |
error |
return location for a GError |
XdgAppInstalledRef * xdg_app_installation_get_current_installed_app (XdgAppInstallation *self
,const char *name
,GCancellable *cancellable
,GError **error
);
Get the last build of reference name
that was installed with
xdg_app_installation_install()
, or NULL
if the reference has
never been installed locally.
XdgAppInstalledRef * xdg_app_installation_get_installed_ref (XdgAppInstallation *self
,XdgAppRefKind kind
,const char *name
,const char *arch
,const char *branch
,GCancellable *cancellable
,GError **error
);
Returns information about an installed ref, such as the available builds, its size, location, etc.
self |
||
kind |
whether this is an app or runtime |
|
name |
name of the app/runtime to fetch |
|
arch |
which architecture to fetch (default: current architecture). |
[nullable] |
branch |
which branch to fetch (default: "master"). |
[nullable] |
cancellable |
a GCancellable. |
[nullable] |
error |
return location for a GError |
GPtrArray * xdg_app_installation_list_installed_refs (XdgAppInstallation *self
,GCancellable *cancellable
,GError **error
);
Lists the installed references.
an GPtrArray of XdgAppInstalledRef instances.
[transfer container][element-type XdgAppInstalledRef]
GPtrArray * xdg_app_installation_list_installed_refs_by_kind (XdgAppInstallation *self
,XdgAppRefKind kind
,GCancellable *cancellable
,GError **error
);
Lists the installed references of a specific kind.
self |
||
kind |
the kind of installation |
|
cancellable |
a GCancellable. |
[nullable] |
error |
return location for a GError |
an GPtrArray of XdgAppInstalledRef instances.
[transfer container][element-type XdgAppInstalledRef]
GPtrArray * xdg_app_installation_list_installed_refs_for_update (XdgAppInstallation *self
,GCancellable *cancellable
,GError **error
);
Lists the installed references that has a remote update that is not locally available. However, even though an app is not returned by this it can have local updates available that has not been deployed. Look at commit vs latest_commit on installed apps for this.
an GPtrArray of XdgAppInstalledRef instances.
[transfer container][element-type XdgAppInstalledRef]
GPtrArray * xdg_app_installation_list_remote_refs_sync (XdgAppInstallation *self
,const char *remote_name
,GCancellable *cancellable
,GError **error
);
Lists all the applications and runtimes in a remote.
self |
||
remote_name |
the name of the remote |
|
cancellable |
a GCancellable. |
[nullable] |
error |
return location for a GError |
an GPtrArray of XdgAppRemoteRef instances.
[transfer container][element-type XdgAppRemoteRef]
GPtrArray * xdg_app_installation_list_remotes (XdgAppInstallation *self
,GCancellable *cancellable
,GError **error
);
Lists the remotes, in priority (highest first) order. For same priority, an earlier added remote comes before a later added one.
GBytes * xdg_app_installation_fetch_remote_metadata_sync (XdgAppInstallation *self
,const char *remote_name
,const char *commit
,GCancellable *cancellable
,GError **error
);
Obtains the metadata file from a commit.
This is deprecated, use xdg_app_installation_fetch_remote_metadata_sync2
XdgAppRemoteRef * xdg_app_installation_fetch_remote_ref_sync (XdgAppInstallation *self
,const char *remote_name
,XdgAppRefKind kind
,const char *name
,const char *arch
,const char *branch
,GCancellable *cancellable
,GError **error
);
Gets the current remote branch of a ref in the remote.
self |
||
remote_name |
the name of the remote |
|
kind |
what this ref contains (an XdgAppRefKind) |
|
name |
name of the app/runtime to fetch |
|
arch |
which architecture to fetch (default: current architecture). |
[nullable] |
branch |
which branch to fetch (default: 'master'). |
[nullable] |
cancellable |
a GCancellable. |
[nullable] |
error |
return location for a GError |
gboolean xdg_app_installation_fetch_remote_size_sync (XdgAppInstallation *self
,const char *remote_name
,const char *commit
,guint64 *download_size
,guint64 *installed_size
,GCancellable *cancellable
,GError **error
);
Gets information about the amount of data that needs to be transferred to pull a commit from a remote repository, and about the amount of local disk space that is required to check out this commit.
This is deprectated, use xdg_app_installation_fetch_remote_size_sync2 instead.
char * xdg_app_installation_load_app_overrides (XdgAppInstallation *self
,const char *app_id
,GCancellable *cancellable
,GError **error
);
Loads the metadata overrides file for an application.
gboolean xdg_app_installation_update_appstream_sync (XdgAppInstallation *self
,const char *remote_name
,const char *arch
,gboolean *out_changed
,GCancellable *cancellable
,GError **error
);
Updates the local copy of appstream for remote_name
for the specified arch
.
XdgAppInstalledRef * xdg_app_installation_install_bundle (XdgAppInstallation *self
,GFile *file
,XdgAppProgressCallback progress
,gpointer progress_data
,GCancellable *cancellable
,GError **error
);
Install an application or runtime from an xdg-app bundle file. See xdg-app-build-bundle(1) for how to create brundles.
void (*XdgAppProgressCallback) (const char *status
,guint progress
,gboolean estimating
,gpointer user_data
);
The progress callback is called repeatedly during long-running operations such as installations or updates, and can be used to update progress information in a user interface.
The callback occurs in the thread-default context of the caller.