1 /* 2 * This file is part of Licq, an instant messaging client for UNIX. 3 * Copyright (C) 2007-2010, 2013 Licq developers <licq-dev@googlegroups.com> 4 * 5 * Licq is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; either version 2 of the License, or 8 * (at your option) any later version. 9 * 10 * Licq is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with Licq; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 */ 19 20 #ifndef IFACE_H 21 #define IFACE_H 22 23 #include <ctime> 24 #include <map> 25 #include <string> 26 27 #include <aosd.h> 28 #include <aosd-text.h> 29 #undef Status 30 31 namespace Licq 32 { 33 class PluginSignal; 34 } 35 36 class Conf; 37 38 class Iface 39 { 40 public: 41 Iface(); 42 ~Iface(); 43 44 void processSignal(const Licq::PluginSignal* sig); 45 void updateTextRenderData(); 46 47 private: 48 Aosd* aosd; 49 TextRenderData trd; 50 Conf* conf; 51 std::map<unsigned long, time_t> ppidTimers; 52 53 bool filterSignal(const Licq::PluginSignal* sig, unsigned long ppid); 54 55 void displayLayout(std::string& msg, bool control); 56 }; 57 58 #endif 59 60 /* vim: set ts=2 sw=2 et : */ 61