libmusicbrainz3 3.0.3
|
00001 /* 00002 * MusicBrainz -- The Internet music metadatabase 00003 * 00004 * Copyright (C) 2006 Lukas Lalinsky 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 * You should have received a copy of the GNU Lesser General Public 00017 * License along with this library; if not, write to the Free Software 00018 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 00019 * 00020 * 00021 */ 00022 00023 #ifndef __MUSICBRAINZ3_MB_C_H__ 00024 #define __MUSICBRAINZ3_MB_C_H__ 00025 00026 #ifdef __cplusplus 00027 extern "C" { 00028 #endif 00029 00030 #include <musicbrainz3/defines.h> 00031 00032 /* {{{ Typedefs */ 00033 00034 typedef void *MbArtist; 00035 typedef void *MbArtistAlias; 00036 typedef void *MbArtistFilter; 00037 typedef void *MbArtistIncludes; 00038 typedef void *MbLabel; 00039 typedef void *MbLabelAlias; 00040 typedef void *MbLabelFilter; 00041 typedef void *MbLabelIncludes; 00042 typedef void *MbDisc; 00043 typedef void *MbEntity; 00044 typedef void *MbQuery; 00045 typedef void *MbRelation; 00046 typedef void *MbRelease; 00047 typedef void *MbReleaseEvent; 00048 typedef void *MbReleaseGroup; 00049 typedef void *MbReleaseGroupFilter; 00050 typedef void *MbReleaseGroupIncludes; 00051 typedef void *MbReleaseFilter; 00052 typedef void *MbReleaseIncludes; 00053 typedef void *MbResultList; 00054 typedef void *MbTrack; 00055 typedef void *MbTrackFilter; 00056 typedef void *MbTrackIncludes; 00057 typedef void *MbUser; 00058 typedef void *MbUserFilter; 00059 typedef void *MbWebService; 00060 00061 /* }}} */ 00062 00063 /* {{{ MusicBrainz::WebService */ 00064 00070 MB_API MbWebService 00071 mb_webservice_new(); 00072 00078 MB_API void 00079 mb_webservice_free(MbWebService webservice); 00080 00084 MB_API void 00085 mb_webservice_set_host(MbWebService webservice, const char *str); 00086 00090 MB_API void 00091 mb_webservice_set_port(MbWebService webservice, int port); 00092 00096 MB_API void 00097 mb_webservice_set_path_prefix(MbWebService webservice, const char *str); 00098 00102 MB_API void 00103 mb_webservice_set_username(MbWebService webservice, const char *str); 00104 00108 MB_API void 00109 mb_webservice_set_password(MbWebService webservice, const char *str); 00110 00114 MB_API void 00115 mb_webservice_set_realm(MbWebService webservice, const char *str); 00116 00120 MB_API void 00121 mb_webservice_set_proxy_host(MbWebService webservice, const char *str); 00122 00126 MB_API void 00127 mb_webservice_set_proxy_port(MbWebService webservice, int port); 00128 00132 MB_API void 00133 mb_webservice_set_proxy_username(MbWebService webservice, const char *str); 00134 00138 MB_API void 00139 mb_webservice_set_proxy_password(MbWebService webservice, const char *str); 00140 00141 /* }}} */ 00142 00143 /* {{{ MusicBrainz::Query */ 00144 00150 MB_API MbQuery 00151 mb_query_new(MbWebService ws, const char *client_id); 00152 00158 MB_API void 00159 mb_query_free(MbQuery query); 00160 00166 MB_API MbArtist 00167 mb_query_get_artist_by_id(MbQuery query, const char *id, MbArtistIncludes inc); 00168 00174 MB_API MbLabel 00175 mb_query_get_label_by_id(MbQuery query, const char *id, MbLabelIncludes inc); 00176 00182 MB_API MbRelease 00183 mb_query_get_release_by_id(MbQuery query, const char *id, MbReleaseIncludes inc); 00184 00185 MB_API MbReleaseGroup 00186 mb_query_get_release_group_by_id(MbQuery query, const char *id, MbReleaseGroupIncludes inc); 00187 00193 MB_API MbTrack 00194 mb_query_get_track_by_id(MbQuery query, const char *id, MbTrackIncludes inc); 00195 00201 MB_API MbUser 00202 mb_query_get_user_by_name(MbQuery query, const char *name); 00203 00204 /* }}} */ 00205 00206 MB_API void 00207 mb_result_list_free(MbResultList list); 00208 00209 MB_API int 00210 mb_result_list_get_size(MbResultList list); 00211 00212 MB_API int 00213 mb_result_list_get_score(MbResultList list, int index); 00214 00215 MB_API MbArtist 00216 mb_result_list_get_artist(MbResultList list, int index); 00217 00218 MB_API MbLabel 00219 mb_result_list_get_label(MbResultList list, int index); 00220 00221 MB_API MbRelease 00222 mb_result_list_get_release(MbResultList list, int index); 00223 00224 MB_API MbReleaseGroup 00225 mb_result_list_get_release_group(MbResultList list, int index); 00226 00227 MB_API MbTrack 00228 mb_result_list_get_track(MbResultList list, int index); 00229 00230 MB_API MbResultList 00231 mb_query_get_artists(MbQuery query, MbArtistFilter flt); 00232 00233 MB_API MbResultList 00234 mb_query_get_labels(MbQuery query, MbLabelFilter flt); 00235 00236 MB_API MbResultList 00237 mb_query_get_releases(MbQuery query, MbReleaseFilter flt); 00238 00239 MB_API MbResultList 00240 mb_query_get_release_groups(MbQuery query, MbReleaseGroupFilter flt); 00241 00242 MB_API MbResultList 00243 mb_query_get_tracks(MbQuery query, MbTrackFilter flt); 00244 00245 /* {{{ MusicBrainz::Artist */ 00246 00250 MB_API void 00251 mb_artist_free(MbArtist artist); 00252 00258 MB_API void 00259 mb_artist_get_id(MbArtist artist, char *str, int len); 00260 00266 MB_API void 00267 mb_artist_get_type(MbArtist artist, char *str, int len); 00268 00274 MB_API void 00275 mb_artist_get_name(MbArtist artist, char *str, int len); 00276 00282 MB_API void 00283 mb_artist_get_sortname(MbArtist artist, char *str, int len); 00284 00290 MB_API void 00291 mb_artist_get_disambiguation(MbArtist artist, char *str, int len); 00292 00298 MB_API void 00299 mb_artist_get_unique_name(MbArtist artist, char *str, int len); 00300 00306 MB_API void 00307 mb_artist_get_begin_date(MbArtist artist, char *str, int len); 00308 00314 MB_API void 00315 mb_artist_get_end_date(MbArtist artist, char *str, int len); 00316 00322 MB_API int 00323 mb_artist_get_num_aliases(MbArtist artist); 00324 00330 MB_API MbArtistAlias 00331 mb_artist_get_alias(MbArtist artist, int index); 00332 00338 MB_API int 00339 mb_artist_get_num_releases(MbArtist artist); 00340 00346 MB_API MbRelease 00347 mb_artist_get_release(MbArtist artist, int index); 00348 00354 MB_API int 00355 mb_artist_get_releases_offset(MbArtist artist); 00356 00362 MB_API int 00363 mb_artist_get_releases_count(MbArtist artist); 00364 00370 MB_API int 00371 mb_artist_get_num_relations(MbArtist artist); 00372 00378 MB_API MbRelation 00379 mb_artist_get_relation(MbArtist artist, int index); 00380 00381 /* }}} */ 00382 00383 /* {{{ MusicBrainz::Label */ 00384 00388 MB_API void 00389 mb_label_free(MbLabel label); 00390 00396 MB_API void 00397 mb_label_get_id(MbLabel label, char *str, int len); 00398 00404 MB_API void 00405 mb_label_get_type(MbLabel label, char *str, int len); 00406 00412 MB_API int 00413 mb_label_get_code(MbLabel label); 00414 00420 MB_API void 00421 mb_label_get_name(MbLabel label, char *str, int len); 00422 00428 MB_API void 00429 mb_label_get_sortname(MbLabel label, char *str, int len); 00430 00436 MB_API void 00437 mb_label_get_disambiguation(MbLabel label, char *str, int len); 00438 00444 MB_API void 00445 mb_label_get_unique_name(MbLabel label, char *str, int len); 00446 00452 MB_API void 00453 mb_label_get_begin_date(MbLabel label, char *str, int len); 00454 00460 MB_API void 00461 mb_label_get_end_date(MbLabel label, char *str, int len); 00462 00468 MB_API int 00469 mb_label_get_num_aliases(MbLabel label); 00470 00476 MB_API MbLabelAlias 00477 mb_label_get_alias(MbLabel label, int index); 00478 00484 MB_API int 00485 mb_label_get_num_releases(MbLabel label); 00486 00492 MB_API MbRelease 00493 mb_label_get_release(MbLabel label, int index); 00494 00500 MB_API int 00501 mb_label_get_releases_offset(MbLabel label); 00502 00508 MB_API int 00509 mb_label_get_releases_count(MbLabel label); 00510 00516 MB_API int 00517 mb_label_get_num_relations(MbLabel label); 00518 00524 MB_API MbRelation 00525 mb_label_get_relation(MbLabel label, int index); 00526 00527 /* }}} */ 00528 00529 /* {{{ MusicBrainz::ReleaseGroup */ 00530 00534 MB_API void 00535 mb_release_group_free(MbReleaseGroup release_group); 00536 00542 MB_API void 00543 mb_release_group_get_id(MbReleaseGroup release_group, char *str, int len); 00544 00550 MB_API void 00551 mb_release_group_get_title(MbReleaseGroup release_group, char *str, int len); 00552 00558 MB_API void 00559 mb_release_group_get_type(MbReleaseGroup release_group, char *str, int len); 00560 00561 /* }}} */ 00562 00563 /* {{{ MusicBrainz::Release */ 00564 00568 MB_API void 00569 mb_release_free(MbRelease release); 00570 00576 MB_API void 00577 mb_release_get_id(MbRelease release, char *str, int len); 00578 00584 MB_API void 00585 mb_release_get_title(MbRelease release, char *str, int len); 00586 00592 MB_API void 00593 mb_release_get_text_language(MbRelease release, char *str, int len); 00594 00600 MB_API void 00601 mb_release_get_text_script(MbRelease release, char *str, int len); 00602 00608 MB_API void 00609 mb_release_get_asin(MbRelease release, char *str, int len); 00610 00616 MB_API MbArtist 00617 mb_release_get_artist(MbRelease release); 00618 00624 MB_API int 00625 mb_release_get_tracks_offset(MbRelease release); 00626 00632 MB_API int 00633 mb_release_get_tracks_count(MbRelease release); 00634 00640 MB_API int 00641 mb_release_get_num_relations(MbRelease release); 00642 00648 MB_API MbRelation 00649 mb_release_get_relation(MbRelease release, int index); 00650 00656 MB_API int 00657 mb_release_get_num_tracks(MbRelease release); 00658 00664 MB_API MbTrack 00665 mb_release_get_track(MbRelease release, int index); 00666 00672 MB_API int 00673 mb_release_get_num_discs(MbRelease release); 00674 00680 MB_API MbDisc 00681 mb_release_get_disc(MbRelease release, int index); 00682 00688 MB_API int 00689 mb_release_get_num_release_events(MbRelease release); 00690 00696 MB_API MbReleaseEvent 00697 mb_release_get_release_event(MbRelease release, int index); 00698 00704 MB_API int 00705 mb_release_get_num_types(MbRelease release); 00706 00712 MB_API void 00713 mb_release_get_type(MbRelease release, int index, char *str, int len); 00714 00715 /* }}} */ 00716 00717 /* {{{ MusicBrainz::Track */ 00718 00722 MB_API void 00723 mb_track_free(MbTrack track); 00724 00730 MB_API void 00731 mb_track_get_id(MbTrack track, char *str, int len); 00732 00738 MB_API void 00739 mb_track_get_title(MbTrack track, char *str, int len); 00740 00746 MB_API int 00747 mb_track_get_duration(MbTrack track); 00748 00754 MB_API int 00755 mb_track_get_num_relations(MbTrack track); 00756 00762 MB_API MbRelation 00763 mb_track_get_relation(MbTrack track, int index); 00764 00770 MB_API MbArtist 00771 mb_track_get_artist(MbTrack track); 00772 00773 /* }}} */ 00774 00775 /* {{{ MusicBrainz::ArtistAlias */ 00776 00782 MB_API void 00783 mb_artist_alias_get_value(MbArtistAlias alias, char *str, int len); 00784 00790 MB_API void 00791 mb_artist_alias_get_type(MbArtistAlias alias, char *str, int len); 00792 00798 MB_API void 00799 mb_artist_alias_get_script(MbArtistAlias alias, char *str, int len); 00800 00801 /* }}} */ 00802 00803 /* {{{ MusicBrainz::User */ 00804 00808 MB_API void 00809 mb_user_free(MbUser user); 00810 00816 MB_API void 00817 mb_user_get_name(MbUser user, char *str, int len); 00818 00824 MB_API int 00825 mb_user_get_show_nag(MbUser user); 00826 00832 MB_API int 00833 mb_user_get_num_types(MbUser user); 00834 00840 MB_API void 00841 mb_user_get_type(MbUser user, int index, char *str, int len); 00842 00843 /* }}} */ 00844 00845 /* {{{ MusicBrainz::ArtistIncludes */ 00846 00847 MB_API MbArtistIncludes 00848 mb_artist_includes_new(); 00849 00850 MB_API void 00851 mb_artist_includes_free(MbArtistIncludes inc); 00852 00853 MB_API MbArtistIncludes 00854 mb_artist_includes_aliases(MbArtistIncludes inc); 00855 00856 MB_API MbArtistIncludes 00857 mb_artist_includes_releases(MbArtistIncludes inc, const char *type); 00858 00859 MB_API MbArtistIncludes 00860 mb_artist_includes_va_releases(MbArtistIncludes inc, const char *type); 00861 00862 MB_API MbArtistIncludes 00863 mb_artist_includes_artist_relations(MbArtistIncludes inc); 00864 00865 MB_API MbArtistIncludes 00866 mb_artist_includes_release_relations(MbArtistIncludes inc); 00867 00868 MB_API MbArtistIncludes 00869 mb_artist_includes_track_relations(MbArtistIncludes inc); 00870 00871 MB_API MbArtistIncludes 00872 mb_artist_includes_url_relations(MbArtistIncludes inc); 00873 00874 MB_API MbArtistIncludes 00875 mb_artist_includes_release_events(MbArtistIncludes inc); 00876 00877 MB_API MbArtistIncludes 00878 mb_artist_includes_ratings(MbArtistIncludes inc); 00879 00880 MB_API MbArtistIncludes 00881 mb_artist_includes_tags(MbArtistIncludes inc); 00882 00883 /* }}} */ 00884 00885 /* {{{ MusicBrainz::LabelIncludes */ 00886 00887 MB_API MbLabelIncludes 00888 mb_label_includes_new(); 00889 00890 MB_API void 00891 mb_label_includes_free(MbLabelIncludes inc); 00892 00893 MB_API MbLabelIncludes 00894 mb_label_includes_aliases(MbLabelIncludes inc); 00895 00896 MB_API MbLabelIncludes 00897 mb_label_includes_label_relations(MbLabelIncludes inc); 00898 00899 MB_API MbLabelIncludes 00900 mb_label_includes_release_relations(MbLabelIncludes inc); 00901 00902 MB_API MbLabelIncludes 00903 mb_label_includes_track_relations(MbLabelIncludes inc); 00904 00905 MB_API MbLabelIncludes 00906 mb_label_includes_url_relations(MbLabelIncludes inc); 00907 00908 MB_API MbLabelIncludes 00909 mb_label_includes_ratings(MbLabelIncludes inc); 00910 00911 MB_API MbLabelIncludes 00912 mb_label_includes_tags(MbLabelIncludes inc); 00913 00914 /* }}} */ 00915 00916 /* {{{ MusicBrainz::ReleaseIncludes */ 00917 00918 MB_API MbReleaseIncludes 00919 mb_release_includes_new(); 00920 00921 MB_API void 00922 mb_release_includes_free(MbReleaseIncludes inc); 00923 00924 MB_API MbReleaseIncludes 00925 mb_release_includes_artist(MbReleaseIncludes inc); 00926 00927 MB_API MbReleaseIncludes 00928 mb_release_includes_counts(MbReleaseIncludes inc); 00929 00930 MB_API MbReleaseIncludes 00931 mb_release_includes_release_events(MbReleaseIncludes inc); 00932 00933 MB_API MbReleaseIncludes 00934 mb_release_includes_discs(MbReleaseIncludes inc); 00935 00936 MB_API MbReleaseIncludes 00937 mb_release_includes_tracks(MbReleaseIncludes inc); 00938 00939 MB_API MbReleaseIncludes 00940 mb_release_includes_artist_relations(MbReleaseIncludes inc); 00941 00942 MB_API MbReleaseIncludes 00943 mb_release_includes_release_relations(MbReleaseIncludes inc); 00944 00945 MB_API MbReleaseIncludes 00946 mb_release_includes_track_relations(MbReleaseIncludes inc); 00947 00948 MB_API MbReleaseIncludes 00949 mb_release_includes_url_relations(MbReleaseIncludes inc); 00950 00951 MB_API MbReleaseIncludes 00952 mb_release_includes_ratings(MbReleaseIncludes inc); 00953 00954 MB_API MbReleaseIncludes 00955 mb_release_includes_tags(MbReleaseIncludes inc); 00956 00957 /* }}} */ 00958 00959 /* {{{ MusicBrainz::TrackIncludes */ 00960 00961 MB_API MbTrackIncludes 00962 mb_track_includes_new(); 00963 00964 MB_API void 00965 mb_track_includes_free(MbArtistIncludes inc); 00966 00967 MB_API MbTrackIncludes 00968 mb_track_includes_artist(MbArtistIncludes inc); 00969 00970 MB_API MbTrackIncludes 00971 mb_track_includes_releases(MbArtistIncludes inc); 00972 00973 MB_API MbTrackIncludes 00974 mb_track_includes_puids(MbArtistIncludes inc); 00975 00976 MB_API MbTrackIncludes 00977 mb_track_includes_artist_relations(MbArtistIncludes inc); 00978 00979 MB_API MbTrackIncludes 00980 mb_track_includes_release_relations(MbTrackIncludes inc); 00981 00982 MB_API MbTrackIncludes 00983 mb_track_includes_track_relations(MbTrackIncludes inc); 00984 00985 MB_API MbTrackIncludes 00986 mb_track_includes_url_relations(MbTrackIncludes inc); 00987 00988 MB_API MbTrackIncludes 00989 mb_track_includes_ratings(MbTrackIncludes inc); 00990 00991 MB_API MbTrackIncludes 00992 mb_track_includes_tags(MbTrackIncludes inc); 00993 00994 /* }}} */ 00995 00996 /* {{{ MusicBrainz::MbArtistFilter */ 00997 00998 MB_API MbArtistFilter 00999 mb_artist_filter_new(); 01000 01001 MB_API void 01002 mb_artist_filter_free(MbArtistFilter flt); 01003 01004 MB_API MbArtistFilter 01005 mb_artist_filter_name(MbArtistFilter flt, const char *value); 01006 01007 MB_API MbArtistFilter 01008 mb_artist_filter_query(MbArtistFilter flt, const char *value); 01009 01010 MB_API MbArtistFilter 01011 mb_artist_filter_limit(MbArtistFilter flt, int value); 01012 01013 /* }}} */ 01014 01015 /* {{{ MusicBrainz::MbLabelFilter */ 01016 01017 MB_API MbLabelFilter 01018 mb_label_filter_new(); 01019 01020 MB_API void 01021 mb_label_filter_free(MbLabelFilter flt); 01022 01023 MB_API MbLabelFilter 01024 mb_label_filter_name(MbLabelFilter flt, const char *value); 01025 01026 MB_API MbLabelFilter 01027 mb_label_filter_query(MbLabelFilter flt, const char *value); 01028 01029 MB_API MbLabelFilter 01030 mb_label_filter_limit(MbLabelFilter flt, int value); 01031 01032 /* }}} */ 01033 01034 /* {{{ MusicBrainz::MbReleaseFilter */ 01035 01036 MB_API MbReleaseFilter 01037 mb_release_filter_new(); 01038 01039 MB_API void 01040 mb_release_filter_free(MbReleaseFilter flt); 01041 01042 MB_API MbReleaseFilter 01043 mb_release_filter_title(MbReleaseFilter flt, const char *value); 01044 01045 MB_API MbReleaseFilter 01046 mb_release_filter_disc_id(MbReleaseFilter flt, const char *value); 01047 01048 MB_API MbReleaseFilter 01049 mb_release_filter_release_type(MbReleaseFilter flt, const char *value); 01050 01051 MB_API MbReleaseFilter 01052 mb_release_filter_artist_name(MbReleaseFilter flt, const char *value); 01053 01054 MB_API MbReleaseFilter 01055 mb_release_filter_artist_id(MbReleaseFilter flt, const char *value); 01056 01057 MB_API MbReleaseFilter 01058 mb_release_filter_query(MbReleaseFilter flt, const char *value); 01059 01060 MB_API MbReleaseFilter 01061 mb_release_filter_limit(MbReleaseFilter flt, int value); 01062 01063 /* }}} */ 01064 01065 /* {{{ MusicBrainz::MbTrackFilter */ 01066 01067 MB_API MbTrackFilter 01068 mb_track_filter_new(); 01069 01070 MB_API void 01071 mb_track_filter_free(MbTrackFilter flt); 01072 01073 MB_API MbTrackFilter 01074 mb_track_filter_title(MbTrackFilter flt, const char *value); 01075 01076 MB_API MbTrackFilter 01077 mb_track_filter_artist_name(MbTrackFilter flt, const char *value); 01078 01079 MB_API MbTrackFilter 01080 mb_track_filter_artist_id(MbTrackFilter flt, const char *value); 01081 01082 MB_API MbTrackFilter 01083 mb_track_filter_release_title(MbTrackFilter flt, const char *value); 01084 01085 MB_API MbTrackFilter 01086 mb_track_filter_release_id(MbTrackFilter flt, const char *value); 01087 01088 MB_API MbTrackFilter 01089 mb_track_filter_duration(MbTrackFilter flt, int value); 01090 01091 MB_API MbTrackFilter 01092 mb_track_filter_puid(MbTrackFilter flt, const char *value); 01093 01094 MB_API MbTrackFilter 01095 mb_track_filter_query(MbTrackFilter flt, const char *value); 01096 01097 MB_API MbTrackFilter 01098 mb_track_filter_limit(MbTrackFilter flt, int value); 01099 01100 /* }}} */ 01101 01102 /* {{{ MusicBrainz::MbUserFilter */ 01103 01104 MB_API MbUserFilter 01105 mb_user_filter_new(); 01106 01107 MB_API void 01108 mb_user_filter_free(MbUserFilter flt); 01109 01110 MB_API MbUserFilter 01111 mb_user_filter_name(MbUserFilter flt, const char *value); 01112 01113 /* }}} */ 01114 01115 /* {{{ MusicBrainz::ArtistAlias */ 01116 01122 MB_API void 01123 mb_release_event_get_country(MbReleaseEvent releaseEvent, char *str, int len); 01124 01130 MB_API void 01131 mb_release_event_get_date(MbReleaseEvent releaseEvent, char *str, int len); 01132 01133 /* }}} */ 01134 01135 /* {{{ MusicBrainz::Relation */ 01136 01142 MB_API void 01143 mb_relation_get_type(MbRelation relation, char *str, int len); 01144 01150 MB_API void 01151 mb_relation_get_target_id(MbRelation relation, char *str, int len); 01152 01158 MB_API void 01159 mb_relation_get_target_type(MbRelation relation, char *str, int len); 01160 01166 MB_API void 01167 mb_relation_get_begin_date(MbRelation relation, char *str, int len); 01168 01174 MB_API void 01175 mb_relation_get_end_date(MbRelation relation, char *str, int len); 01176 01182 MB_API int 01183 mb_relation_get_direction(MbRelation relation); 01184 01190 MB_API MbEntity 01191 mb_relation_get_target(MbRelation relation); 01192 01198 MB_API int 01199 mb_relation_get_num_attributes(MbRelation relation); 01200 01206 MB_API void 01207 mb_relation_get_attribute(MbRelation relation, int index, char *str, int len); 01208 01209 /* }}} */ 01210 01211 /* {{{ MusicBrainz::Disc */ 01212 01218 MB_API void 01219 mb_disc_get_id(MbDisc disc, char *str, int len); 01220 01226 MB_API int 01227 mb_disc_get_sectors(MbDisc disc); 01228 01234 MB_API int 01235 mb_disc_get_first_track_num(MbDisc disc); 01236 01242 MB_API int 01243 mb_disc_get_last_track_num(MbDisc disc); 01244 01250 MB_API MbDisc 01251 mb_read_disc(const char *device_name); 01252 01258 MB_API void 01259 mb_get_submission_url(MbDisc disc, const char *host, int port, char *str, int len); 01260 01261 /* }}} */ 01262 01263 /* {{{ Utils */ 01264 01270 MB_API void 01271 mb_extract_fragment(const char *uri, char *fragment, int len); 01272 01278 MB_API void 01279 mb_extract_uuid(const char *uri, char *uuid, int len); 01280 01281 /* }}} */ 01282 01283 #ifdef __cplusplus 01284 } 01285 #endif 01286 01287 #endif