libmusicbrainz3  3.0.3
mb_c.h
Go to the documentation of this file.
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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines