XMMS2

src/includepriv/xmmspriv/xmms_medialib.h

Go to the documentation of this file.
00001 /*  XMMS2 - X Music Multiplexer System
00002  *  Copyright (C) 2003-2009 XMMS2 Team
00003  *
00004  *  PLUGINS ARE NOT CONSIDERED TO BE DERIVED WORK !!!
00005  *
00006  *  This library is free software; you can redistribute it and/or
00007  *  modify it under the terms of the GNU Lesser General Public
00008  *  License as published by the Free Software Foundation; either
00009  *  version 2.1 of the License, or (at your option) any later version.
00010  *
00011  *  This library is distributed in the hope that it will be useful,
00012  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  *  Lesser General Public License for more details.
00015  */
00016 
00017 
00018 
00019 
00020 #ifndef __XMMS_PRIV_MEDIALIB_H__
00021 #define __XMMS_PRIV_MEDIALIB_H__
00022 
00023 #include "xmms/xmms_medialib.h"
00024 #include "xmmspriv/xmms_playlist.h"
00025 #include "xmmspriv/xmms_sqlite.h"
00026 
00027 typedef struct xmms_medialib_St xmms_medialib_t;
00028 
00029 xmms_medialib_t *xmms_medialib_init (xmms_playlist_t *playlist);
00030 
00031 GList *xmms_medialib_select (xmms_medialib_session_t *, const gchar *query, xmms_error_t *error);
00032 GList *xmms_medialib_info_list (xmms_medialib_t *medialib, guint32 id, xmms_error_t *err);
00033 
00034 xmms_medialib_entry_t xmms_medialib_entry_not_resolved_get (xmms_medialib_session_t *session);
00035 guint xmms_medialib_num_not_resolved (xmms_medialib_session_t *session);
00036 void xmms_medialib_entry_remove (xmms_medialib_entry_t entry);
00037 
00038 void xmms_medialib_entry_cleanup (xmms_medialib_session_t *session, xmms_medialib_entry_t entry);
00039 xmms_medialib_entry_t xmms_medialib_entry_new_encoded (xmms_medialib_session_t *session, const char *url, xmms_error_t *error);
00040 gboolean xmms_medialib_decode_url (char *url);
00041 gboolean xmms_medialib_check_id (xmms_medialib_entry_t entry);
00042 
00043 gboolean xmms_medialib_entry_property_set_str_source (xmms_medialib_session_t *session, xmms_medialib_entry_t entry, const gchar *property, const gchar *value, guint32 source);
00044 gboolean xmms_medialib_entry_property_set_int_source (xmms_medialib_session_t *session, xmms_medialib_entry_t entry, const gchar *property, gint value, guint32 source);
00045 guint32 xmms_medialib_source_to_id (xmms_medialib_session_t *session, const gchar *source);
00046 void xmms_medialib_add_recursive (xmms_medialib_t *medialib, const gchar *playlist, const gchar *path, xmms_error_t *error);
00047 void xmms_medialib_insert_recursive (xmms_medialib_t *medialib, const gchar *playlist, gint32 pos, const gchar *path, xmms_error_t *error);
00048 
00049 #endif