Updated Changelog
[centerim.git] / src / centerim.h
blobd1b85b171521e9df09b8210d0f8b78c583dd8bff
1 #ifndef __CENTERIM_H__
2 #define __CENTERIM_H__
4 #include <signal.h>
5 #include <sys/wait.h>
6 #include <fstream>
8 #include "kkstrtext.h"
9 #include "icqconf.h"
10 #include "icqcontact.h"
12 #include "eventmanager.h"
13 #include "icqface.h"
15 #define HIDL_SOCKEXIT 2
17 class centerim {
18 public:
19 enum msgmode {
20 reply,
21 forward,
22 scratch
25 static char const * const version;
27 protected:
28 struct reconnectInfo {
29 time_t timer;
30 int period;
32 reconnectInfo(): timer(0), period(30) {}
35 time_t timer_checkmail, timer_keypress, timer_update, timer_resend, timer_autosave;
36 bool regmode;
38 map<string, time_t> configstats;
39 map<protocolname, reconnectInfo> reconnect;
41 static void handlesignal(int signum);
43 void checkparallel();
44 void inithooks();
45 bool checkpasswords();
46 void rereadstatus();
48 void checkmail();
49 void checkconfigs();
51 string quotemsg(const string &text);
53 void setauto(imstatus astatus);
54 void createconference(const imcontact &ic);
56 void defaultcontacts(bool rus);
57 void massmove();
59 public:
60 centerim();
61 ~centerim();
63 void commandline(int argc, char **argv);
64 void exec();
65 void reg();
66 void mainloop();
67 void userinfo(const imcontact &cinfo);
68 void changestatus();
69 bool updateconf();
71 void find();
72 void joindialog();
73 void linkfeed();
75 icqcontact *addcontact(const imcontact &ic, bool reqauth = false);
77 bool idle(int options = 0);
78 void exectimers();
80 icqface::eventviewresult readevent(const imevent &ev,
81 const vector<icqface::eventviewresult> &buttons = vector<icqface::eventviewresult>());
83 icqface::eventviewresult readevent(const imevent &ev, bool &enough, bool &fin,
84 const vector<icqface::eventviewresult> &buttons = vector<icqface::eventviewresult>());
86 void readevents(const imcontact cont);
88 void history(const imcontact &cont);
89 bool next_chat(bool next = false);
91 bool sendevent(const imevent &ev, icqface::eventviewresult r);
94 extern centerim cicq;
96 #endif