Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   Related Pages  

ICQ2000 Namespace Reference

MessageHandler. More...


Compounds

class  ICQ2000::_ContactList_const_iterator
class  ICQ2000::_ContactList_iterator
class  ICQ2000::AddBuddySNAC
class  ICQ2000::AddInvisibleSNAC
class  ICQ2000::AddSocketHandleEvent
 A socket handle add event. More...

class  ICQ2000::AddTmpVisibleSNAC
class  ICQ2000::AddVisibleSNAC
class  ICQ2000::AdvMsgBodyTLV
class  ICQ2000::AdvMsgDataTLV
class  ICQ2000::AuthAccICQSubType
class  ICQ2000::AuthAckEvent
 An Authorisation Acknowledge (success/failure). More...

class  ICQ2000::AuthRejICQSubType
class  ICQ2000::AuthReqEvent
 An Authorisation Request. More...

class  ICQ2000::AuthReqICQSubType
class  ICQ2000::AwayMessageEvent
 An Away message. More...

class  ICQ2000::AwayMsgSubType
struct  ICQ2000::BackgroundRecord
class  ICQ2000::BOSFamilySNAC
class  ICQ2000::BOSListSNAC
class  ICQ2000::BuddyOfflineSNAC
class  ICQ2000::BuddyOnlineSNAC
class  ICQ2000::BUDFamilySNAC
class  ICQ2000::CapabilitiesSNAC
class  ICQ2000::CapabilitiesTLV
class  ICQ2000::CapAckSNAC
class  ICQ2000::ClientBuildMajorTLV
class  ICQ2000::ClientBuildMinorTLV
class  ICQ2000::ClientICQNumberTLV
class  ICQ2000::ClientProfileTLV
class  ICQ2000::ClientReadySNAC
class  ICQ2000::ClientTypeTLV
class  ICQ2000::ClientVersionMajorTLV
class  ICQ2000::ClientVersionMinorTLV
class  ICQ2000::ConnectedEvent
 This event is signalled when the client is connected properly to the ICQ network. More...

class  ICQ2000::Contact::BackgroundInfo
class  ICQ2000::Cache
class  ICQ2000::CacheItem
class  ICQ2000::Capabilities
class  ICQ2000::Client
 The main library object. More...

class  ICQ2000::Contact
class  ICQ2000::Contact::MainHomeInfo
class  ICQ2000::Contact::HomepageInfo
class  ICQ2000::Contact::EmailInfo
class  ICQ2000::Contact::WorkInfo
class  ICQ2000::Contact::PersonalInterestInfo
class  ICQ2000::ContactEvent
 Base class for Contact events. More...

class  ICQ2000::ContactList
class  ICQ2000::ContactListEvent
 Base class for Contact List related events. More...

class  ICQ2000::CookieTLV
struct  ICQ2000::Country
class  ICQ2000::CountryCodeTLV
class  ICQ2000::DCCache
class  ICQ2000::DirectClient
class  ICQ2000::DisconnectedEvent
 This event is signalled when the client has been disconnected from the ICQ network. More...

class  ICQ2000::DisconnectedException
class  ICQ2000::DisconnectMessageTLV
class  ICQ2000::DisconnectReasonTLV
class  ICQ2000::EmailExEvent
 An E-mail Express message. More...

class  ICQ2000::EmailExICQSubType
class  ICQ2000::EmailMessageEvent
 An E-mail message, sent with SMTP. More...

class  ICQ2000::ErrorCodeTLV
class  ICQ2000::ErrorURLTLV
class  ICQ2000::Event
 The base class for all events. More...

class  ICQ2000::GenericSNAC
class  ICQ2000::ICBMCookie
class  ICQ2000::ICBMCookieCache
class  ICQ2000::ICQDataTLV
class  ICQ2000::ICQMessageEvent
 Base class for ICQ messages (not SMS). More...

class  ICQ2000::ICQSubType
class  ICQ2000::InSNAC
class  ICQ2000::InTLV
class  ICQ2000::IPAddressTLV
class  ICQ2000::LANDetailsTLV
class  ICQ2000::LanguageTLV
class  ICQ2000::LOCFamilySNAC
class  ICQ2000::LogEvent
 This event is for any logging messages generated by the library. More...

class  ICQ2000::LongTLV
class  ICQ2000::MessageACKSNAC
class  ICQ2000::MessageDataTLV
class  ICQ2000::MessageEvent
 A message event. More...

