00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef USERINFOBLOCK_H
00023 #define USERINFOBLOCK_H
00024
00025 #include <string>
00026
00027 #include <libicq2000/buffer.h>
00028 #include <libicq2000/Capabilities.h>
00029
00030 namespace ICQ2000 {
00031
00032
00033
00034
00035
00036 class UserInfoBlock {
00037 protected:
00038 std::string m_screenname;
00039 unsigned short m_warninglevel, m_userClass;
00040 unsigned char m_allowDirect, m_webAware;
00041 unsigned short m_status;
00042 unsigned int m_timeOnline;
00043 unsigned int m_signupDate, m_signonDate;
00044 unsigned int m_lan_ip, m_ext_ip;
00045 unsigned short m_lan_port, m_ext_port, m_firewall;
00046 unsigned char m_tcp_version;
00047 bool m_contains_capabilities;
00048 Capabilities m_capabilities;
00049
00050 public:
00051 UserInfoBlock();
00052
00053 std::string getScreenName() const;
00054 unsigned int getUIN() const;
00055 unsigned int getTimeOnline() const;
00056 unsigned int getSignupDate() const;
00057 unsigned int getSignonDate() const;
00058 unsigned int getLanIP() const;
00059 unsigned int getExtIP() const;
00060 unsigned short getLanPort() const;
00061 unsigned short getExtPort() const;
00062 unsigned short getFirewall() const;
00063 unsigned char getTCPVersion() const;
00064 unsigned short getStatus() const;
00065
00066 bool contains_capabilities() const;
00067 Capabilities get_capabilities() const;
00068
00069 void Parse(Buffer& b);
00070 };
00071
00072 }
00073
00074 #endif