1 #ifndef __ABSTRACTHOOK_H__
2 #define __ABSTRACTHOOK_H__
6 #include "imcontroller.h"
27 conferencesaretemporary
,
52 encUTF
, encKOI
, encUnknown
67 imstatus manualstatus
;
68 verticalmenu
*searchdest
;
69 set
<hookcapab::enumeration
> fcapabs
;
70 vector
<icqcontact
*> foundguys
;
72 string
rusconv(const string
&tdir
, const string
&text
);
73 string
rushtmlconv(const string
&tdir
, const string
&text
, bool rus
= true);
74 string
ruscrlfconv(const string
&tdir
, const string
&text
);
76 void requestfromfound(const imcontact
&ic
);
77 void log(logevent ev
, ...);
79 struct Country_struct
{
85 static const unsigned char Language_table_size
;
86 static const char* const Language_table
[];
87 static const unsigned short Country_table_size
;
88 static const Country_struct Country_table
[];
90 static string
getCountryIDtoString(unsigned short id
);
91 static unsigned short getCountryByName(string name
);
92 static signed char getSystemTimezone();
93 static string
getInterestsIDtoString(unsigned char id
);
94 static string
getBackgroundIDtoString(unsigned short id
);
95 static string
getTimezoneIDtoString(signed char id
);
96 static string
getTimezonetoLocaltime(signed char id
);
97 static string
getLanguageIDtoString(unsigned char id
);
98 static string
getmd5(const string
&text
);
101 abstracthook(protocolname aproto
);
102 virtual ~abstracthook();
106 virtual void connect();
107 virtual void disconnect();
108 virtual void exectimers();
111 virtual void getsockets(fd_set
&rfds
, fd_set
&wfds
, fd_set
&efds
, int &hsocket
) const;
112 virtual bool isoursocket(fd_set
&rfds
, fd_set
&wfds
, fd_set
&efds
) const;
114 virtual bool online() const;
115 virtual bool logged() const;
116 virtual bool isconnecting() const;
117 virtual bool enabled() const;
119 virtual bool send(const imevent
&ev
);
121 virtual void sendnewuser(const imcontact
&c
);
122 virtual void removeuser(const imcontact
&ic
);
124 virtual void setautostatus(imstatus st
);
125 virtual void restorestatus();
127 virtual void setstatus(imstatus st
);
128 virtual imstatus
getstatus() const;
130 virtual imstatus
getmanualstatus() const
131 { return manualstatus
; }
133 virtual bool isdirectopen(const imcontact
&c
) const;
134 virtual void requestinfo(const imcontact
&c
);
136 virtual void lookup(const imsearchparams
¶ms
, verticalmenu
&dest
);
137 virtual void stoplookup();
139 virtual void requestawaymsg(const imcontact
&c
);
140 virtual void requestversion(const imcontact
&c
);
141 virtual void ping(const imcontact
&c
);
143 set
<hookcapab::enumeration
> getCapabs() const
146 virtual void ouridchanged(const icqconf::imaccount
&ia
);
148 virtual bool knowntransfer(const imfile
&fr
) const;
149 virtual void replytransfer(const imfile
&fr
, bool accept
,
150 const string
&localpath
= string());
151 virtual void aborttransfer(const imfile
&fr
);
153 virtual void conferencecreate(const imcontact
&confid
,
154 const vector
<imcontact
> &lst
);
156 virtual vector
<string
> getservices(servicetype::enumeration st
) const;
158 virtual vector
<pair
<string
, string
> > getsearchparameters(const string
&agentname
) const;
159 virtual vector
<pair
<string
, string
> > getregparameters(const string
&agentname
) const;
161 virtual void updatecontact(icqcontact
*c
);
162 virtual void renamegroup(const string
&oldname
, const string
&newname
);
164 virtual bool regconnect(const string
&aserv
);
165 virtual bool regattempt(unsigned int &auin
, const string
&apassword
, const string
&email
);
168 abstracthook
&gethook(protocolname pname
);
169 struct tm
*maketm(int hour
, int minute
, int day
, int month
, int year
);
171 extern time_t timer_current
;