XMMS2
|
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