2
* arch-tag: Implementation of Rhythmbox remote client proxy interface
4
* Copyright (C) 2004 Colin Walters <walters@verbum.org>
6
* This program is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU General Public
8
* License as published by the Free Software Foundation; either
9
* version 2 of the License, or (at your option) any later version.
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* General Public License for more details.
16
* You should have received a copy of the GNU Library General Public
17
* License along with this library; if not, write to the
18
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19
* Boston, MA 02111-1307, USA.
23
#include "rb-remote-client-proxy.h"
25
static void rb_remote_client_proxy_base_init (gpointer g_class);
28
rb_remote_client_proxy_get_type (void)
30
static GType type = 0;
33
static const GTypeInfo rb_remote_client_proxy_info = {
34
sizeof (RBRemoteClientProxyIface), /* class_size */
35
rb_remote_client_proxy_base_init, /* base_init */
36
NULL, /* base_finalize */
38
NULL, /* class_finalize */
39
NULL, /* class_data */
45
type = g_type_register_static (G_TYPE_INTERFACE, "RBRemoteClientProxy",
46
&rb_remote_client_proxy_info, 0);
48
g_type_interface_add_prerequisite (type, G_TYPE_OBJECT);
55
rb_remote_client_proxy_base_init (gpointer g_class)
57
static gboolean initialized = FALSE;
65
rb_remote_client_proxy_handle_uri (RBRemoteClientProxy *proxy, const char *uri)
67
(* RB_REMOTE_CLIENT_PROXY_GET_IFACE (proxy)->handle_uri) (proxy, uri);
71
rb_remote_client_proxy_add_to_library (RBRemoteClientProxy *proxy, const char *uri)
73
(* RB_REMOTE_CLIENT_PROXY_GET_IFACE (proxy)->add_to_library) (proxy, uri);
77
rb_remote_client_proxy_play_uri (RBRemoteClientProxy *proxy, const char *uri)
79
(* RB_REMOTE_CLIENT_PROXY_GET_IFACE (proxy)->play_uri) (proxy, uri);
83
rb_remote_client_proxy_get_playing_song (RBRemoteClientProxy *proxy)
85
return (* RB_REMOTE_CLIENT_PROXY_GET_IFACE (proxy)->get_playing_song) (proxy);
89
rb_remote_client_proxy_grab_focus (RBRemoteClientProxy *proxy)
91
(* RB_REMOTE_CLIENT_PROXY_GET_IFACE (proxy)->grab_focus) (proxy);
95
rb_remote_client_proxy_toggle_visibility (RBRemoteClientProxy *proxy)
97
(* RB_REMOTE_CLIENT_PROXY_GET_IFACE (proxy)->toggle_visibility) (proxy);
101
rb_remote_client_proxy_set_visibility (RBRemoteClientProxy *proxy, gboolean visible)
103
(* RB_REMOTE_CLIENT_PROXY_GET_IFACE (proxy)->set_visibility) (proxy, visible);
107
rb_remote_client_proxy_get_visibility (RBRemoteClientProxy *proxy)
109
return (* RB_REMOTE_CLIENT_PROXY_GET_IFACE (proxy)->get_visibility) (proxy);
113
rb_remote_client_proxy_toggle_shuffle (RBRemoteClientProxy *proxy)
115
(* RB_REMOTE_CLIENT_PROXY_GET_IFACE (proxy)->toggle_shuffle) (proxy);
119
rb_remote_client_proxy_toggle_repeat (RBRemoteClientProxy *proxy)
121
(* RB_REMOTE_CLIENT_PROXY_GET_IFACE (proxy)->toggle_repeat) (proxy);
125
rb_remote_client_proxy_toggle_playing (RBRemoteClientProxy *proxy)
127
(* RB_REMOTE_CLIENT_PROXY_GET_IFACE (proxy)->toggle_playing) (proxy);
131
rb_remote_client_proxy_play (RBRemoteClientProxy *proxy)
133
(* RB_REMOTE_CLIENT_PROXY_GET_IFACE (proxy)->play) (proxy);
137
rb_remote_client_proxy_pause (RBRemoteClientProxy *proxy)
139
(* RB_REMOTE_CLIENT_PROXY_GET_IFACE (proxy)->pause) (proxy);
143
rb_remote_client_proxy_get_playing_time (RBRemoteClientProxy *proxy)
145
return (* RB_REMOTE_CLIENT_PROXY_GET_IFACE (proxy)->get_playing_time) (proxy);
149
rb_remote_client_proxy_set_playing_time (RBRemoteClientProxy *proxy, long time)
151
(* RB_REMOTE_CLIENT_PROXY_GET_IFACE (proxy)->set_playing_time) (proxy, time);
155
rb_remote_client_proxy_seek (RBRemoteClientProxy *proxy, long offset)
157
(* RB_REMOTE_CLIENT_PROXY_GET_IFACE (proxy)->seek) (proxy, offset);
161
rb_remote_client_proxy_set_rating (RBRemoteClientProxy *proxy, double rating)
163
(* RB_REMOTE_CLIENT_PROXY_GET_IFACE (proxy)->set_rating) (proxy, rating);
167
rb_remote_client_proxy_jump_next (RBRemoteClientProxy *proxy)
169
(* RB_REMOTE_CLIENT_PROXY_GET_IFACE (proxy)->jump_next) (proxy);
173
rb_remote_client_proxy_jump_previous (RBRemoteClientProxy *proxy)
175
(* RB_REMOTE_CLIENT_PROXY_GET_IFACE (proxy)->jump_previous) (proxy);
179
rb_remote_client_proxy_quit (RBRemoteClientProxy *proxy)
181
(* RB_REMOTE_CLIENT_PROXY_GET_IFACE (proxy)->quit) (proxy);
185
rb_remote_client_proxy_set_volume (RBRemoteClientProxy *proxy, float volume)
187
(* RB_REMOTE_CLIENT_PROXY_GET_IFACE (proxy)->set_volume) (proxy, volume);
191
rb_remote_client_proxy_get_volume (RBRemoteClientProxy *proxy)
193
return (* RB_REMOTE_CLIENT_PROXY_GET_IFACE (proxy)->get_volume) (proxy);
197
rb_remote_client_proxy_toggle_mute (RBRemoteClientProxy *proxy)
199
(* RB_REMOTE_CLIENT_PROXY_GET_IFACE (proxy)->toggle_mute) (proxy);