libmpdclient
2.7
|
00001 /* libmpdclient 00002 (c) 2003-2010 The Music Player Daemon Project 00003 This project's homepage is: http://www.musicpd.org 00004 00005 Redistribution and use in source and binary forms, with or without 00006 modification, are permitted provided that the following conditions 00007 are met: 00008 00009 - Redistributions of source code must retain the above copyright 00010 notice, this list of conditions and the following disclaimer. 00011 00012 - Redistributions in binary form must reproduce the above copyright 00013 notice, this list of conditions and the following disclaimer in the 00014 documentation and/or other materials provided with the distribution. 00015 00016 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 00017 ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 00018 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 00019 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR 00020 CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 00021 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 00022 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 00023 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 00024 LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 00025 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 00026 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00027 */ 00028 00035 #ifndef MPD_MESSAGE_H 00036 #define MPD_MESSAGE_H 00037 00038 #include <mpd/recv.h> 00039 #include <mpd/compiler.h> 00040 00041 #include <stdbool.h> 00042 00043 struct mpd_pair; 00047 struct mpd_message; 00048 struct mpd_connection; 00049 00050 #ifdef __cplusplus 00051 extern "C" { 00052 #endif 00053 00061 mpd_malloc 00062 struct mpd_message * 00063 mpd_message_begin(const struct mpd_pair *pair); 00064 00073 bool 00074 mpd_message_feed(struct mpd_message *output, const struct mpd_pair *pair); 00075 00079 void 00080 mpd_message_free(struct mpd_message *message); 00081 00085 mpd_pure 00086 const char * 00087 mpd_message_get_channel(const struct mpd_message *message); 00088 00092 mpd_pure 00093 const char * 00094 mpd_message_get_text(const struct mpd_message *message); 00095 00103 bool 00104 mpd_send_subscribe(struct mpd_connection *connection, const char *channel); 00105 00113 bool 00114 mpd_run_subscribe(struct mpd_connection *connection, const char *channel); 00115 00124 bool 00125 mpd_send_unsubscribe(struct mpd_connection *connection, const char *channel); 00126 00134 bool 00135 mpd_run_unsubscribe(struct mpd_connection *connection, const char *channel); 00136 00145 bool 00146 mpd_send_send_message(struct mpd_connection *connection, 00147 const char *channel, const char *text); 00148 00157 bool 00158 mpd_run_send_message(struct mpd_connection *connection, 00159 const char *channel, const char *text); 00160 00167 bool 00168 mpd_send_read_messages(struct mpd_connection *connection); 00169 00177 mpd_malloc 00178 struct mpd_message * 00179 mpd_recv_message(struct mpd_connection *connection); 00180 00187 bool 00188 mpd_send_channels(struct mpd_connection *connection); 00189 00200 mpd_malloc 00201 static inline struct mpd_pair * 00202 mpd_recv_channel_pair(struct mpd_connection *connection) 00203 { 00204 return mpd_recv_pair_named(connection, "channel"); 00205 } 00206 00207 #ifdef __cplusplus 00208 } 00209 #endif 00210 00211 #endif