~ubuntu-branches/ubuntu/utopic/rhythmbox/utopic-proposed

« back to all changes in this revision

Viewing changes to remote/rb-remote-client-proxy.h

Tags: upstream-0.9.2
ImportĀ upstreamĀ versionĀ 0.9.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* 
 
2
 * arch-tag: Header for Rhythmbox remote client proxy interface
 
3
 *
 
4
 * Copyright (C) 2004 Colin Walters <walters@verbum.org>
 
5
 *
 
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.
 
10
 *
 
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
 * Library General Public License for more details.
 
15
 *
 
16
 * You should have received a copy of the GNU 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.
 
20
 */
 
21
 
 
22
#ifndef __RB_REMOTE_CLIENT_PROXY_H__
 
23
#define __RB_REMOTE_CLIENT_PROXY_H__
 
24
 
 
25
#include <glib-object.h>
 
26
#include "rb-remote-common.h"
 
27
 
 
28
G_BEGIN_DECLS
 
29
 
 
30
#define RB_TYPE_REMOTE_CLIENT_PROXY (rb_remote_client_proxy_get_type ())
 
31
#define RB_REMOTE_CLIENT_PROXY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RB_TYPE_REMOTE_CLIENT_PROXY, RBRemoteClientProxy))
 
32
#define RB_IS_REMOTE_CLIENT_PROXY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), RB_TYPE_REMOTE_CLIENT_PROXY))
 
33
#define RB_REMOTE_CLIENT_PROXY_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), RB_TYPE_REMOTE_CLIENT_PROXY, RBRemoteClientProxyIface))
 
34
 
 
35
typedef struct _RBRemoteClientProxy        RBRemoteClientProxy; /* Dummy typedef */
 
36
typedef struct _RBRemoteClientProxyIface RBRemoteClientProxyIface;
 
37
 
 
38
struct _RBRemoteClientProxy
 
39
{
 
40
        int dummy;
 
41
};
 
42
 
 
43
struct _RBRemoteClientProxyIface
 
44
{
 
45
        GTypeInterface g_iface;
 
46
        
 
47
        /* Methods */
 
48
        void (*handle_uri) (RBRemoteClientProxy *proxy, const char *uri);
 
49
        void (*add_to_library) (RBRemoteClientProxy *proxy, const char *uri);
 
50
        void (*play_uri) (RBRemoteClientProxy *proxy, const char *uri);
 
51
 
 
52
        RBRemoteSong *(*get_playing_song) (RBRemoteClientProxy *proxy);
 
53
 
 
54
        void (*grab_focus) (RBRemoteClientProxy *proxy);
 
55
        void (*toggle_visibility) (RBRemoteClientProxy *proxy);
 
56
        void (*set_visibility) (RBRemoteClientProxy *proxy, gboolean visible);
 
57
        gboolean (*get_visibility) (RBRemoteClientProxy *proxy);
 
58
 
 
59
        void (*toggle_shuffle) (RBRemoteClientProxy *proxy);
 
60
        void (*set_shuffle) (RBRemoteClientProxy *proxy, gboolean shuffle);
 
61
        gboolean (*get_shuffle) (RBRemoteClientProxy *proxy);
 
62
        void (*toggle_repeat) (RBRemoteClientProxy *proxy);
 
63
        void (*set_repeat) (RBRemoteClientProxy *proxy, gboolean repeat);
 
64
        gboolean (*get_repeat) (RBRemoteClientProxy *proxy);
 
65
 
 
66
        void (*toggle_playing) (RBRemoteClientProxy *proxy);
 
67
        void (*play) (RBRemoteClientProxy *proxy);
 
68
        void (*pause) (RBRemoteClientProxy *proxy);
 
69
 
 
70
        long (*get_playing_time) (RBRemoteClientProxy *proxy);
 
71
        void (*set_playing_time) (RBRemoteClientProxy *proxy, long time);
 
72
        void (*seek) (RBRemoteClientProxy *proxy, long offset);
 
73
        void (*set_rating) (RBRemoteClientProxy *proxy, double rating);
 
74
 
 
75
        void (*jump_next) (RBRemoteClientProxy *proxy);
 
76
        void (*jump_previous) (RBRemoteClientProxy *proxy);
 
77
 
 
78
        void (*set_volume) (RBRemoteClientProxy *proxy, float volume);
 
79
        float (*get_volume) (RBRemoteClientProxy *proxy);
 
80
        void (*toggle_mute) (RBRemoteClientProxy *proxy);
 
81
 
 
82
        void (*quit) (RBRemoteClientProxy *proxy);
 
83
};
 
