mirror of
https://github.com/flatpak/flatpak.git
synced 2026-05-18 21:55:22 -04:00
lib: Make getters for XdgAppRemote return copies of strings for options
This makes it possible to handle the case when these options change over time.
This commit is contained in:
@@ -31,8 +31,6 @@ typedef struct _XdgAppRemotePrivate XdgAppRemotePrivate;
|
||||
struct _XdgAppRemotePrivate
|
||||
{
|
||||
char *name;
|
||||
char *url;
|
||||
char *title;
|
||||
XdgAppDir *dir;
|
||||
};
|
||||
|
||||
@@ -51,8 +49,6 @@ xdg_app_remote_finalize (GObject *object)
|
||||
XdgAppRemotePrivate *priv = xdg_app_remote_get_instance_private (self);
|
||||
|
||||
g_free (priv->name);
|
||||
g_free (priv->url);
|
||||
g_free (priv->title);
|
||||
g_object_unref (priv->dir);
|
||||
|
||||
G_OBJECT_CLASS (xdg_app_remote_parent_class)->finalize (object);
|
||||
@@ -132,27 +128,25 @@ xdg_app_remote_get_name (XdgAppRemote *self)
|
||||
return priv->name;
|
||||
}
|
||||
|
||||
const char *
|
||||
char *
|
||||
xdg_app_remote_get_url (XdgAppRemote *self)
|
||||
{
|
||||
XdgAppRemotePrivate *priv = xdg_app_remote_get_instance_private (self);
|
||||
OstreeRepo *repo = xdg_app_dir_get_repo (priv->dir);
|
||||
char *url;
|
||||
|
||||
if (priv->url == NULL)
|
||||
ostree_repo_remote_get_url (repo, priv->name, &priv->url, NULL);
|
||||
if (ostree_repo_remote_get_url (repo, priv->name, &url, NULL))
|
||||
return url;
|
||||
|
||||
return priv->url;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
const char *
|
||||
char *
|
||||
xdg_app_remote_get_title (XdgAppRemote *self)
|
||||
{
|
||||
XdgAppRemotePrivate *priv = xdg_app_remote_get_instance_private (self);
|
||||
|
||||
if (priv->title == NULL)
|
||||
priv->title = xdg_app_dir_get_remote_title (priv->dir, priv->name);
|
||||
|
||||
return priv->title ? priv->title : priv->name;
|
||||
return xdg_app_dir_get_remote_title (priv->dir, priv->name);
|
||||
}
|
||||
|
||||
gboolean
|
||||
|
||||
@@ -48,9 +48,9 @@ typedef struct {
|
||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC(XdgAppRemote, g_object_unremote)
|
||||
#endif
|
||||
|
||||
XDG_APP_EXTERN const char * xdg_app_remote_get_url (XdgAppRemote *self);
|
||||
XDG_APP_EXTERN const char * xdg_app_remote_get_name (XdgAppRemote *self);
|
||||
XDG_APP_EXTERN const char * xdg_app_remote_get_title (XdgAppRemote *self);
|
||||
XDG_APP_EXTERN char * xdg_app_remote_get_url (XdgAppRemote *self);
|
||||
XDG_APP_EXTERN char * xdg_app_remote_get_title (XdgAppRemote *self);
|
||||
XDG_APP_EXTERN gboolean xdg_app_remote_get_gpg_verify (XdgAppRemote *self);
|
||||
XDG_APP_EXTERN gboolean xdg_app_remote_get_noenumerate (XdgAppRemote *self);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user