class  ICQ2000::MessageHandler
class  ICQ2000::MessageOfflineUserSNAC
class  ICQ2000::MessageSNAC
class  ICQ2000::MessageTextTLV
class  ICQ2000::MOTDSNAC
class  ICQ2000::MsgAddICBMParameterSNAC
class  ICQ2000::MsgFamilySNAC
class  ICQ2000::MsgSendSNAC
class  ICQ2000::NewUINEvent
 Registration of a new UIN. More...

class  ICQ2000::NormalICQSubType
class  ICQ2000::NormalMessageEvent
 A normal message. More...

class  ICQ2000::OutSNAC
class  ICQ2000::OutTLV
class  ICQ2000::ParseException
class  ICQ2000::PasswordTLV
class  ICQ2000::PersonalInfoRequestSNAC
class  ICQ2000::PortTLV
class  ICQ2000::RateInfoAckSNAC
class  ICQ2000::RateInfoChangeEvent
 Rate Information Changed. More...

class  ICQ2000::RateInfoChangeSNAC
class  ICQ2000::RateInfoSNAC
class  ICQ2000::RawSNAC
class  ICQ2000::RawTLV
class  ICQ2000::RedirectTLV
class  ICQ2000::ref_ptr
class  ICQ2000::RemoveBuddySNAC
class  ICQ2000::RemoveInvisibleSNAC
class  ICQ2000::RemoveSocketHandleEvent
 A socket handle remove event. More...

class  ICQ2000::RemoveTmpVisibleSNAC
class  ICQ2000::RemoveVisibleSNAC
class  ICQ2000::RequestIDCache
class  ICQ2000::RequestIDCacheValue
class  ICQ2000::RequestRateInfoSNAC
class  ICQ2000::RequestSBLSNAC
class  ICQ2000::SBLFamilySNAC
class  ICQ2000::SBLListSNAC
class  ICQ2000::ScreenNameTLV
class  ICQ2000::SearchCacheValue
class  ICQ2000::SearchResultEvent
 The event signalled when a user-search result is received. More...

class  ICQ2000::SeqNumCache
class  ICQ2000::ServerBasedContactEvent
 The event signalled when entries from the server-based contact list is received. More...

class  ICQ2000::ServerReadySNAC
class  ICQ2000::SetIdleSNAC
class  ICQ2000::SetStatusSNAC
class  ICQ2000::SetUserInfoSNAC
class  ICQ2000::ShortTLV
class  ICQ2000::SignonDateTLV
class  ICQ2000::SignupDateTLV
class  ICQ2000::SMSEventCacheValue
class  ICQ2000::SMSICQSubType
class  ICQ2000::SMSMessageEvent
 An SMS message. More...

class  ICQ2000::SMSReceiptEvent
 An SMS (delivery) receipt. More...

class  ICQ2000::SMTPClient
class  ICQ2000::SMTPException
class  ICQ2000::SNAC
class  ICQ2000::SocketClient
class  ICQ2000::SocketClientException
class  ICQ2000::SocketEvent
 Base class for socket events. More...

class  ICQ2000::SrvAckOfflineSNAC
class  ICQ2000::SrvFamilySNAC
class  ICQ2000::SrvRequestDetailUserInfo
class  ICQ2000::SrvRequestFullWP
class  ICQ2000::SrvRequestKeywordSearch
class  ICQ2000::SrvRequestOfflineSNAC
class  ICQ2000::SrvRequestShortWP
class  ICQ2000::SrvRequestSimpleUserInfo
class  ICQ2000::SrvResponseSNAC
class  ICQ2000::SrvSendSNAC
class  ICQ2000::SrvUpdateAboutInfo
class  ICQ2000::SrvUpdateHomepageInfo
class  ICQ2000::SrvUpdateMainHomeInfo
class  ICQ2000::SrvUpdateWorkInfo
class  ICQ2000::StatusChangeEvent
 The event signalled when a user's status changes. More...

class  ICQ2000::StatusTLV
class  ICQ2000::StringTLV
class  ICQ2000::TimeOnlineTLV
class  ICQ2000::TLV
class  ICQ2000::TLVList
class  ICQ2000::Translator
class  ICQ2000::TranslatorException
class  ICQ2000::UINFamilySNAC
class  ICQ2000::UINICQSubType
class  ICQ2000::UINRequestErrorSNAC
class  ICQ2000::UINRequestSNAC
class  ICQ2000::UINResponseSNAC
class  ICQ2000::UnknownTLV
class  ICQ2000::URLICQSubType
class  ICQ2000::URLMessageEvent
 An URL message. More...

