00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
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
00033
00034 typedef void *MbArtist;
00035 typedef void *MbArtistAlias;
00036 typedef void *MbArtistFilter;
00037 typedef void *MbArtistIncludes;
00038 typedef void *MbDisc;
00039 typedef void *MbEntity;
00040 typedef void *MbQuery;
00041 typedef void *MbRelation;
00042 typedef void *MbRelease;
00043 typedef void *MbReleaseEvent;
00044 typedef void *MbReleaseFilter;
00045 typedef void *MbReleaseIncludes;
00046 typedef void *MbResultList;
00047 typedef void *MbTrack;
00048 typedef void *MbTrackFilter;
00049 typedef void *MbTrackIncludes;
00050 typedef void *MbUser;
00051 typedef void *MbUserFilter;
00052 typedef void *MbWebService;
00053
00054
00055
00056
00057
00063 MB_API MbWebService
00064 mb_webservice_new();
00065
00071 MB_API void
00072 mb_webservice_free(MbWebService webservice);
00073
00077 MB_API void
00078 mb_webservice_set_host(MbWebService webservice, const char *str);
00079
00083 MB_API void
00084 mb_webservice_set_port(MbWebService webservice, int port);
00085
00089 MB_API void
00090 mb_webservice_set_path_prefix(MbWebService webservice, const char *str);
00091
00095 MB_API void
00096 mb_webservice_set_username(MbWebService webservice, const char *str);
00097
00101 MB_API void
00102 mb_webservice_set_password(MbWebService webservice, const char *str);
00103
00107 MB_API void
00108 mb_webservice_set_realm(MbWebService webservice, const char *str);
00109
00113 MB_API void
00114 mb_webservice_set_proxy_host(MbWebService webservice, const char *str);
00115
00119 MB_API void
00120 mb_webservice_set_proxy_port(MbWebService webservice, int port);
00121
00125 MB_API void
00126 mb_webservice_set_proxy_username(MbWebService webservice, const char *str);
00127
00131 MB_API void
00132 mb_webservice_set_proxy_password(MbWebService webservice, const char *str);
00133
00134
00135
00136
00137
00143 MB_API MbQuery
00144 mb_query_new(MbWebService ws, const char *client_id);
00145
00151 MB_API void
00152 mb_query_free(MbQuery query);
00153
00159 MB_API MbArtist
00160 mb_query_get_artist_by_id(MbQuery query, const char *id, MbArtistIncludes inc);
00161
00167 MB_API MbRelease
00168 mb_query_get_release_by_id(MbQuery query, const char *id, MbReleaseIncludes inc);
00169
00175 MB_API MbTrack
00176 mb_query_get_track_by_id(MbQuery query, const char *id, MbTrackIncludes inc);
00177
00183 MB_API MbUser
00184 mb_query_get_user_by_name(MbQuery query, const char *name);
00185
00186
00187
00188 MB_API void
00189 mb_result_list_free(MbResultList list);
00190
00191 MB_API int
00192 mb_result_list_get_size(MbResultList list);
00193
00194 MB_API int
00195 mb_result_list_get_score(MbResultList list, int index);
00196
00197 MB_API MbArtist
00198 mb_result_list_get_artist(MbResultList list, int index);
00199
00200 MB_API MbRelease
00201 mb_result_list_get_release(MbResultList list, int index);
00202
00203 MB_API MbTrack
00204 mb_result_list_get_track(MbResultList list, int index);
00205
00206 MB_API MbResultList
00207 mb_query_get_artists(MbQuery query, MbArtistFilter flt);
00208
00209 MB_API MbResultList
00210 mb_query_get_releases(MbQuery query, MbReleaseFilter flt);
00211
00212 MB_API MbResultList
00213 mb_query_get_tracks(MbQuery query, MbTrackFilter flt);
00214
00215
00216
00220 MB_API void
00221 mb_artist_free(MbArtist artist);
00222
00228 MB_API void
00229 mb_artist_get_id(MbArtist artist, char *str, int len);
00230
00236 MB_API void
00237 mb_artist_get_type(MbArtist artist, char *str, int len);
00238
00244 MB_API void
00245 mb_artist_get_name(MbArtist artist, char *str, int len);
00246
00252 MB_API void
00253 mb_artist_get_sortname(MbArtist artist, char *str, int len);
00254
00260 MB_API void
00261 mb_artist_get_disambiguation(MbArtist artist, char *str, int len);
00262
00268 MB_API void
00269 mb_artist_get_unique_name(MbArtist artist, char *str, int len);
00270
00276 MB_API void
00277 mb_artist_get_begin_date(MbArtist artist, char *str, int len);
00278
00284 MB_API void
00285 mb_artist_get_end_date(MbArtist artist, char *str, int len);
00286
00292 MB_API int
00293 mb_artist_get_num_aliases(MbArtist artist);
00294
00300 MB_API MbArtistAlias
00301 mb_artist_get_alias(MbArtist artist, int index);
00302
00308 MB_API int
00309 mb_artist_get_num_releases(MbArtist artist);
00310
00316 MB_API MbRelease
00317 mb_artist_get_release(MbArtist artist, int index);
00318
00324 MB_API int
00325 mb_artist_get_releases_offset(MbArtist artist);
00326
00332 MB_API int
00333 mb_artist_get_releases_count(MbArtist artist);
00334
00340 MB_API int
00341 mb_artist_get_num_relations(MbArtist artist);
00342
00348 MB_API MbRelation
00349 mb_artist_get_relation(MbArtist artist, int index);
00350
00351
00352
00353
00354
00358 MB_API void
00359 mb_release_free(MbRelease release);
00360
00366 MB_API void
00367 mb_release_get_id(MbRelease release, char *str, int len);
00368
00374 MB_API void
00375 mb_release_get_title(MbRelease release, char *str, int len);
00376
00382 MB_API void
00383 mb_release_get_text_language(MbRelease release, char *str, int len);
00384
00390 MB_API void
00391 mb_release_get_text_script(MbRelease release, char *str, int len);
00392
00398 MB_API void
00399 mb_release_get_asin(MbRelease release, char *str, int len);
00400
00406 MB_API MbArtist
00407 mb_release_get_artist(MbRelease release);
00408
00414 MB_API int
00415 mb_release_get_tracks_offset(MbRelease release);
00416
00422 MB_API int
00423 mb_release_get_tracks_count(MbRelease release);
00424
00430 MB_API int
00431 mb_release_get_num_relations(MbRelease release);
00432
00438 MB_API MbRelation
00439 mb_release_get_relation(MbRelease release, int index);
00440
00446 MB_API int
00447 mb_release_get_num_tracks(MbRelease release);
00448
00454 MB_API MbTrack
00455 mb_release_get_track(MbRelease release, int index);
00456
00462 MB_API int
00463 mb_release_get_num_discs(MbRelease release);
00464
00470 MB_API MbDisc
00471 mb_release_get_disc(MbRelease release, int index);
00472
00478 MB_API int
00479 mb_release_get_num_release_events(MbRelease release);
00480
00486 MB_API MbReleaseEvent
00487 mb_release_get_release_event(MbRelease release, int index);
00488
00494 MB_API int
00495 mb_release_get_num_types(MbRelease release);
00496
00502 MB_API void
00503 mb_release_get_type(MbRelease release, int index, char *str, int len);
00504
00505
00506
00507
00508
00512 MB_API void
00513 mb_track_free(MbTrack track);
00514
00520 MB_API void
00521 mb_track_get_id(MbTrack track, char *str, int len);
00522
00528 MB_API void
00529 mb_track_get_title(MbTrack track, char *str, int len);
00530
00536 MB_API int
00537 mb_track_get_duration(MbTrack track);
00538
00544 MB_API int
00545 mb_track_get_num_relations(MbTrack track);
00546
00552 MB_API MbRelation
00553 mb_track_get_relation(MbTrack track, int index);
00554
00560 MB_API MbArtist
00561 mb_track_get_artist(MbTrack track);
00562
00563
00564
00565
00566
00572 MB_API void
00573 mb_artist_alias_get_value(MbArtistAlias alias, char *str, int len);
00574
00580 MB_API void
00581 mb_artist_alias_get_type(MbArtistAlias alias, char *str, int len);
00582
00588 MB_API void
00589 mb_artist_alias_get_script(MbArtistAlias alias, char *str, int len);
00590
00591
00592
00593
00594
00598 MB_API void
00599 mb_user_free(MbUser user);
00600
00606 MB_API void
00607 mb_user_get_name(MbUser user, char *str, int len);
00608
00614 MB_API int
00615 mb_user_get_show_nag(MbUser user);
00616
00622 MB_API int
00623 mb_user_get_num_types(MbUser user);
00624
00630 MB_API void
00631 mb_user_get_type(MbUser user, int index, char *str, int len);
00632
00633
00634
00635
00636
00637 MB_API MbArtistIncludes
00638 mb_artist_includes_new();
00639
00640 MB_API void
00641 mb_artist_includes_free(MbArtistIncludes inc);
00642
00643 MB_API MbArtistIncludes
00644 mb_artist_includes_aliases(MbArtistIncludes inc);
00645
00646 MB_API MbArtistIncludes
00647 mb_artist_includes_releases(MbArtistIncludes inc, const char *type);
00648
00649 MB_API MbArtistIncludes
00650 mb_artist_includes_va_releases(MbArtistIncludes inc, const char *type);
00651
00652 MB_API MbArtistIncludes
00653 mb_artist_includes_artist_relations(MbArtistIncludes inc);
00654
00655 MB_API MbArtistIncludes
00656 mb_artist_includes_release_relations(MbArtistIncludes inc);
00657
00658 MB_API MbArtistIncludes
00659 mb_artist_includes_track_relations(MbArtistIncludes inc);
00660
00661 MB_API MbArtistIncludes
00662 mb_artist_includes_url_relations(MbArtistIncludes inc);
00663
00664 MB_API MbArtistIncludes
00665 mb_artist_includes_release_events(MbArtistIncludes inc);
00666
00667
00668
00669
00670
00671 MB_API MbReleaseIncludes
00672 mb_release_includes_new();
00673
00674 MB_API void
00675 mb_release_includes_free(MbReleaseIncludes inc);
00676
00677 MB_API MbReleaseIncludes
00678 mb_release_includes_artist(MbReleaseIncludes inc);
00679
00680 MB_API MbReleaseIncludes
00681 mb_release_includes_counts(MbReleaseIncludes inc);
00682
00683 MB_API MbReleaseIncludes
00684 mb_release_includes_release_events(MbReleaseIncludes inc);
00685
00686 MB_API MbReleaseIncludes
00687 mb_release_includes_discs(MbReleaseIncludes inc);
00688
00689 MB_API MbReleaseIncludes
00690 mb_release_includes_tracks(MbReleaseIncludes inc);
00691
00692 MB_API MbReleaseIncludes
00693 mb_release_includes_artist_relations(MbReleaseIncludes inc);
00694
00695 MB_API MbReleaseIncludes
00696 mb_release_includes_release_relations(MbReleaseIncludes inc);
00697
00698 MB_API MbReleaseIncludes
00699 mb_release_includes_track_relations(MbReleaseIncludes inc);
00700
00701 MB_API MbReleaseIncludes
00702 mb_release_includes_url_relations(MbReleaseIncludes inc);
00703
00704
00705
00706
00707
00708 MB_API MbTrackIncludes
00709 mb_track_includes_new();
00710
00711 MB_API void
00712 mb_track_includes_free(MbArtistIncludes inc);
00713
00714 MB_API MbTrackIncludes
00715 mb_track_includes_artist(MbArtistIncludes inc);
00716
00717 MB_API MbTrackIncludes
00718 mb_track_includes_releases(MbArtistIncludes inc);
00719
00720 MB_API MbTrackIncludes
00721 mb_track_includes_puids(MbArtistIncludes inc);
00722
00723 MB_API MbTrackIncludes
00724 mb_track_includes_artist_relations(MbArtistIncludes inc);
00725
00726 MB_API MbTrackIncludes
00727 mb_track_includes_release_relations(MbTrackIncludes inc);
00728
00729 MB_API MbTrackIncludes
00730 mb_track_includes_track_relations(MbTrackIncludes inc);
00731
00732 MB_API MbTrackIncludes
00733 mb_track_includes_url_relations(MbTrackIncludes inc);
00734
00735
00736
00737
00738
00739 MB_API MbArtistFilter
00740 mb_artist_filter_new();
00741
00742 MB_API void
00743 mb_artist_filter_free(MbArtistFilter flt);
00744
00745 MB_API MbArtistFilter
00746 mb_artist_filter_name(MbArtistFilter flt, const char *value);
00747
00748 MB_API MbArtistFilter
00749 mb_artist_filter_limit(MbArtistFilter flt, int value);
00750
00751
00752
00753
00754
00755 MB_API MbReleaseFilter
00756 mb_release_filter_new();
00757
00758 MB_API void
00759 mb_release_filter_free(MbReleaseFilter flt);
00760
00761 MB_API MbReleaseFilter
00762 mb_release_filter_title(MbReleaseFilter flt, const char *value);
00763
00764 MB_API MbReleaseFilter
00765 mb_release_filter_disc_id(MbReleaseFilter flt, const char *value);
00766
00767 MB_API MbReleaseFilter
00768 mb_release_filter_release_type(MbReleaseFilter flt, const char *value);
00769
00770 MB_API MbReleaseFilter
00771 mb_release_filter_artist_name(MbReleaseFilter flt, const char *value);
00772
00773 MB_API MbReleaseFilter
00774 mb_release_filter_artist_id(MbReleaseFilter flt, const char *value);
00775
00776 MB_API MbReleaseFilter
00777 mb_release_filter_limit(MbReleaseFilter flt, int value);
00778
00779
00780
00781
00782
00783 MB_API MbTrackFilter
00784 mb_track_filter_new();
00785
00786 MB_API void
00787 mb_track_filter_free(MbTrackFilter flt);
00788
00789 MB_API MbTrackFilter
00790 mb_track_filter_title(MbTrackFilter flt, const char *value);
00791
00792 MB_API MbTrackFilter
00793 mb_track_filter_artist_name(MbTrackFilter flt, const char *value);
00794
00795 MB_API MbTrackFilter
00796 mb_track_filter_artist_id(MbTrackFilter flt, const char *value);
00797
00798 MB_API MbTrackFilter
00799 mb_track_filter_release_title(MbTrackFilter flt, const char *value);
00800
00801 MB_API MbTrackFilter
00802 mb_track_filter_release_id(MbTrackFilter flt, const char *value);
00803
00804 MB_API MbTrackFilter
00805 mb_track_filter_duration(MbTrackFilter flt, int value);
00806
00807 MB_API MbTrackFilter
00808 mb_track_filter_puid(MbTrackFilter flt, const char *value);
00809
00810 MB_API MbTrackFilter
00811 mb_track_filter_limit(MbTrackFilter flt, int value);
00812
00813
00814
00815
00816
00817 MB_API MbUserFilter
00818 mb_user_filter_new();
00819
00820 MB_API void
00821 mb_user_filter_free(MbUserFilter flt);
00822
00823 MB_API MbUserFilter
00824 mb_user_filter_name(MbUserFilter flt, const char *value);
00825
00826
00827
00828
00829
00835 MB_API void
00836 mb_release_event_get_country(MbReleaseEvent releaseEvent, char *str, int len);
00837
00843 MB_API void
00844 mb_release_event_get_date(MbReleaseEvent releaseEvent, char *str, int len);
00845
00846
00847
00848
00849
00855 MB_API void
00856 mb_relation_get_type(MbRelation relation, char *str, int len);
00857
00863 MB_API void
00864 mb_relation_get_target_id(MbRelation relation, char *str, int len);
00865
00871 MB_API void
00872 mb_relation_get_target_type(MbRelation relation, char *str, int len);
00873
00879 MB_API void
00880 mb_relation_get_begin_date(MbRelation relation, char *str, int len);
00881
00887 MB_API void
00888 mb_relation_get_end_date(MbRelation relation, char *str, int len);
00889
00895 MB_API int
00896 mb_relation_get_direction(MbRelation relation);
00897
00903 MB_API MbEntity
00904 mb_relation_get_target(MbRelation relation);
00905
00911 MB_API int
00912 mb_relation_get_num_attributes(MbRelation relation);
00913
00919 MB_API void
00920 mb_relation_get_attribute(MbRelation relation, int index, char *str, int len);
00921
00922
00923
00924
00925
00931 MB_API void
00932 mb_disc_get_id(MbDisc disc, char *str, int len);
00933
00939 MB_API int
00940 mb_disc_get_sectors(MbDisc disc);
00941
00947 MB_API int
00948 mb_disc_get_first_track_num(MbDisc disc);
00949
00955 MB_API int
00956 mb_disc_get_last_track_num(MbDisc disc);
00957
00963 MB_API MbDisc
00964 mb_read_disc(const char *device_name);
00965
00971 MB_API void
00972 mb_get_submission_url(MbDisc disc, const char *host, int port, char *str, int len);
00973
00974
00975
00976 #ifdef __cplusplus
00977 }
00978 #endif
00979
00980 #endif