84
 
 
85
GType rb_remote_client_proxy_get_type (void) G_GNUC_CONST;
 
86
 
 
87
void rb_remote_client_proxy_handle_uri (RBRemoteClientProxy *proxy, const char *uri);
 
88
void rb_remote_client_proxy_add_to_library (RBRemoteClientProxy *proxy, const char *uri);
 
89
void rb_remote_client_proxy_play_uri (RBRemoteClientProxy *proxy, const char *uri);
 
90
 
 
91
RBRemoteSong *rb_remote_client_proxy_get_playing_song (RBRemoteClientProxy *proxy);
 
92
 
 
93
void rb_remote_client_proxy_grab_focus (RBRemoteClientProxy *proxy);
 
94
void rb_remote_client_proxy_toggle_visibility (RBRemoteClientProxy *proxy);
 
95
void rb_remote_client_proxy_set_visibility (RBRemoteClientProxy *proxy, gboolean visible);
 
96
gboolean rb_remote_client_proxy_get_visibility (RBRemoteClientProxy *proxy);
 
97
 
 
98
void rb_remote_client_proxy_toggle_shuffle (RBRemoteClientProxy *proxy);
 
99
void rb_remote_client_proxy_set_shuffle (RBRemoteClientProxy *proxy, gboolean shuffle);
 
100
gboolean rb_remote_client_proxy_get_shuffle (RBRemoteClientProxy *proxy);
 
101
void rb_remote_client_proxy_toggle_repeat (RBRemoteClientProxy *proxy);
 
102
void rb_remote_client_proxy_set_repeat (RBRemoteClientProxy *proxy, gboolean repeat);
 
103
gboolean rb_remote_client_proxy_get_repeat (RBRemoteClientProxy *proxy);
 
104
 
 
105
void rb_remote_client_proxy_toggle_playing (RBRemoteClientProxy *proxy);
 
106
void rb_remote_client_proxy_play (RBRemoteClientProxy *proxy);
 
107
void rb_remote_client_proxy_pause (RBRemoteClientProxy *proxy);
 
108
 
 
109
long rb_remote_client_proxy_get_playing_time (RBRemoteClientProxy *proxy);
 
110
void rb_remote_client_proxy_set_playing_time (RBRemoteClientProxy *proxy, long time);
 
111
void rb_remote_client_proxy_seek (RBRemoteClientProxy *proxy, long offset);
 
112
void rb_remote_client_proxy_set_rating (RBRemoteClientProxy *proxy, double rating);
 
113
 
 
114
void rb_remote_client_proxy_jump_next (RBRemoteClientProxy *proxy);
 
115
void rb_remote_client_proxy_jump_previous (RBRemoteClientProxy *proxy);
 
116
 
 
117
void rb_remote_client_proxy_set_volume (RBRemoteClientProxy *proxy, float volume);
 
118
float rb_remote_client_proxy_get_volume (RBRemoteClientProxy *proxy);
 
119
void rb_remote_client_proxy_toggle_mute (RBRemoteClientProxy *proxy);
 
120
 
 
121
void rb_remote_client_proxy_quit (RBRemoteClientProxy *proxy);
 
122
 
 
123
G_END_DECLS
 
124
 
 
125
#endif /* __RB_REMOTE_CLIENT_PROXY_H__ */