[Xfce4-commits] r29959 - in libexo/branches/exo-thumbnailers: . exo-thumbnailers
Jannis Pohlmann
jannis at xfce.org
Thu May 14 22:04:43 CEST 2009
Author: jannis
Date: 2009-05-14 20:04:43 +0000 (Thu, 14 May 2009)
New Revision: 29959
Added:
libexo/branches/exo-thumbnailers/exo-thumbnailers/exo-thumbnailer-marshal.list
Modified:
libexo/branches/exo-thumbnailers/ChangeLog
libexo/branches/exo-thumbnailers/exo-thumbnailers/exo-generic-thumbnailer.c
libexo/branches/exo-thumbnailers/exo-thumbnailers/exo-generic-thumbnailer.h
libexo/branches/exo-thumbnailers/exo-thumbnailers/exo-thumbnailer-service-dbus.xml
libexo/branches/exo-thumbnailers/exo-thumbnailers/exo-thumbnailer-service.c
Log:
* exo-thumbnailers/Makefile.am,
exo-thumbnailers/exo-generic-thumbnailer.{c,h},
exo-thumbnailers/exo-thumbnailer-marshal.list,
exo-thumbnailers/exo-thumbnailer-service-dbus.xml,
exo-thumbnailers/exo-thumbnailer-service.c,
exo-thumbnailers/org.xfce.ExoThumbnailer.service.in: Add
exo-thumbnailer-marshal.list. Implement the Generic API of the
thumbnail management D-Bus specification in the generic thumbnailer.
It doesn't do anything yet but at least it is properly recognized as
a service now and responds to all D-Bus methods defined in the spec.
Modified: libexo/branches/exo-thumbnailers/ChangeLog
===================================================================
--- libexo/branches/exo-thumbnailers/ChangeLog 2009-05-14 14:59:24 UTC (rev 29958)
+++ libexo/branches/exo-thumbnailers/ChangeLog 2009-05-14 20:04:43 UTC (rev 29959)
@@ -1,5 +1,18 @@
2009-05-14 Jannis Pohlmann <jannis at xfce.org>
+ * exo-thumbnailers/Makefile.am,
+ exo-thumbnailers/exo-generic-thumbnailer.{c,h},
+ exo-thumbnailers/exo-thumbnailer-marshal.list,
+ exo-thumbnailers/exo-thumbnailer-service-dbus.xml,
+ exo-thumbnailers/exo-thumbnailer-service.c,
+ exo-thumbnailers/org.xfce.ExoThumbnailer.service.in: Add
+ exo-thumbnailer-marshal.list. Implement the Generic API of the
+ thumbnail management D-Bus specification in the generic thumbnailer.
+ It doesn't do anything yet but at least it is properly recognized as
+ a service now and responds to all D-Bus methods defined in the spec.
+
+2009-05-14 Jannis Pohlmann <jannis at xfce.org>
+
* configure.in.in, Makefile.am, exo-thumbnailers/Makefile.am,
exo-thumbnailers/exo-generic-thumbnailer.{c,h},
exo-thumbnailers/exo-thumbnailer-service-dbus.xml,
Modified: libexo/branches/exo-thumbnailers/exo-thumbnailers/exo-generic-thumbnailer.c
===================================================================
--- libexo/branches/exo-thumbnailers/exo-thumbnailers/exo-generic-thumbnailer.c 2009-05-14 14:59:24 UTC (rev 29958)
+++ libexo/branches/exo-thumbnailers/exo-thumbnailers/exo-generic-thumbnailer.c 2009-05-14 20:04:43 UTC (rev 29959)
@@ -25,6 +25,8 @@
#include <glib.h>
#include <glib-object.h>
+#include <exo/exo-private.h>
+#include <exo-thumbnailers/exo-thumbnailer-marshal.h>
#include <exo-thumbnailers/exo-generic-thumbnailer.h>
#include <exo-thumbnailers/exo-generic-thumbnailer-dbus-bindings.h>
@@ -34,6 +36,18 @@
+/* Signal identifiers */
+enum
+{
+ READY,
+ STARTED,
+ FINISHED,
+ ERROR,
+ LAST_SIGNAL,
+};
+
+
+
/* Property identifiers */
enum
{
@@ -60,6 +74,18 @@
struct _ExoGenericThumbnailerClass
{
GObjectClass __parent__;
+
+ void (*ready) (ExoGenericThumbnailer *thumbnailer,
+ const gchar **uris);
+ void (*started) (ExoGenericThumbnailer *thumbnailer,
+ guint32 handle);
+ void (*finished) (ExoGenericThumbnailer *thumbnailer,
+ guint32 handle);
+ void (*error) (ExoGenericThumbnailer *thumbnailer,
+ guint32 handle,
+ const gchar **failed_uris,
+ gint error_code,
+ const gchar *message);
};
struct _ExoGenericThumbnailer
@@ -77,6 +103,7 @@
static GObjectClass *exo_generic_thumbnailer_parent_class = NULL;
+static gint thumbnailer_signals[LAST_SIGNAL];
@@ -117,6 +144,48 @@
gobject_class->get_property = exo_generic_thumbnailer_get_property;
gobject_class->set_property = exo_generic_thumbnailer_set_property;
+ thumbnailer_signals[READY] = g_signal_new ("ready",
+ EXO_TYPE_GENERIC_THUMBNAILER,
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (ExoGenericThumbnailerClass, ready),
+ NULL, NULL,
+ g_cclosure_marshal_VOID__BOXED,
+ G_TYPE_NONE,
+ 1,
+ G_TYPE_STRV);
+
+ thumbnailer_signals[STARTED] = g_signal_new ("started",
+ EXO_TYPE_GENERIC_THUMBNAILER,
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (ExoGenericThumbnailerClass, started),
+ NULL, NULL, g_cclosure_marshal_VOID__UINT,
+ G_TYPE_NONE,
+ 1,
+ G_TYPE_UINT);
+
+ thumbnailer_signals[FINISHED] = g_signal_new ("finished",
+ EXO_TYPE_GENERIC_THUMBNAILER,
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (ExoGenericThumbnailerClass, finished),
+ NULL, NULL,
+ g_cclosure_marshal_VOID__UINT,
+ G_TYPE_NONE,
+ 1,
+ G_TYPE_UINT);
+
+ thumbnailer_signals[ERROR] = g_signal_new ("error",
+ EXO_TYPE_GENERIC_THUMBNAILER,
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (ExoGenericThumbnailerClass, error),
+ NULL, NULL,
+ _exo_thumbnailer_marshal_VOID__UINT_BOXED_INT_STRING,
+ G_TYPE_NONE,
+ 4,
+ G_TYPE_UINT,
+ G_TYPE_STRV,
+ G_TYPE_INT,
+ G_TYPE_STRING);
+
dbus_g_object_type_install_info (G_TYPE_FROM_CLASS (klass),
&dbus_glib_exo_generic_thumbnailer_object_info);
}
@@ -206,29 +275,82 @@
guint32 *handle,
GError **error)
{
- gint n;
+ _exo_return_val_if_fail (EXO_IS_GENERIC_THUMBNAILER (thumbnailer), FALSE);
+ _exo_return_val_if_fail (uris != NULL, FALSE);
+ _exo_return_val_if_fail (error == NULL || *error == NULL, FALSE);
- g_debug ("exo_generic_thumbnailer_queue:");
+ return TRUE;
+}
+
+
+gboolean
+exo_generic_thumbnailer_unqueue (ExoGenericThumbnailer *thumbnailer,
+ guint32 handle,
+ GError **error)
+{
+ _exo_return_val_if_fail (EXO_IS_GENERIC_THUMBNAILER (thumbnailer), FALSE);
+ _exo_return_val_if_fail (error == NULL || *error == NULL, FALSE);
+
return TRUE;
+}
- g_debug (" uris = ");
- for (n = 0; uris[n] != NULL; ++n)
- g_debug (" %s", uris[n]);
- g_debug (" mime_hints = ");
- for (n = 0; mime_hints[n] != NULL; ++n)
- g_debug (" %s", mime_hints[n]);
+gboolean
+exo_generic_thumbnailer_move (ExoGenericThumbnailer *thumbnailer,
+ const gchar **from_uris,
+ const gchar **to_uris,
+ GError **error)
+{
+ _exo_return_val_if_fail (EXO_IS_GENERIC_THUMBNAILER (thumbnailer), FALSE);
+ _exo_return_val_if_fail (from_uris != NULL, FALSE);
+ _exo_return_val_if_fail (to_uris != NULL, FALSE);
+ _exo_return_val_if_fail (error == NULL || *error == NULL, FALSE);
+
return TRUE;
}
-gboolean
-exo_generic_thumbnailer_test (ExoGenericThumbnailer *thumbnailer,
+gboolean
+exo_generic_thumbnailer_copy (ExoGenericThumbnailer *thumbnailer,
+ const gchar **from_uris,
+ const gchar **to_uris,
GError **error)
{
- g_debug ("Test");
+ _exo_return_val_if_fail (EXO_IS_GENERIC_THUMBNAILER (thumbnailer), FALSE);
+ _exo_return_val_if_fail (from_uris != NULL, FALSE);
+ _exo_return_val_if_fail (to_uris != NULL, FALSE);
+ _exo_return_val_if_fail (error == NULL || *error == NULL, FALSE);
+
return TRUE;
}
+
+
+
+gboolean
+exo_generic_thumbnailer_delete (ExoGenericThumbnailer *thumbnailer,
+ const gchar **uris,
+ GError **error)
+{
+ _exo_return_val_if_fail (EXO_IS_GENERIC_THUMBNAILER (thumbnailer), FALSE);
+ _exo_return_val_if_fail (uris != NULL, FALSE);
+ _exo_return_val_if_fail (error == NULL || *error == NULL, FALSE);
+
+ return TRUE;
+}
+
+
+
+gboolean
+exo_generic_thumbnailer_cleanup (ExoGenericThumbnailer *thumbnailer,
+ const gchar *uri_prefix,
+ guint32 since,
+ GError **error)
+{
+ _exo_return_val_if_fail (EXO_IS_GENERIC_THUMBNAILER (thumbnailer), FALSE);
+ _exo_return_val_if_fail (error == NULL || *error == NULL, FALSE);
+
+ return TRUE;
+}
Modified: libexo/branches/exo-thumbnailers/exo-thumbnailers/exo-generic-thumbnailer.h
===================================================================
--- libexo/branches/exo-thumbnailers/exo-thumbnailers/exo-generic-thumbnailer.h 2009-05-14 14:59:24 UTC (rev 29958)
+++ libexo/branches/exo-thumbnailers/exo-thumbnailers/exo-generic-thumbnailer.h 2009-05-14 20:04:43 UTC (rev 29959)
@@ -42,11 +42,27 @@
gboolean exo_generic_thumbnailer_queue (ExoGenericThumbnailer *thumbnailer,
const gchar **uris,
const gchar **mime_hints,
- guint32 unqueue_handle,
+ guint32 handle_to_unqueue,
guint32 *handle,
GError **error);
-gboolean exo_generic_thumbnailer_test (ExoGenericThumbnailer *thumbnailer,
+gboolean exo_generic_thumbnailer_unqueue (ExoGenericThumbnailer *thumbnailer,
+ guint32 handle,
GError **error);
+gboolean exo_generic_thumbnailer_move (ExoGenericThumbnailer *thumbnailer,
+ const gchar **from_uris,
+ const gchar **to_uris,
+ GError **error);
+gboolean exo_generic_thumbnailer_copy (ExoGenericThumbnailer *thumbnailer,
+ const gchar **from_uris,
+ const gchar **to_uris,
+ GError **error);
+gboolean exo_generic_thumbnailer_delete (ExoGenericThumbnailer *thumbnailer,
+ const gchar **uris,
+ GError **error);
+gboolean exo_generic_thumbnailer_cleanup (ExoGenericThumbnailer *thumbnailer,
+ const gchar *uri_prefix,
+ guint32 since,
+ GError **error);
G_END_DECLS;
Added: libexo/branches/exo-thumbnailers/exo-thumbnailers/exo-thumbnailer-marshal.list
===================================================================
--- libexo/branches/exo-thumbnailers/exo-thumbnailers/exo-thumbnailer-marshal.list (rev 0)
+++ libexo/branches/exo-thumbnailers/exo-thumbnailers/exo-thumbnailer-marshal.list 2009-05-14 20:04:43 UTC (rev 29959)
@@ -0,0 +1 @@
+VOID:UINT,BOXED,INT,STRING
Modified: libexo/branches/exo-thumbnailers/exo-thumbnailers/exo-thumbnailer-service-dbus.xml
===================================================================
--- libexo/branches/exo-thumbnailers/exo-thumbnailers/exo-thumbnailer-service-dbus.xml 2009-05-14 14:59:24 UTC (rev 29958)
+++ libexo/branches/exo-thumbnailers/exo-thumbnailers/exo-thumbnailer-service-dbus.xml 2009-05-14 20:04:43 UTC (rev 29959)
@@ -12,7 +12,48 @@
<arg type="u" name="handle" direction="out" />
</method>
- <method name="Test">
+ <method name="Unqueue">
+ <arg type="u" name="handle" direction="in" />
</method>
+
+ <method name="Move">
+ <arg type="as" name="from_uris" direction="in" />
+ <arg type="as" name="to_uris" direction="in" />
+ </method>
+
+ <method name="Copy">
+ <arg type="as" name="from_uris" direction="in" />
+ <arg type="as" name="to_uris" direction="in" />
+ </method>
+
+ <method name="Delete">
+ <arg type="as" name="uris" direction="in" />
+ </method>
+
+ <method name="Cleanup">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
+ <arg type="s" name="uri_prefix" direction="in" />
+ <arg type="u" name="since" direction="in" />
+ </method>
+
+ <signal name="Ready">
+ <arg type="as" name="uris" />
+ </signal>
+
+ <signal name="Started">
+ <arg type="u" name="handle" />
+ </signal>
+
+ <signal name="Finished">
+ <arg type="u" name="handle" />
+ </signal>
+
+ <signal name="Error">
+ <arg type="u" name="handle" />
+ <arg type="as" name="failed_uris" />
+ <arg type="i" name="error_code" />
+ <arg type="s" name="message" />
+ </signal>
+
</interface>
</node>
Modified: libexo/branches/exo-thumbnailers/exo-thumbnailers/exo-thumbnailer-service.c
===================================================================
--- libexo/branches/exo-thumbnailers/exo-thumbnailers/exo-thumbnailer-service.c 2009-05-14 14:59:24 UTC (rev 29958)
+++ libexo/branches/exo-thumbnailers/exo-thumbnailers/exo-thumbnailer-service.c 2009-05-14 20:04:43 UTC (rev 29959)
@@ -234,7 +234,7 @@
else if (error != NULL)
{
g_set_error (error, DBUS_GERROR, DBUS_GERROR_FAILED,
- _("Another org.freedesktop.thumbnailer.Generic is already running"));
+ _("Another generic freedesktop.org thumbnailer is already running"));
}
return FALSE;
More information about the Xfce4-commits
mailing list