class  ICQ2000::UserAddedEvent
 The event signalled when a user is added. More...

class  ICQ2000::UserAddEvent
 A "You were added" message. More...

class  ICQ2000::UserAddICQSubType
class  ICQ2000::UserClassTLV
class  ICQ2000::UserInfoBlock
class  ICQ2000::UserInfoCacheValue
class  ICQ2000::UserInfoCapabilitiesTLV
class  ICQ2000::UserInfoChangeEvent
 The event signalled when user information changes. More...

class  ICQ2000::UserInfoSNAC
class  ICQ2000::UserRemovedEvent
 The event signalled when a user is about to be removed. More...

class  ICQ2000::WebAddressTLV

Typedefs

typedef ref_ptr< Contact > ContactRef

Enumerations

enum  Status {
  STATUS_ONLINE, STATUS_AWAY, STATUS_NA, STATUS_OCCUPIED,
  STATUS_DND, STATUS_FREEFORCHAT, STATUS_OFFLINE
}
enum  TLV_ParseMode {
  TLV_ParseMode_Channel01, TLV_ParseMode_Channel02, TLV_ParseMode_Channel04, TLV_ParseMode_MessageBlock,
  TLV_ParseMode_AdvMsgBlock, TLV_ParseMode_InMessageData, TLV_ParseMode_InAdvMsgData
}
enum  Sex { SEX_UNSPECIFIED = 0, SEX_FEMALE = 1, SEX_MALE = 2 }
enum  AgeRange {
  range_NoRange = 0, range_18_22 = 1, range_23_29 = 2, range_30_39 = 3,
  range_40_49 = 4, range_50_59 = 5, range_60_above = 6
}

Functions

void string_split (const string &in, const string &sep, int count, std::list< string > &fields)
InSNAC * ParseSNAC (Buffer &b)
time_t gmt_mktime (struct tm *tm)
void string_split (const std::string &in, const std::string &sep, int count, std::list< std::string > &fields)

Variables

