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
00555
00556
00557
00558
00564 MB_API void
00565 mb_artist_alias_get_value(MbArtistAlias alias, char *str, int len);
00566
00572 MB_API void
00573 mb_artist_alias_get_type(MbArtistAlias alias, char *str, int len);
00574
00580 MB_API void
00581 mb_artist_alias_get_script(MbArtistAlias alias, char *str, int len);
00582
00583
00584
00585
00586
00590 MB_API void
00591 mb_user_free(MbUser user);
00592
00598 MB_API void
00599 mb_user_get_name(MbUser user, char *str, int len);
00600
00606 MB_API int
00607 mb_user_get_show_nag(MbUser user);
00608
00614 MB_API int
00615 mb_user_get_num_types(MbUser user);
00616
00622 MB_API void
00623 mb_user_get_type(MbUser user, int index, char *str, int len);
00624
00625
00626
00627
00628
00629 MB_API MbArtistIncludes
00630 mb_artist_includes_new();
00631
00632 MB_API void
00633 mb_artist_includes_free(MbArtistIncludes inc);
00634
00635 MB_API MbArtistIncludes
00636 mb_artist_includes_aliases(MbArtistIncludes inc);
00637
00638 MB_API MbArtistIncludes
00639 mb_artist_includes_releases(MbArtistIncludes inc, const char *type);
00640
00641 MB_API MbArtistIncludes
00642 mb_artist_includes_va_releases(MbArtistIncludes inc, const char *type);
00643
00644 MB_API MbArtistIncludes
00645 mb_artist_includes_artist_relations(MbArtistIncludes inc);
00646
00647 MB_API MbArtistIncludes
00648 mb_artist_includes_release_relations(MbArtistIncludes inc);
00649
00650 MB_API MbArtistIncludes
00651 mb_artist_includes_track_relations(MbArtistIncludes inc);
00652
00653 MB_API MbArtistIncludes
00654 mb_artist_includes_url_relations(MbArtistIncludes inc);
00655
00656 MB_API MbArtistIncludes
00657 mb_artist_includes_release_events(MbArtistIncludes inc);
00658
00659
00660
00661
00662
00663 MB_API MbReleaseIncludes
00664 mb_release_includes_new();
00665
00666 MB_API void
00667 mb_release_includes_free(MbReleaseIncludes inc);
00668
00669 MB_API MbReleaseIncludes
00670 mb_release_includes_artist(MbReleaseIncludes inc);
00671
00672 MB_API MbReleaseIncludes
00673 mb_release_includes_counts(MbReleaseIncludes inc);
00674
00675 MB_API MbReleaseIncludes
00676 mb_release_includes_release_events(MbReleaseIncludes inc);
00677
00678 MB_API MbReleaseIncludes
00679 mb_release_includes_discs(MbReleaseIncludes inc);
00680
00681 MB_API MbReleaseIncludes
00682 mb_release_includes_tracks(MbReleaseIncludes inc);
00683
00684 MB_API MbReleaseIncludes
00685 mb_release_includes_artist_relations(MbReleaseIncludes inc);
00686
00687 MB_API MbReleaseIncludes
00688 mb_release_includes_release_relations(MbReleaseIncludes inc);
00689
00690 MB_API MbReleaseIncludes
00691 mb_release_includes_track_relations(MbReleaseIncludes inc);
00692
00693 MB_API MbReleaseIncludes
00694 mb_release_includes_url_relations(MbReleaseIncludes inc);
00695
00696
00697
00698
00699
00700 MB_API MbTrackIncludes
00701 mb_track_includes_new();
00702
00703 MB_API void
00704 mb_track_includes_free(MbArtistIncludes inc);
00705
00706 MB_API MbTrackIncludes
00707 mb_track_includes_artist(MbArtistIncludes inc);
00708
00709 MB_API MbTrackIncludes
00710 mb_track_includes_releases(MbArtistIncludes inc);
00711
00712 MB_API MbTrackIncludes
00713 mb_track_includes_puids(MbArtistIncludes inc);
00714
00715 MB_API MbTrackIncludes
00716 mb_track_includes_artist_relations(MbArtistIncludes inc);
00717
00718 MB_API MbTrackIncludes
00719 mb_track_includes_release_relations(MbTrackIncludes inc);
00720
00721 MB_API MbTrackIncludes
00722 mb_track_includes_track_relations(MbTrackIncludes inc);
00723
00724 MB_API MbTrackIncludes
00725 mb_track_includes_url_relations(MbTrackIncludes inc);
00726
00727
00728
00729
00730
00731 MB_API MbArtistFilter
00732 mb_artist_filter_new();
00733
00734 MB_API void
00735 mb_artist_filter_free(MbArtistFilter flt);
00736
00737 MB_API MbArtistFilter
00738 mb_artist_filter_name(MbArtistFilter flt, const char *value);
00739
00740 MB_API MbArtistFilter
00741 mb_artist_filter_limit(MbArtistFilter flt, int value);
00742
00743
00744
00745
00746
00747 MB_API MbReleaseFilter
00748 mb_release_filter_new();
00749
00750 MB_API void
00751 mb_release_filter_free(MbReleaseFilter flt);
00752
00753 MB_API MbReleaseFilter
00754 mb_release_filter_title(MbReleaseFilter flt, const char *value);
00755
00756 MB_API MbReleaseFilter
00757 mb_release_filter_disc_id(MbReleaseFilter flt, const char *value);
00758
00759 MB_API MbReleaseFilter
00760 mb_release_filter_release_type(MbReleaseFilter flt, const char *value);
00761
00762 MB_API MbReleaseFilter
00763 mb_release_filter_artist_name(MbReleaseFilter flt, const char *value);
00764
00765 MB_API MbReleaseFilter
00766 mb_release_filter_artist_id(MbReleaseFilter flt, const char *value);
00767
00768 MB_API MbReleaseFilter
00769 mb_release_filter_limit(MbReleaseFilter flt, int value);
00770
00771
00772
00773
00774
00775 MB_API MbTrackFilter
00776 mb_track_filter_new();
00777
00778 MB_API void
00779 mb_track_filter_free(MbTrackFilter flt);
00780
00781 MB_API MbTrackFilter
00782 mb_track_filter_title(MbTrackFilter flt, const char *value);
00783
00784 MB_API MbTrackFilter
00785 mb_track_filter_artist_name(MbTrackFilter flt, const char *value);
00786
00787 MB_API MbTrackFilter
00788 mb_track_filter_artist_id(MbTrackFilter flt, const char *value);
00789
00790 MB_API MbTrackFilter
00791 mb_track_filter_release_title(MbTrackFilter flt, const char *value);
00792
00793 MB_API MbTrackFilter
00794 mb_track_filter_release_id(MbTrackFilter flt, const char *value);
00795
00796 MB_API MbTrackFilter
00797 mb_track_filter_duration(MbTrackFilter flt, int value);
00798
00799 MB_API MbTrackFilter
00800 mb_track_filter_puid(MbTrackFilter flt, const char *value);
00801
00802 MB_API MbTrackFilter
00803 mb_track_filter_limit(MbTrackFilter flt, int value);
00804
00805
00806
00807
00808
00809 MB_API MbUserFilter
00810 mb_user_filter_new();
00811
00812 MB_API void
00813 mb_user_filter_free(MbUserFilter flt);
00814
00815 MB_API MbUserFilter
00816 mb_user_filter_name(MbUserFilter flt, const char *value);
00817
00818
00819
00820
00821
00827 MB_API void
00828 mb_release_event_get_country(MbReleaseEvent releaseEvent, char *str, int len);
00829
00835 MB_API void
00836 mb_release_event_get_date(MbReleaseEvent releaseEvent, char *str, int len);
00837
00838
00839
00840
00841
00847 MB_API void
00848 mb_relation_get_type(MbRelation relation, char *str, int len);
00849
00855 MB_API void
00856 mb_relation_get_target_id(MbRelation relation, char *str, int len);
00857
00863 MB_API void
00864 mb_relation_get_target_type(MbRelation relation, char *str, int len);
00865
00871 MB_API void
00872 mb_relation_get_begin_date(MbRelation relation, char *str, int len);
00873
00879 MB_API void
00880 mb_relation_get_end_date(MbRelation relation, char *str, int len);
00881
00887 MB_API int
00888 mb_relation_get_direction(MbRelation relation);
00889
00895 MB_API MbEntity
00896 mb_relation_get_target(MbRelation relation);
00897
00903 MB_API int
00904 mb_relation_get_num_attributes(MbRelation relation);
00905
00911 MB_API void
00912 mb_relation_get_attribute(MbRelation relation, int index, char *str, int len);
00913
00914
00915
00916
00917
00923 MB_API void
00924 mb_disc_get_id(MbDisc disc, char *str, int len);
00925
00931 MB_API int
00932 mb_disc_get_sectors(MbDisc disc);
00933
00939 MB_API int
00940 mb_disc_get_first_track_num(MbDisc disc);
00941
00947 MB_API int
00948 mb_disc_get_last_track_num(MbDisc disc);
00949
00955 MB_API MbDisc
00956 mb_read_disc(const char *device_name);
00957
00963 MB_API void
00964 mb_get_submission_url(MbDisc disc, const char *host, int port, char *str, int len);
00965
00966
00967
00968 #ifdef __cplusplus
00969 }
00970 #endif
00971
00972 #endif