-@008-11-28 Matthias Clasen <mclasen@redhat.com>
+2008-11-28 Matthias Clasen <mclasen@redhat.com>
+
+ * gio/gio-sections.txt: Add g_app_info_get_commandline
+
+2008-11-28 Matthias Clasen <mclasen@redhat.com>
* glib/tmpl/keyfile.sgml: Explain locale identifiers in
more detail
-@008-11-28 Matthias Clasen <mclasen@redhat.com>
+2008-11-28 Matthias Clasen <mclasen@redhat.com>
Bug 562549 – g_byte_array_free should tell how free data
g_app_info_get_name
g_app_info_get_description
g_app_info_get_executable
+g_app_info_get_commandline
g_app_info_get_icon
g_app_info_launch
g_app_info_supports_files
+2008-11-28 Matthias Clasen <mclasen@redhat.com>
+
+ Bug 555486 – No way to recover command line from GAppInfo
+
+ * gio.symbols:
+ * gappinfo.[hc]: Add g_app_info_get_commandline. Requested
+ by Hans Petter Jansson.
+
+ * gdesktopappinfo.c: And implement it here.
+
2008-11-28 Christian Dywan <christian@imendio.com>
* gappinfo.c: Fix a typo, s/detext/detect. Patch by Enrico Tröger.
/**
* g_app_info_get_executable:
- * @appinfo: a #GAppInfo.
+ * @appinfo: a #GAppInfo
*
* Gets the executable's name for the installed application.
*
* Returns: a string containing the @appinfo's application
- * binary's name.
+ * binary's name
**/
const char *
g_app_info_get_executable (GAppInfo *appinfo)
/**
+ * g_app_info_get_commandline:
+ * @appinfo: a #GAppInfo
+ *
+ * Gets the commandline with which the application will be
+ * started.
+ *
+ * Returns: a string containing the @appinfo's commandline,
+ * or %NULL if this information is not available
+ *
+ * Since: 2.20
+ **/
+const char *
+g_app_info_get_commandline (GAppInfo *appinfo)
+{
+ GAppInfoIface *iface;
+
+ g_return_val_if_fail (G_IS_APP_INFO (appinfo), NULL);
+
+ iface = G_APP_INFO_GET_IFACE (appinfo);
+
+ if (iface->get_commandline)
+ return (* iface->get_commandline) (appinfo);
+
+ return NULL;
+}
+
+/**
* g_app_info_set_as_default_for_type:
* @appinfo: a #GAppInfo.
* @content_type: the content type.
GError **error);
gboolean (* can_delete) (GAppInfo *appinfo);
gboolean (* do_delete) (GAppInfo *appinfo);
+ const char * (* get_commandline) (GAppInfo *appinfo);
};
GType g_app_info_get_type (void) G_GNUC_CONST;
const char *g_app_info_get_name (GAppInfo *appinfo);
const char *g_app_info_get_description (GAppInfo *appinfo);
const char *g_app_info_get_executable (GAppInfo *appinfo);
+const char *g_app_info_get_commandline (GAppInfo *appinfo);
GIcon * g_app_info_get_icon (GAppInfo *appinfo);
gboolean g_app_info_launch (GAppInfo *appinfo,
GList *files,
return info->binary;
}
+static const char *
+g_desktop_app_info_get_commandline (GAppInfo *appinfo)
+{
+ GDesktopAppInfo *info = G_DESKTOP_APP_INFO (appinfo);
+
+ return info->exec;
+}
+
static GIcon *
g_desktop_app_info_get_icon (GAppInfo *appinfo)
{
iface->remove_supports_type = g_desktop_app_info_remove_supports_type;
iface->can_delete = g_desktop_app_info_can_delete;
iface->do_delete = g_desktop_app_info_delete;
+ iface->get_commandline = g_desktop_app_info_get_commandline;
}
static gboolean
g_app_info_get_name
g_app_info_get_description
g_app_info_get_executable
+g_app_info_get_commandline
g_app_info_get_icon
g_app_info_launch
g_app_info_supports_uris