00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
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