|
Freya
0.0.1
A Gtk3 MPD Client
|
00001 /*********************************************************** 00002 * This file is part of Freya 00003 * - A free MPD Gtk3 MPD Client - 00004 * 00005 * Authors: Christopher Pahl, Christoph Piechula, 00006 * Eduard Schneider 00007 * 00008 * Copyright (C) [2011-2012] 00009 * Hosted at: https://github.com/studentkittens/Freya 00010 * 00011 * __..--''``---....___ _..._ __ 00012 * /// //_.-' .-/"; ` ``<._ ``.''_ `. / // / 00013 * ///_.-' _..--.'_ `( ) ) // // 00014 * / (_..-' // (< _ ;_..__ ; `' / /// 00015 * / // // // `-._,_)' // / ``--...____..-' /// / // 00016 * Ascii-Art by Felix Lee <flee@cse.psu.edu> 00017 * 00018 * Freya is free software: you can redistribute it and/or modify 00019 * it under the terms of the GNU General Public License as published by 00020 * the Free Software Foundation, either version 3 of the License, or 00021 * (at your option) any later version. 00022 * 00023 * Freya is distributed in the hope that it will be useful, 00024 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00025 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00026 * GNU General Public License for more details. 00027 * 00028 * You should have received a copy of the GNU General Public License 00029 * along with Freya. If not, see <http://www.gnu.org/licenses/>. 00030 **************************************************************/ 00031 #ifndef FREYA_MPDCONNECTION_GUARD 00032 #define FREYA_MPDCONNECTION_GUARD 00033 00034 #include <mpd/client.h> 00035 #include <glibmm.h> 00036 00037 namespace MPD 00038 { 00046 typedef sigc::signal<void,bool,bool> ConnectionNotifier; 00047 00051 typedef sigc::signal<void, bool,mpd_error> ErrorNotify; 00052 00059 class Connection 00060 { 00061 public: 00062 00066 Connection(); 00070 ~Connection(); 00071 00077 bool is_connected(); 00078 00086 bool connect(); 00092 bool disconnect(); 00103 bool clear_error(); 00104 00112 bool check_error(); 00113 00119 ErrorNotify& signal_error(); 00120 00126 ConnectionNotifier& signal_connection_change(); 00127 00135 void emit_connection_change(); 00136 00142 mpd_connection * get_connection(); 00143 00144 00145 private: 00146 00150 ConnectionNotifier m_ConnNotifer; 00151 00155 mpd_connection * conn; 00156 00160 ErrorNotify m_ErrorSig; 00161 00165 Glib::ustring lastHost; 00169 bool hostChanged; 00170 }; 00171 00172 } 00173 00174 #endif
1.8.0