const unsigned short STATUS_FLAG_ONLINE = 0x0000
const unsigned short STATUS_FLAG_AWAY = 0x0001
const unsigned short STATUS_FLAG_DND = 0x0002
const unsigned short STATUS_FLAG_NA = 0x0004
const unsigned short STATUS_FLAG_OCCUPIED = 0x0010
const unsigned short STATUS_FLAG_FREEFORCHAT = 0x0020
const unsigned short STATUS_FLAG_INVISIBLE = 0x0100
const unsigned short V6_TCP_START = 0x07ee
const unsigned short V6_TCP_ACK = 0x07da
const unsigned char MSG_Type_Normal = 0x01
const unsigned char MSG_Type_URL = 0x04
const unsigned char MSG_Type_AuthReq = 0x06
const unsigned char MSG_Type_AuthRej = 0x07
const unsigned char MSG_Type_AuthAcc = 0x08
const unsigned char MSG_Type_UserAdd = 0x0c
const unsigned char MSG_Type_EmailEx = 0x0e
const unsigned char MSG_Type_SMS = 0x1a
const unsigned char MSG_Type_AutoReq_Away = 0xe8
const unsigned char MSG_Type_AutoReq_Occ = 0xe9
const unsigned char MSG_Type_AutoReq_NA = 0xea
const unsigned char MSG_Type_AutoReq_DND = 0xeb
const unsigned char MSG_Type_AutoReq_FFC = 0xec
const unsigned char MSG_Flag_AutoReq = 0x03
const unsigned char MSG_Flag_Multi = 0x80
const unsigned short Priority_Normal = 0x0001
const unsigned short Priority_Urgent = 0x0002
const unsigned short Priority_ToContactList = 0x0004
const unsigned short AcceptStatus_Online = 0x0000
const unsigned short AcceptStatus_Denied = 0x0001
const unsigned short AcceptStatus_Away = 0x0004
const unsigned short AcceptStatus_Occupied = 0x0009
const unsigned short AcceptStatus_DND = 0x000a
const unsigned short AcceptStatus_Occ_Accept = 0x000c
const unsigned short AcceptStatus_NA = 0x000e
const unsigned short SNAC_FAM_GEN = 0x0001
const unsigned short SNAC_FAM_LOC = 0x0002
const unsigned short SNAC_FAM_BUD = 0x0003
const unsigned short SNAC_FAM_MSG = 0x0004
const unsigned short SNAC_FAM_ADS = 0x0005
const unsigned short SNAC_FAM_INV = 0x0006
const unsigned short SNAC_FAM_ADM = 0x0007
const unsigned short SNAC_FAM_POP = 0x0008
const unsigned short SNAC_FAM_BOS = 0x0009
const unsigned short SNAC_FAM_LUP = 0x000a
const unsigned short SNAC_FAM_STS = 0x000b
const unsigned short SNAC_FAM_TRT = 0x000c
const unsigned short SNAC_FAM_CNV = 0x000d
const unsigned short SNAC_FAM_CHT = 0x000e
const unsigned short SNAC_FAM_SBL = 0x0013
const unsigned short SNAC_FAM_SRV = 0x0015
const unsigned short SNAC_FAM_UIN = 0x0017
const unsigned short SNAC_BOS_Add_Visible = 0x0005
const unsigned short SNAC_BOS_Remove_Visible = 0x0006
const unsigned short SNAC_BOS_Add_Invisible = 0x0007
const unsigned short SNAC_BOS_Remove_Invisible = 0x0008
const unsigned short SNAC_BOS_Add_Tmp_Visible = 0x000A
const unsigned short SNAC_BOS_Remove_Tmp_Visible = 0x000B
const unsigned short SNAC_BUD_Error = 0x0001
const unsigned short SNAC_BUD_AddBuddy = 0x0004
const unsigned short SNAC_BUD_RemoveBuddy = 0x0005
const unsigned short SNAC_BUD_Online = 0x000b
const unsigned short SNAC_BUD_Offline = 0x000c
const unsigned short SNAC_GEN_Error = 0x0001
const unsigned short SNAC_GEN_ClientReady = 0x0002
const unsigned short SNAC_GEN_ServerReady = 0x0003
const unsigned short SNAC_GEN_NewService = 0x0004
const unsigned short SNAC_GEN_Redirect = 0x0005
const unsigned short SNAC_GEN_RequestRateInfo = 0x0006
const unsigned short SNAC_GEN_RateInfo = 0x0007
const unsigned short SNAC_GEN_RateInfoAck = 0x0008
const unsigned short SNAC_GEN_RateInfoChange = 0x000a
const unsigned short SNAC_GEN_ServerPause = 0x000b
const unsigned short SNAC_GEN_ServerResume = 0x000d
const unsigned short SNAC_GEN_UserInfoRequest = 0x000e
const unsigned short SNAC_GEN_UserInfo = 0x000f
const unsigned short SNAC_GEN_Evil = 0x0010
const unsigned short SNAC_GEN_SetIdle = 0x0011
const unsigned short SNAC_GEN_MigrationRequest = 0x0012
const unsigned short SNAC_GEN_MOTD = 0x0013
const unsigned short SNAC_GEN_SetPrivFlags = 0x0014
const unsigned short SNAC_GEN_WellKnownURL = 0x0015
const unsigned short SNAC_GEN_NOP = 0x0016
const unsigned short SNAC_GEN_Capabilities = 0x0017
const unsigned short SNAC_GEN_CapAck = 0x0018
const unsigned short SNAC_GEN_SetStatus = 0x001e
const unsigned char MOTD_MANDATORY_UPGRADE = 0x01
const unsigned char MOTD_ADVISORY_UPGRADE = 0x02
const unsigned char MOTD_SYSTEM_BULLETIN = 0x03
const unsigned char MOTD_NORMAL = 0x04
const unsigned short SNAC_LOC_Error = 0x0001
const unsigned short SNAC_LOC_RightsReq = 0x0002
const unsigned short SNAC_LOC_Rights = 0x0003
const unsigned short SNAC_LOC_SetUserInfo = 0x0004
const unsigned short SNAC_MSG_Error = 0x0001
const unsigned short SNAC_MSG_AddICBMParameter = 0x0002
const unsigned short SNAC_MSG_Send = 0x0006
const unsigned short SNAC_MSG_Message = 0x0007
const unsigned short SNAC_MSG_MessageACK = 0x000b
const unsigned short SNAC_MSG_OfflineUser = 0x000c
const unsigned short SNAC_SBL_Request_List = 0x0005
const unsigned short SNAC_SBL_List_From_Server = 0x0006
const unsigned short SNAC_SRV_Error = 0x0001
const unsigned short SNAC_SRV_Send = 0x0002
const unsigned short SNAC_SRV_Response = 0x0003
const unsigned short SrvResponse_Error = 0x0001
const unsigned short SrvResponse_AckMainHomeInfoChange = 0x0064
const unsigned short SrvResponse_AckWorkInfoChange = 0x006E
const unsigned short SrvResponse_AckHomepageInfoChange = 0x0078
const unsigned short SrvResponse_AckAboutInfoChange = 0x0082
const unsigned short SrvResponse_SMS_Done = 0x0096
const unsigned short SrvResponse_SimpleUI = 0x0190
const unsigned short SrvResponse_SimpleUI_Done = 0x019a
const unsigned short SrvResponse_SearchUI = 0x01a4
const unsigned short SrvResponse_SearchUI_Done = 0x01ae
const unsigned short SrvResponse_MainHomeInfo = 0x00c8
const unsigned short SrvResponse_WorkInfo = 0x00d2
const unsigned short SrvResponse_HomePageInfo = 0x00dc
const unsigned short SrvResponse_AboutInfo = 0x00e6
const unsigned short SrvResponse_EmailInfo = 0x00eb
const unsigned short SrvResponse_InterestInfo = 0x00f0
const unsigned short SrvResponse_BackgroundInfo = 0x00fa
const unsigned short SrvResponse_Unknown = 0x010e
const unsigned short SNAC_UIN_RequestError = 0x0001
const unsigned short SNAC_UIN_Request = 0x0004
const unsigned short SNAC_UIN_Response = 0x0005
const unsigned short TLV_Screenname = 0x0001
const unsigned short TLV_Password = 0x0002
const unsigned short TLV_ClientProfile = 0x0003
const unsigned short TLV_UserInfo = 0x0005
const unsigned short TLV_Cookie = 0x0006
const unsigned short TLV_CountryCode = 0x000e
const unsigned short TLV_Language = 0x000f
const unsigned short TLV_ClientBuildMinor = 0x0014
const unsigned short TLV_ClientType = 0x0016
const unsigned short TLV_ClientVersionMajor = 0x0017
const unsigned short TLV_ClientVersionMinor = 0x0018
const unsigned short TLV_ClientICQNumber = 0x0019
const unsigned short TLV_ClientBuildMajor = 0x001a
const unsigned short TLV_UserClass = 0x0001
const unsigned short TLV_SignupDate = 0x0002
const unsigned short TLV_SignonDate = 0x0003
const unsigned short TLV_Port = 0x0004
const unsigned short TLV_UserInfoCapabilities = 0x0005
const unsigned short TLV_Status = 0x0006
const unsigned short TLV_Unknown = 0x0008
const unsigned short TLV_IPAddress = 0x000a
const unsigned short TLV_WebAddress = 0x000b
const unsigned short TLV_LANDetails = 0x000c
const unsigned short TLV_Capabilities = 0x000d
const unsigned short TLV_TimeOnline = 0x000f
const unsigned short TLV_ErrorURL = 0x0004
const unsigned short TLV_Redirect = 0x0005
const unsigned short TLV_ErrorCode = 0x0008
const unsigned short TLV_DisconnectReason = 0x0009
const unsigned short TLV_DisconnectMessage = 0x000b
const unsigned short TLV_Unknown3 = 0x000c
const unsigned short TLV_EmailAddress = 0x0011
const unsigned short TLV_RegStatus = 0x0013
const unsigned short TLV_MessageData = 0x0002
const unsigned short TLV_ServerAckRequested = 0x0003
const unsigned short TLV_MessageIsAutoResponse = 0x0004
const unsigned short TLV_ICQData = 0x0005
const unsigned short TLV_AdvMsgData = 0x0005
const unsigned short TLV_Unknown0501 = 0x0501
const unsigned short TLV_MessageText = 0x0101
const unsigned short TLV_AdvMsgBody = 0x2711
const unsigned char ALLOWDIRECT_EVERYONE = 0x00
const unsigned char ALLOWDIRECT_AUTHORIZATION = 0x10
const unsigned char ALLOWDIRECT_CONTACTLIST = 0x20
const unsigned char WEBAWARE_NORMAL = 0x02
const unsigned char WEBAWARE_WEBAWARE = 0x03


Detailed Description

MessageHandler.

Copyright (C) 2002 Barnaby Gray <barnaby@beedesign.co.uk>

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA


Generated on Tue Apr 16 22:12:39 2002 for libicq2000 by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002