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