| cddb_cmd.h | | cddb_cmd.h | |
| /* | | /* | |
|
| $Id: cddb_cmd.h,v 1.14 2005/05/29 08:07:16 airborne Exp $ | | $Id: cddb_cmd.h,v 1.16 2005/07/17 09:46:33 airborne Exp $ | |
| | | | |
| Copyright (C) 2003, 2004, 2005 Kris Verbeeck <airborne@advalvas.be> | | Copyright (C) 2003, 2004, 2005 Kris Verbeeck <airborne@advalvas.be> | |
| | | | |
| This library is free software; you can redistribute it and/or | | This library is free software; you can redistribute it and/or | |
| modify it under the terms of the GNU Library General Public | | modify it under the terms of the GNU Library General Public | |
| License as published by the Free Software Foundation; either | | License as published by the Free Software Foundation; either | |
| version 2 of the License, or (at your option) any later version. | | version 2 of the License, or (at your option) any later version. | |
| | | | |
| This library is distributed in the hope that it will be useful, | | This library is distributed in the hope that it will be useful, | |
| but WITHOUT ANY WARRANTY; without even the implied warranty of | | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| | | | |
| skipping to change at line 88 | | skipping to change at line 88 | |
| | | | |
| /** | | /** | |
| * Query the CDDB database for a list of possible disc matches. This | | * Query the CDDB database for a list of possible disc matches. This | |
| * function requires that the disc ID and disc length of the provided | | * function requires that the disc ID and disc length of the provided | |
| * disc structure are valid. The disc should also contain a number of | | * disc structure are valid. The disc should also contain a number of | |
| * tracks and for each track its frame offset on the CD should be | | * tracks and for each track its frame offset on the CD should be | |
| * valid. | | * valid. | |
| * | | * | |
| * If there are multiple matches then only the first one will be | | * If there are multiple matches then only the first one will be | |
| * returned by this function. For other matches you will have to use | | * returned by this function. For other matches you will have to use | |
|
| * the cddb_query_next function. | | * the #cddb_query_next function. | |
| * | | | |
| * @see cddb_query_next | | | |
| * | | * | |
| * @param c The CDDB connection structure. | | * @param c The CDDB connection structure. | |
| * @param disc A non-null CDDB disc structure. | | * @param disc A non-null CDDB disc structure. | |
| * | | * | |
| * @return The number of matches found or -1 on error. | | * @return The number of matches found or -1 on error. | |
| */ | | */ | |
| int cddb_query(cddb_conn_t *c, cddb_disc_t *disc); | | int cddb_query(cddb_conn_t *c, cddb_disc_t *disc); | |
| | | | |
| /** | | /** | |
| * Returns the next match in a CDDB query result set. This function | | * Returns the next match in a CDDB query result set. This function | |
|
| * should be used in conjunction with cddb_query. | | * should be used in conjunction with #cddb_query. | |
| * | | | |
| * @see cddb_query | | | |
| * | | * | |
| * @param c The CDDB connection structure. | | * @param c The CDDB connection structure. | |
| * @param disc A non-null CDDB disc structure. | | * @param disc A non-null CDDB disc structure. | |
| */ | | */ | |
| int cddb_query_next(cddb_conn_t *c, cddb_disc_t *disc); | | int cddb_query_next(cddb_conn_t *c, cddb_disc_t *disc); | |
| | | | |
| /** | | /** | |
|
| | | * Perform a text search in the CDDB database. Instead of actually | |
| | | * needing information about a real disc like in #cddb_query this | |
| | | * function accept a string that is used for searching the database. | |
| | | * | |
| | | * If there are multiple matches then only the first one will be | |
| | | * returned by this function. For other matches you will have to use | |
| | | * the #cddb_search_next function. | |
| | | * | |
| | | * @param c The CDDB connection structure. | |
| | | * @param disc A non-null CDDB disc structure. | |
| | | * @param str The search string | |
| | | * | |
| | | * @return The number of matches found or -1 on error. | |
| | | */ | |
| | | int cddb_search(cddb_conn_t *c, cddb_disc_t *disc, const char *str); | |
| | | | |
| | | /** | |
| | | * Returns the next match in a CDDB search result set. This function | |
| | | * should be used in conjunction with #cddb_search. | |
| | | * | |
| | | * @param c The CDDB connection structure. | |
| | | * @param disc A non-null CDDB disc structure. | |
| | | */ | |
| | | int cddb_search_next(cddb_conn_t *c, cddb_disc_t *disc); | |
| | | | |
| | | /** | |
| * Submit a new or updated disc to the CDDB database. This function | | * Submit a new or updated disc to the CDDB database. This function | |
| * requires that the disc ID, length, category, artist and title of | | * requires that the disc ID, length, category, artist and title of | |
| * the provided disc structure are valid. The disc should also | | * the provided disc structure are valid. The disc should also | |
| * contain a number of tracks and for each track its frame offset on | | * contain a number of tracks and for each track its frame offset on | |
| * the CD and title should be valid. | | * the CD and title should be valid. | |
| * | | * | |
| * @param c The CDDB connection structure. | | * @param c The CDDB connection structure. | |
| * @param disc A non-null CDDB disc structure. | | * @param disc A non-null CDDB disc structure. | |
| */ | | */ | |
| int cddb_write(cddb_conn_t *c, cddb_disc_t *disc); | | int cddb_write(cddb_conn_t *c, cddb_disc_t *disc); | |
| | | | |
| /** | | /** | |
| * Query the currently configured server for a list of mirrors. | | * Query the currently configured server for a list of mirrors. | |
|
| | | * Accessing the list of mirror sites is done with the iterator | |
| | | * functions #cddb_first_site and #cddb_next_site. | |
| * | | * | |
| * @param c The CDDB connection structure. | | * @param c The CDDB connection structure. | |
| */ | | */ | |
| int cddb_sites(cddb_conn_t *c); | | int cddb_sites(cddb_conn_t *c); | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif | | #endif | |
| | | | |
| #endif /* CDDB_CMD_H */ | | #endif /* CDDB_CMD_H */ | |
| | | | |
End of changes. 5 change blocks. |
| 7 lines changed or deleted | | 31 lines changed or added | |
|
| cddb_conn.h | | cddb_conn.h | |
| /* | | /* | |
|
| $Id: cddb_conn.h,v 1.29 2005/07/09 08:29:19 airborne Exp $ | | $Id: cddb_conn.h,v 1.30 2005/08/03 18:25:01 airborne Exp $ | |
| | | | |
| Copyright (C) 2003, 2004, 2005 Kris Verbeeck <airborne@advalvas.be> | | Copyright (C) 2003, 2004, 2005 Kris Verbeeck <airborne@advalvas.be> | |
| | | | |
| This library is free software; you can redistribute it and/or | | This library is free software; you can redistribute it and/or | |
| modify it under the terms of the GNU Library General Public | | modify it under the terms of the GNU Library General Public | |
| License as published by the Free Software Foundation; either | | License as published by the Free Software Foundation; either | |
| version 2 of the License, or (at your option) any later version. | | version 2 of the License, or (at your option) any later version. | |
| | | | |
| This library is distributed in the hope that it will be useful, | | This library is distributed in the hope that it will be useful, | |
| but WITHOUT ANY WARRANTY; without even the implied warranty of | | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| | | | |
| skipping to change at line 54 | | skipping to change at line 54 | |
| * conversions. | | * conversions. | |
| */ | | */ | |
| typedef struct cddb_iconv_s *cddb_iconv_t; | | typedef struct cddb_iconv_s *cddb_iconv_t; | |
| | | | |
| /** | | /** | |
| * An opaque structure for keeping state about the connection to a | | * An opaque structure for keeping state about the connection to a | |
| * CDDB server. | | * CDDB server. | |
| */ | | */ | |
| typedef struct cddb_conn_s cddb_conn_t; | | typedef struct cddb_conn_s cddb_conn_t; | |
| | | | |
|
| | | /** | |
| | | * Which fields to use for the full text search is defined by one or | |
| | | * more of the constants below. | |
| | | */ | |
| | | typedef enum { | |
| | | SEARCH_NONE = 0, /**< no fields */ | |
| | | SEARCH_ARTIST = 1, /**< artist name field */ | |
| | | SEARCH_TITLE = 2, /**< disc title field */ | |
| | | SEARCH_TRACK = 4, /**< track title field */ | |
| | | SEARCH_OTHER = 8, /**< other fields */ | |
| | | SEARCH_ALL = ~0, /**< all fields */ | |
| | | } cddb_search_t; | |
| | | | |
| | | /** | |
| | | * Macro to be used for building the category search bit-string from | |
| | | * the values of #cddb_cat_t. | |
| | | */ | |
| | | #define SEARCHCAT(c) (1 << (c)) | |
| | | | |
| /* --- construction / destruction --- */ | | /* --- construction / destruction --- */ | |
| | | | |
| /** | | /** | |
| * Creates a new CDDB connection structure. This structure will have | | * Creates a new CDDB connection structure. This structure will have | |
| * to be passed to all libcddb functions. Default values will be used | | * to be passed to all libcddb functions. Default values will be used | |
| * for the connection parameters allowing it to contact the CDDB | | * for the connection parameters allowing it to contact the CDDB | |
| * server at freedb.org. | | * server at freedb.org. | |
| * | | * | |
| * @return The CDDB connection structure or NULL if something went wrong. | | * @return The CDDB connection structure or NULL if something went wrong. | |
| */ | | */ | |
| | | | |
| skipping to change at line 501 | | skipping to change at line 520 | |
| const cddb_site_t *cddb_first_site(cddb_conn_t *c); | | const cddb_site_t *cddb_first_site(cddb_conn_t *c); | |
| | | | |
| /** | | /** | |
| * Retrieve the next CDDB mirror site. | | * Retrieve the next CDDB mirror site. | |
| * | | * | |
| * @param c The connection structure. | | * @param c The connection structure. | |
| * @return The next mirror site or NULL if not found. | | * @return The next mirror site or NULL if not found. | |
| */ | | */ | |
| const cddb_site_t *cddb_next_site(cddb_conn_t *c); | | const cddb_site_t *cddb_next_site(cddb_conn_t *c); | |
| | | | |
|
| | | /** | |
| | | * Set the bit-string specifying which fields to examine when | |
| | | * performing a text search. By default only the artist and disc | |
| | | * title fields are searched. | |
| | | * | |
| | | * @param c The connection structure. | |
| | | * @param fields A bitwise ORed set of values from #cddb_search_t. | |
| | | */ | |
| | | void cddb_search_set_fields(cddb_conn_t *c, unsigned int fields); | |
| | | | |
| | | /** | |
| | | * Set the bit-string specifying which categories to examine when | |
| | | * performing a text search. The #SEARCHCAT macro needs to be used to | |
| | | * build the actual bit-string from individual categories. The | |
| | | * #cddb_search_t values #SEARCH_NONE and #SEARCH_ALL are also valid. | |
| | | * The example below shows some possible combinations. By default all | |
| | | * categories are searched. | |
| | | * | |
| | | * @code | |
| | | * unsigned int cats = SEARCHCAT(CDDB_CAT_ROCK) | SEARCHCAT(CDDB_CAT_MISC); | |
| | | * unsigned int cats = SEARCH_ALL; | |
| | | * unsigned int cats = SEARCH_NONE; | |
| | | * @endcode | |
| | | * | |
| | | * @param c The connection structure. | |
| | | * @param cats A bitwise ORed set of values from #SEARCHCAT(#cddb_cat_t). | |
| | | */ | |
| | | void cddb_search_set_categories(cddb_conn_t *c, unsigned int cats); | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif | | #endif | |
| | | | |
| #endif /* CDDB_CONN_H */ | | #endif /* CDDB_CONN_H */ | |
| | | | |
End of changes. 3 change blocks. |
| 1 lines changed or deleted | | 49 lines changed or added | |
|