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 - Neither the name of the Music Player Daemon nor the names of its 00017 contributors may be used to endorse or promote products derived from 00018 this software without specific prior written permission. 00019 00020 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 00021 ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 00022 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 00023 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR 00024 CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 00025 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 00026 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 00027 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 00028 LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 00029 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 00030 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00031 */ 00032 00039 #ifndef MPD_IDLE_H 00040 #define MPD_IDLE_H 00041 00042 #include <mpd/compiler.h> 00043 00044 #include <stdbool.h> 00045 00046 struct mpd_pair; 00047 struct mpd_connection; 00048 00052 enum mpd_idle { 00054 MPD_IDLE_DATABASE = 0x1, 00055 00058 MPD_IDLE_STORED_PLAYLIST = 0x2, 00059 00061 MPD_IDLE_QUEUE = 0x4, 00062 00064 MPD_IDLE_PLAYLIST = MPD_IDLE_QUEUE, 00065 00067 MPD_IDLE_PLAYER = 0x8, 00068 00070 MPD_IDLE_MIXER = 0x10, 00071 00073 MPD_IDLE_OUTPUT = 0x20, 00074 00076 MPD_IDLE_OPTIONS = 0x40, 00077 00079 MPD_IDLE_UPDATE = 0x80, 00080 00082 MPD_IDLE_STICKER = 0x100, 00083 00085 MPD_IDLE_SUBSCRIPTION = 0x200, 00086 00088 MPD_IDLE_MESSAGE = 0x400, 00089 }; 00090 00091 #ifdef __cplusplus 00092 extern "C" { 00093 #endif 00094 00101 mpd_const 00102 const char * 00103 mpd_idle_name(enum mpd_idle idle); 00104 00111 mpd_pure 00112 enum mpd_idle 00113 mpd_idle_name_parse(const char *name); 00114 00121 bool 00122 mpd_send_idle(struct mpd_connection *connection); 00123 00131 bool 00132 mpd_send_idle_mask(struct mpd_connection *connection, enum mpd_idle mask); 00133 00139 bool 00140 mpd_send_noidle(struct mpd_connection *connection); 00141 00148 mpd_pure 00149 enum mpd_idle 00150 mpd_idle_parse_pair(const struct mpd_pair *pair); 00151 00164 enum mpd_idle 00165 mpd_recv_idle(struct mpd_connection *connection, bool disable_timeout); 00166 00174 enum mpd_idle 00175 mpd_run_idle(struct mpd_connection *connection); 00176 00185 enum mpd_idle 00186 mpd_run_idle_mask(struct mpd_connection *connection, enum mpd_idle mask); 00187 00196 enum mpd_idle 00197 mpd_run_noidle(struct mpd_connection *connection); 00198 00199 #ifdef __cplusplus 00200 } 00201 #endif 00202 00203 #endif