diff src/audacious/dbus-service.h @ 2711:c35913222440 trunk

[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
author magma
date Wed, 09 May 2007 14:36:37 -0700
parents src/audacious/dbus.h@2d1837805ca4
children cf080b11c3fa
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/audacious/dbus-service.h	Wed May 09 14:36:37 2007 -0700
@@ -0,0 +1,91 @@
+/*
+ * Audacious: A cross-platform multimedia player
+ * Copyright (c) 2007 Ben Tucker
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; under version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
+ */
+
+#ifndef _DBUS_SERVICE_H
+#define _DBUS_SERVICE_H
+
+#include <glib.h>
+
+#define DBUS_API_SUBJECT_TO_CHANGE
+#include <dbus/dbus-glib.h>
+
+typedef struct {
+    GObject parent;
+    DBusGConnection *connection;
+} RemoteObject;
+
+typedef struct {
+    GObjectClass parent_class;
+} RemoteObjectClass;
+
+void init_dbus();
+void free_dbus();
+DBusGProxy *audacious_get_dbus_proxy();
+
+// Audacious General Information
+gboolean audacious_remote_version(RemoteObject *obj, gchar **version,
+                                  GError **error);
+
+// Playback Information/Manipulation
+gboolean audacious_remote_play(RemoteObject *obj, GError **error);
+gboolean audacious_remote_pause(RemoteObject *obj, GError **error);
+gboolean audacious_remote_stop(RemoteObject *obj, GError **error);
+gboolean audacious_remote_playing(RemoteObject *obj, gboolean *is_playing,
+                                  GError **error);
+gboolean audacious_remote_paused(RemoteObject *obj, gboolean *is_paused,
+                                 GError **error);
+gboolean audacious_remote_stopped(RemoteObject *obj, gboolean *is_stopped,
+                                  GError **error);
+gboolean audacious_remote_status(RemoteObject *obj, gchar **status,
+                                 GError **error);
+gboolean audacious_remote_time(RemoteObject *obj, gint *time, GError **error);
+gboolean audacious_remote_seek(RemoteObject *obj, guint pos, GError **error);
+gboolean audacious_remote_volume(RemoteObject *obj, gint *vl, gint *vr,
+                                 GError **error);
+gboolean audacious_remote_set_volume(RemoteObject *obj, gint vl, gint vr,
+                                     GError **error);
+gboolean audacious_remote_balance(RemoteObject *obj, gint *balance,
+                                  GError **error);
+
+// Playlist Information/Manipulation
+gboolean audacious_remote_position(RemoteObject *obj, int *pos, GError **error);
+gboolean audacious_remote_advance(RemoteObject *obj, GError **error);
+gboolean audacious_remote_reverse(RemoteObject *obj, GError **error);
+gboolean audacious_remote_length(RemoteObject *obj, int *length,
+                                 GError **error);
+gboolean audacious_remote_song_title(RemoteObject *obj, int pos,
+                                     gchar **title, GError **error);
+gboolean audacious_remote_song_filename(RemoteObject *obj, int pos,
+                                        gchar **filename, GError **error);
+gboolean audacious_remote_song_length(RemoteObject *obj, int pos, int *length,
+                                      GError **error);
+gboolean audacious_remote_song_frames(RemoteObject *obj, int pos, int *length,
+                                      GError **error);
+gboolean audacious_remote_jump(RemoteObject *obj, int pos, GError **error);
+gboolean audacious_remote_add_url(RemoteObject *obj, gchar *url,
+                                  GError **error);
+gboolean audacious_remote_delete(RemoteObject *obj, int pos, GError **error);
+gboolean audacious_remote_clear(RemoteObject *obj, GError **error);
+gboolean audacious_remote_repeating(RemoteObject *obj, gboolean *is_repeating,
+                                    GError **error);
+gboolean audacious_remote_repeat(RemoteObject *obj, GError **error);
+gboolean audacious_remote_shuffling(RemoteObject *obj, gboolean *is_shuffling,
+                                    GError **error);
+gboolean audacious_remote_shuffle(RemoteObject *obj, GError **error);
+#endif // !_DBUS_SERVICE_H