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_track(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 int
00407 mb_release_get_tracks_offset(MbRelease release);
00408
00414 MB_API int
00415 mb_release_get_tracks_count(MbRelease release);
00416
00422 MB_API int
00423 mb_release_get_num_relations(MbRelease release);
00424
00430 MB_API MbRelation
00431 mb_release_get_relation(MbRelease release, int index);
00432
00438 MB_API int
00439 mb_release_get_num_tracks(MbRelease release);
00440
00446 MB_API MbTrack
00447 mb_release_get_track(MbRelease release, int index);
00448
00454 MB_API int
00455 mb_release_get_num_discs(MbRelease release);
00456
00462 MB_API MbDisc
00463 mb_release_get_disc(MbRelease release, int index);
00464
00470 MB_API int
00471 mb_release_get_num_release_events(MbRelease release);
00472
00478 MB_API MbReleaseEvent
00479 mb_release_get_release_event(MbRelease release, int index);
00480
00486 MB_API int
00487 mb_release_get_num_types(MbRelease release);
00488
00494 MB_API void
00495 mb_release_get_type(MbRelease release, int index, char *str, int len);
00496
00497
00498
00499
00500
00504 MB_API void
00505 mb_track_free(MbTrack track);
00506
00512 MB_API void
00513 mb_track_get_id(MbTrack track, char *str, int len);
00514
00520 MB_API void
00521 mb_track_get_title(MbTrack track, char *str, int len);
00522
00528 MB_API int
00529 mb_track_get_duration(MbTrack track);
00530
00536 MB_API int
00537 mb_track_get_num_relations(MbTrack track);
00538
00544 MB_API MbRelation
00545 mb_track_get_relation(MbTrack track, int index);
00546
00547
00548
00549
00550
00556 MB_API void
00557 mb_artist_alias_get_value(MbArtistAlias alias, char *str, int len);
00558
00564 MB_API void
00565 mb_artist_alias_get_type(MbArtistAlias alias, char *str, int len);
00566
00572 MB_API void
00573 mb_artist_alias_get_script(MbArtistAlias alias, char *str, int len);
00574
00575
00576
00577
00578
00582 MB_API void
00583 mb_user_free(MbUser user);
00584
00590 MB_API void
00591 mb_user_get_name(MbUser user, char *str, int len);
00592
00598 MB_API int
00599 mb_user_get_show_nag(MbUser user);
00600
00606 MB_API int
00607 mb_user_get_num_types(MbUser user);
00608
00614 MB_API void
00615 mb_user_get_type(MbUser user, int index, char *str, int len);
00616
00617
00618
00619
00620
00621 MB_API MbArtistIncludes
00622 mb_artist_includes_new();
00623
00624 MB_API void
00625 mb_artist_includes_free(MbArtistIncludes inc);
00626
00627 MB_API MbArtistIncludes
00628 mb_artist_includes_aliases(MbArtistIncludes inc);
00629
00630 MB_API MbArtistIncludes
00631 mb_artist_includes_releases(MbArtistIncludes inc, const char *type);
00632
00633 MB_API MbArtistIncludes
00634 mb_artist_includes_va_releases(MbArtistIncludes inc, const char *type);
00635
00636 MB_API MbArtistIncludes
00637 mb_artist_includes_artist_relations(MbArtistIncludes inc);
00638
00639 MB_API MbArtistIncludes
00640 mb_artist_includes_release_relations(MbArtistIncludes inc);
00641
00642 MB_API MbArtistIncludes
00643 mb_artist_includes_track_relations(MbArtistIncludes inc);
00644
00645 MB_API MbArtistIncludes
00646 mb_artist_includes_url_relations(MbArtistIncludes inc);
00647
00648
00649
00650
00651
00652 MB_API MbReleaseIncludes
00653 mb_release_includes_new();
00654
00655 MB_API void
00656 mb_release_includes_free(MbReleaseIncludes inc);
00657
00658 MB_API MbReleaseIncludes
00659 mb_release_includes_artist(MbReleaseIncludes inc);
00660
00661 MB_API MbReleaseIncludes
00662 mb_release_includes_counts(MbReleaseIncludes inc);
00663
00664 MB_API MbReleaseIncludes
00665 mb_release_includes_release_events(MbReleaseIncludes inc);
00666
00667 MB_API MbReleaseIncludes
00668 mb_release_includes_discs(MbReleaseIncludes inc);
00669
00670 MB_API MbReleaseIncludes
00671 mb_release_includes_tracks(MbReleaseIncludes inc);
00672
00673 MB_API MbReleaseIncludes
00674 mb_release_includes_artist_relations(MbReleaseIncludes inc);
00675
00676 MB_API MbReleaseIncludes
00677 mb_release_includes_release_relations(MbReleaseIncludes inc);
00678
00679 MB_API MbReleaseIncludes
00680 mb_release_includes_track_relations(MbReleaseIncludes inc);
00681
00682 MB_API MbReleaseIncludes
00683 mb_release_includes_url_relations(MbReleaseIncludes inc);
00684
00685
00686
00687
00688
00689 MB_API MbTrackIncludes
00690 mb_track_includes_new();
00691
00692 MB_API void
00693 mb_track_includes_free(MbArtistIncludes inc);
00694
00695 MB_API MbTrackIncludes
00696 mb_track_includes_artist(MbArtistIncludes inc);
00697
00698 MB_API MbTrackIncludes
00699 mb_track_includes_releases(MbArtistIncludes inc);
00700
00701 MB_API MbTrackIncludes
00702 mb_track_includes_puids(MbArtistIncludes inc);
00703
00704 MB_API MbTrackIncludes
00705 mb_track_includes_artist_relations(MbArtistIncludes inc);
00706
00707 MB_API MbTrackIncludes
00708 mb_track_includes_release_relations(MbTrackIncludes inc);
00709
00710 MB_API MbTrackIncludes
00711 mb_track_includes_track_relations(MbTrackIncludes inc);
00712
00713 MB_API MbTrackIncludes
00714 mb_track_includes_url_relations(MbTrackIncludes inc);
00715
00716
00717
00718
00719
00720 MB_API MbArtistFilter
00721 mb_artist_filter_new();
00722
00723 MB_API void
00724 mb_artist_filter_free(MbArtistFilter flt);
00725
00726 MB_API MbArtistFilter
00727 mb_artist_filter_name(MbArtistFilter flt, const char *value);
00728
00729 MB_API MbArtistFilter
00730 mb_artist_filter_limit(MbArtistFilter flt, int value);
00731
00732
00733
00734
00735
00736 MB_API MbReleaseFilter
00737 mb_release_filter_new();
00738
00739 MB_API void
00740 mb_release_filter_free(MbReleaseFilter flt);
00741
00742 MB_API MbReleaseFilter
00743 mb_release_filter_title(MbReleaseFilter flt, const char *value);
00744
00745 MB_API MbReleaseFilter
00746 mb_release_filter_disc_id(MbReleaseFilter flt, const char *value);
00747
00748 MB_API MbReleaseFilter
00749 mb_release_filter_release_type(MbReleaseFilter flt, const char *value);
00750
00751 MB_API MbReleaseFilter
00752 mb_release_filter_artist_name(MbReleaseFilter flt, const char *value);
00753
00754 MB_API MbReleaseFilter
00755 mb_release_filter_artist_id(MbReleaseFilter flt, const char *value);
00756
00757 MB_API MbReleaseFilter
00758 mb_release_filter_limit(MbReleaseFilter flt, int value);
00759
00760
00761
00762
00763
00764 MB_API MbTrackFilter
00765 mb_track_filter_new();
00766
00767 MB_API void
00768 mb_track_filter_free(MbTrackFilter flt);
00769
00770 MB_API MbTrackFilter
00771 mb_track_filter_title(MbTrackFilter flt, const char *value);
00772
00773 MB_API MbTrackFilter
00774 mb_track_filter_artist_name(MbTrackFilter flt, const char *value);
00775
00776 MB_API MbTrackFilter
00777 mb_track_filter_artist_id(MbTrackFilter flt, const char *value);
00778
00779 MB_API MbTrackFilter
00780 mb_track_filter_release_title(MbTrackFilter flt, const char *value);
00781
00782 MB_API MbTrackFilter
00783 mb_track_filter_release_id(MbTrackFilter flt, const char *value);
00784
00785 MB_API MbTrackFilter
00786 mb_track_filter_duration(MbTrackFilter flt, int value);
00787
00788 MB_API MbTrackFilter
00789 mb_track_filter_puid(MbTrackFilter flt, const char *value);
00790
00791 MB_API MbTrackFilter
00792 mb_track_filter_limit(MbTrackFilter flt, int value);
00793
00794
00795
00796
00797
00798 MB_API MbUserFilter
00799 mb_user_filter_new();
00800
00801 MB_API void
00802 mb_user_filter_free(MbUserFilter flt);
00803
00804 MB_API MbUserFilter
00805 mb_user_filter_name(MbUserFilter flt, const char *value);
00806
00807
00808
00809
00810
00816 MB_API void
00817 mb_release_event_get_country(MbReleaseEvent releaseEvent, char *str, int len);
00818
00824 MB_API void
00825 mb_release_event_get_date(MbReleaseEvent releaseEvent, char *str, int len);
00826
00827
00828
00829
00830
00836 MB_API void
00837 mb_relation_get_type(MbRelation relation, char *str, int len);
00838
00844 MB_API void
00845 mb_relation_get_target_id(MbRelation relation, char *str, int len);
00846
00852 MB_API void
00853 mb_relation_get_target_type(MbRelation relation, char *str, int len);
00854
00860 MB_API void
00861 mb_relation_get_begin_date(MbRelation relation, char *str, int len);
00862
00868 MB_API void
00869 mb_relation_get_end_date(MbRelation relation, char *str, int len);
00870
00876 MB_API int
00877 mb_relation_get_direction(MbRelation relation);
00878
00884 MB_API MbEntity
00885 mb_relation_get_target(MbRelation relation);
00886
00892 MB_API int
00893 mb_relation_get_num_attributes(MbRelation relation);
00894
00900 MB_API void
00901 mb_relation_get_attribute(MbRelation relation, int index, char *str, int len);
00902
00903
00904
00905
00906
00912 MB_API void
00913 mb_disc_get_id(MbDisc disc, char *str, int len);
00914
00920 MB_API int
00921 mb_disc_get_sectors(MbDisc disc);
00922
00928 MB_API int
00929 mb_disc_get_first_track_num(MbDisc disc);
00930
00936 MB_API int
00937 mb_disc_get_last_track_num(MbDisc disc);
00938
00944 MB_API MbDisc
00945 mb_read_disc(const char *device_name);
00946
00952 MB_API void
00953 mb_get_submission_url(MbDisc disc, const char *host, int port, char *str, int len);
00954
00955
00956
00957 #ifdef __cplusplus
00958 }
00959 #endif
00960
00961 #endif