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

« back to all changes in this revision

Viewing changes to shell/rb-playlist-manager.h

Tags: upstream-0.9.5
ImportĀ upstreamĀ versionĀ 0.9.5

Show diffs side-by-side

added added

removed removed

Lines of Context:
15
15
 *
16
16
 *  You should have received a copy of the GNU General Public License
17
17
 *  along with this program; if not, write to the Free Software
18
 
 *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
18
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA.
19
19
 *
20
20
 */
21
21
 
25
25
#include "rb-source.h"
26
26
#include "rhythmdb.h"
27
27
#include "rb-sourcelist.h"
28
 
#include "rb-library-source.h"
29
 
#include "rb-iradio-source.h"
30
28
 
31
29
G_BEGIN_DECLS
32
30
 
39
37
 
40
38
typedef enum
41
39
{
42
 
        RB_PLAYLIST_MANAGER_ERROR_PARSE
 
40
        RB_PLAYLIST_MANAGER_ERROR_PARSE,
 
41
        RB_PLAYLIST_MANAGER_ERROR_PLAYLIST_EXISTS,
 
42
        RB_PLAYLIST_MANAGER_ERROR_PLAYLIST_NOT_FOUND
43
43
} RBPlaylistManagerError;
44
44
 
45
45
#define RB_PLAYLIST_MANAGER_ERROR rb_playlist_manager_error_quark ()
60
60
        GObjectClass parent_class;
61
61
 
62
62
        /* signals */
63
 
        void    (*playlist_added) (RBSource *source);
64
 
        void    (*playlist_created) (RBSource *source);
65
 
        void    (*load_start) (void);
66
 
        void    (*load_finish) (void);
 
63
        void    (*playlist_added) (RBPlaylistManager *manager, RBSource *source);
 
64
        void    (*playlist_created) (RBPlaylistManager *manager, RBSource *source);
 
65
        void    (*load_start) (RBPlaylistManager *manager);
 
66
        void    (*load_finish) (RBPlaylistManager *manager);
67
67
} RBPlaylistManagerClass;
68
68
 
 
69
typedef enum
 
70
{
 
71
        RB_PLAYLIST_EXPORT_TYPE_UNKNOWN,
 
72
        RB_PLAYLIST_EXPORT_TYPE_M3U,
 
73
        RB_PLAYLIST_EXPORT_TYPE_PLS,
 
74
} RBPlaylistExportType;
 
75
 
69
76
GType                   rb_playlist_manager_get_type    (void);
70
77
 
71
78
RBPlaylistManager *     rb_playlist_manager_new         (RBShell *shell,
72
 
                                                         RBSourceList *sourcelist,
73
 
                                                         RBLibrarySource *libsource,
74
 
                                                         RBIRadioSource *iradio_source);
 
79
                                                         RBSourceList *sourcelist);
75
80
 
76
81
void                    rb_playlist_manager_shutdown    (RBPlaylistManager *mgr);
77
82
gboolean                rb_playlist_manager_parse_file  (RBPlaylistManager *mgr,
78
83
                                                         const char *uri,
79
84
                                                         GError **error);
80
85
 
81
 
void                    rb_playlist_manager_set_source  (RBPlaylistManager *mgr,
82
 
                                                         RBSource *player);
83
 
 
84
 
void                    rb_playlist_manager_load_legacy_playlists (RBPlaylistManager *mgr);
85
 
 
86
86
void                    rb_playlist_manager_load_playlists (RBPlaylistManager *mgr);
87
87
 
88
 
void                    rb_playlist_manager_save_playlists_async (RBPlaylistManager *mgr, gboolean force);
89
 
void                    rb_playlist_manager_save_playlists (RBPlaylistManager *mgr, gboolean force);
 
88
gboolean                rb_playlist_manager_save_playlists (RBPlaylistManager *mgr, 
 
89
                                                            gboolean force);
90
90
 
91
91
RBSource *              rb_playlist_manager_new_playlist (RBPlaylistManager *mgr,
92
92
                                                          const char *suggested_name,
93
93
                                                          gboolean automatic);
94
94
RBSource *              rb_playlist_manager_new_playlist_from_selection_data (RBPlaylistManager *mgr,
95
95
                                                                              GtkSelectionData *data);
 
96
 
96
97
GList *                 rb_playlist_manager_get_playlists (RBPlaylistManager *manager);
97
98
 
 
99
gboolean                rb_playlist_manager_get_playlist_names (RBPlaylistManager *manager, 
 
100
                                                                gchar ***playlists,
 
101
                                                                GError **error);
 
102
gboolean                rb_playlist_manager_create_static_playlist (RBPlaylistManager *manager,
 
103
                                                                    const gchar *name,
 
104
                                                                    GError **error);
 
105
gboolean                rb_playlist_manager_delete_playlist (RBPlaylistManager *manager,
 
106
                                                             const gchar *name,
 
107
                                                             GError **error);
 
108
gboolean                rb_playlist_manager_add_to_playlist (RBPlaylistManager *manager,
 
109
                                                             const gchar *playlist,
 
110
                                                             const gchar *uri,
 
111
                                                             GError **error);
 
112
gboolean                rb_playlist_manager_remove_from_playlist (RBPlaylistManager *manager,
 
113
                                                                  const gchar *playlist,
 
114
                                                                  const gchar *uri,
 
115
                                                                  GError **error);
 
116
gboolean                rb_playlist_manager_export_playlist (RBPlaylistManager *manager,
 
117
                                                             const gchar *playlist,
 
118
                                                             const gchar *uri,
 
119
                                                             gboolean m3u_format,
 
120
                                                             GError **error);
 
121
 
98
122
G_END_DECLS
99
123
 
100
124
#endif /* __RB_PLAYLIST_MANAGER_H */