• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

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  * $Id: mb_c.h 9932 2008-07-02 06:48:17Z luks $
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 *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 /* {{{ MusicBrainz::WebService */
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 /* {{{ MusicBrainz::Query */
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 /* {{{ MusicBrainz::Artist */
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 /* {{{ MusicBrainz::Release */
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 /* {{{ MusicBrainz::Track */
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 /* {{{ MusicBrainz::ArtistAlias */
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 /* {{{ MusicBrainz::User */
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 /* {{{ MusicBrainz::ArtistIncludes */
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 /* {{{ MusicBrainz::ReleaseIncludes */
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 /* {{{ MusicBrainz::TrackIncludes */
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 /* {{{ MusicBrainz::MbArtistFilter */
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 /* {{{ MusicBrainz::MbReleaseFilter */
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 /* {{{ MusicBrainz::MbTrackFilter */
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 /* {{{ MusicBrainz::MbUserFilter */
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 /* {{{ MusicBrainz::ArtistAlias */
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 /* {{{ MusicBrainz::Relation */
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 /* {{{ MusicBrainz::Disc */
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

Generated on Mon Sep 6 2010 14:48:52 for libmusicbrainz3 by  doxygen 1.7.1