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
00029 namespace ICQ2000 {
00030
00031
00032
00033
00034
00035 class UserInfoBlock {
00036 public:
00037 enum tristate {
00038 tri_unknown,
00039 tri_true,
00040 tri_false
00041 };
00042
00043 protected:
00044 string m_screenname;
00045 unsigned short m_warninglevel, m_userClass;
00046 unsigned char m_allowDirect, m_webAware;
00047 unsigned short m_status;
00048 unsigned int m_timeOnline;
00049 unsigned int m_signupDate, m_signonDate;
00050 unsigned int m_lan_ip, m_ext_ip;
00051 unsigned short m_lan_port, m_ext_port, m_firewall;
00052 unsigned char m_tcp_version;
00053 tristate m_accept_adv_msgs;
00054
00055 public:
00056 UserInfoBlock() : m_accept_adv_msgs(tri_unknown) { }
00057
00058 string getScreenName() const;
00059 unsigned int getUIN() const;
00060 unsigned int getTimeOnline() const;
00061 unsigned int getLanIP() const;
00062 unsigned int getExtIP() const;
00063 unsigned short getLanPort() const;
00064 unsigned short getExtPort() const;
00065 unsigned short getFirewall() const;
00066 unsigned char getTCPVersion() const;
00067 tristate getAcceptAdvMsgs() const;
00068 unsigned short getStatus() const;
00069
00070 void Parse(Buffer& b);
00071 };
00072
00073 }
00074
00075 #endif