~ubuntu-branches/ubuntu/precise/rhythmbox/precise-201203091205

« back to all changes in this revision

Viewing changes to shell/rb-play-order.h

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

Show diffs side-by-side

added added

removed removed

Lines of Context:
38
38
#ifndef __RB_PLAY_ORDER_H
39
39
#define __RB_PLAY_ORDER_H
40
40
 
41
 
#include "rhythmdb/rhythmdb.h"
 
41
#include <rhythmdb/rhythmdb.h>
 
42
#include <rhythmdb/rhythmdb-query-model.h>
42
43
 
43
 
#include "rb-shell-player.h"
44
 
#include "rb-entry-view.h"
 
44
#include <rb-shell-player.h>
45
45
 
46
46
G_BEGIN_DECLS
47
47
 
61
61
        RBPlayOrderPrivate *priv;
62
62
} RBPlayOrder;
63
63
 
 
64
typedef gboolean (*RBPlayOrderQueryFunc) (RBPlayOrder *porder);
 
65
 
64
66
typedef struct
65
67
{
66
68
        GObjectClass parent_class;
68
70
        /* EVENTS */
69
71
        void (*playing_source_changed) (RBPlayOrder *porder);
70
72
        void (*db_changed) (RBPlayOrder *porder, RhythmDB *new_db);
71
 
        void (*playing_entry_changed) (RBPlayOrder *porder, RhythmDBEntry *new_entry);
 
73
        void (*playing_entry_changed) (RBPlayOrder *porder, RhythmDBEntry *old_entry, RhythmDBEntry *new_entry);
72
74
        void (*entry_added) (RBPlayOrder *porder, RhythmDBEntry *entry);
73
75
        void (*entry_removed) (RBPlayOrder *porder, RhythmDBEntry *entry);
74
 
        void (*entries_replaced) (RBPlayOrder *porder);
 
76
        void (*query_model_changed) (RBPlayOrder *porder);
75
77
        void (*db_entry_deleted) (RBPlayOrder *porder, RhythmDBEntry *entry);
76
78
 
77
79
        /* QUERIES */
124
126
         */
125
127
        void (*go_previous) (RBPlayOrder* porder);
126
128
 
 
129
        /* SIGNALS */
 
130
        void (*have_next_previous_changed) (RBPlayOrder *porder, gboolean have_next, gboolean have_previous);
 
131
        void (*playing_entry_removed) (RBPlayOrder *porder, RhythmDBEntry *entry);
127
132
} RBPlayOrderClass;
128
133
 
129
134
GType                   rb_play_order_get_type          (void);
145
150
} RBPlayOrderDescription;
146
151
const RBPlayOrderDescription *  rb_play_order_get_orders        (void);
147
152
 
148
 
void                    rb_play_order_playing_source_changed    (RBPlayOrder *porder);
 
153
void                    rb_play_order_playing_source_changed    (RBPlayOrder *porder,
 
154
                                                                 RBSource *source);
 
155
void                    rb_play_order_query_model_changed       (RBPlayOrder *porder);
149
156
 
150
157
gboolean                rb_play_order_has_next          (RBPlayOrder* porder);
151
158
RhythmDBEntry *         rb_play_order_get_next          (RBPlayOrder *porder);
154
161
RhythmDBEntry *         rb_play_order_get_previous      (RBPlayOrder *porder);
155
162
void                    rb_play_order_go_previous       (RBPlayOrder *porder);
156
163
 
 
164
void                    rb_play_order_set_playing_entry (RBPlayOrder *porder,
 
165
                                                         RhythmDBEntry *entry);
 
166
RhythmDBEntry *         rb_play_order_get_playing_entry (RBPlayOrder *porder);
 
167
 
157
168
/* Private utility functions used by play order implementations */
158
169
 
159
170
RBShellPlayer *         rb_play_order_get_player        (RBPlayOrder *porder);
160
171
RBSource *              rb_play_order_get_source        (RBPlayOrder *porder);
161
172
RhythmDB *              rb_play_order_get_db            (RBPlayOrder *porder);
162
 
/**
163
 
 * Gets the entry-view through the source. Returns NULL if there is no entry-view.
164
 
 */
165
 
RBEntryView*            rb_play_order_get_entry_view    (RBPlayOrder *porder);
166
 
/**
167
 
 * Returns NULL if nothing is playing
168
 
 */
169
 
RhythmDBEntry *         rb_play_order_get_playing_entry (RBPlayOrder *porder);
 
173
RhythmDBQueryModel *    rb_play_order_get_query_model   (RBPlayOrder *porder);
 
174
gboolean                rb_play_order_model_not_empty   (RBPlayOrder *porder);
 
175
 
 
176
void                    rb_play_order_have_next_changed (RBPlayOrder *porder, gboolean have_next);
 
177
void                    rb_play_order_have_previous_changed (RBPlayOrder *porder, gboolean have_previous);
170
178
 
171
179
gboolean                rb_play_order_player_is_playing (RBPlayOrder *porder);
172
180
 
 
181
void                    rb_play_order_check_if_empty (RBPlayOrder *porder, RhythmDBEntry *entry);
 
182
 
173
183
void                    rb_play_order_ref_entry_swapped         (RhythmDBEntry *entry, RhythmDB *db);
174
184
void                    rb_play_order_unref_entry_swapped       (RhythmDBEntry *entry, RhythmDB *db);
175
185