libmsn 4.2.1
Classes | Enumerations | Functions
MSN Namespace Reference

Classes

class  AuthData
class  Buddy
class  Group
class  Connection
class  Callbacks
class  Message
class  MSNObject
class  _sameUserName
class  ListSyncInfo
class  connectinfo
class  NotificationServerConnection
class  P2P
class  InvalidPassport
class  Passport
class  Soap
class  hasCookieOf
class  SwitchboardServerConnection
struct  personalInfo
struct  hotmailInfo
struct  tagMSGRUSRKEY
struct  eachOIM
struct  fileTransferInvite

Enumerations

enum  BuddyStatus {
  STATUS_AVAILABLE, STATUS_BUSY, STATUS_IDLE, STATUS_BERIGHTBACK,
  STATUS_AWAY, STATUS_ONTHEPHONE, STATUS_OUTTOLUNCH, STATUS_INVISIBLE
}
enum  ErrorCodes {
  ERR_SYNTAX_ERROR = 200, ERR_INVALID_PARAMETER, ERR_INVALID_USER = 205, ERR_FQDN_MISSING,
  ERR_ALREADY_LOGIN, ERR_INVALID_USERNAME, ERR_INVALID_FRIENDLY_NAME, ERR_LIST_FULL,
  ERR_ALREADY_THERE = 215, ERR_NOT_ON_LIST, ERR_ALREADY_IN_THE_MODE = 218, ERR_ALREADY_IN_OPPOSITE_LIST,
  ERR_SWITCHBOARD_FAILED = 280, ERR_NOTIFY_XFR_FAILED, ERR_REQUIRED_FIELDS_MISSING = 300, ERR_NOT_LOGGED_IN = 302,
  ERR_INTERNAL_SERVER = 500, ERR_DB_SERVER = 501, ERR_FILE_OPERATION = 510, ERR_MEMORY_ALLOC = 520,
  ERR_SERVER_BUSY = 600, ERR_SERVER_UNAVAILABLE, ERR_PEER_NS_DOWN, ERR_DB_CONNECT,
  ERR_SERVER_GOING_DOWN, ERR_CREATE_CONNECTION = 707, ERR_BLOCKING_WRITE = 711, ERR_SESSION_OVERLOAD,
  ERR_USER_TOO_ACTIVE, ERR_TOO_MANY_SESSIONS, ERR_NOT_EXPECTED, ERR_BAD_FRIEND_FILE = 717,
  ERR_AUTHENTICATION_FAILED = 911, ERR_NOT_ALLOWED_WHEN_OFFLINE = 913, ERR_NOT_ACCEPTING_NEW_USERS = 920
}
enum  ContactList {
  LST_AB = 1, LST_AL = 2, LST_BL = 4, LST_RL = 8,
  LST_PL = 16
}
enum  MSNClientInformationFields {
  WindowsMobile = 0x1, InkGifSupport = 0x4, InkIsfSupport = 0x8, SupportWebcam = 0x10,
  SupportMultiPacketMessaging = 0x20, MSNMobileDevice = 0x40, MSNDirectDevice = 0x80, WebMessenger = 0x100,
  OtherSideWebMessenger = 0x200, InternalMicrosoftClient = 0x800, MSNSpace = 0x1000, WinXPMediaCenter = 0x2000,
  SupportDirectIM = 0x4000, SupportWinks = 0x8000, MSNSearch = 0x10000, VoiceClips = 0x40000,
  SecureChannel = 0x80000, SIPInvitations = 0x100000, SharingFolders = 0x400000, MSNC1 = 0x10000000,
  MSNC2 = 0x20000000, MSNC3 = 0x30000000, MSNC4 = 0x40000000, MSNC5 = 0x50000000,
  MSNC6 = 0x60000000, MSNC7 = 0x70000000
}
enum  fileTransferType { FILE_TRANSFER_WITH_PREVIEW = 0x0, FILE_TRANSFER_WITHOUT_PREVIEW = 0x1, FILE_TRANSFER_BACKGROUND_SHARING = 0x4, FILE_TRANSFER_BACKGROUND_SHARING_CUSTOM = 0xC }
enum  fileTransferError { FILE_TRANSFER_ERROR_USER_CANCELED, FILE_TRANSFER_ERROR_UNKNOWN }

Functions

std::string buddyStatusToString (BuddyStatus state)
BuddyStatus buddyStatusFromString (std::string state)
std::string build_file_transfer_context (MSN::fileTransferInvite ft)
std::pair< std::string, int > splitServerAddress (const std::string &address, int default_port)
std::string decodeURL (const std::string &s)
std::string encodeURL (const std::string &s)
std::vector< std::string > splitString (const std::string &s, const std::string &sep, bool suppressBlanks)
int nocase_cmp (const std::string &s1, const std::string &s2)
std::string toStr (int var)
std::string unsignedToStr (unsigned int var)
unsigned int decimalFromString (const std::string &s) throw (std::logic_error)
std::string hmac_sha (std::string key, std::string message)
std::string derive_key (std::string key, std::string magic)
std::string b64_encode (const char *input, int t)
std::string b64_decode (const char *input)
std::string mdi_encrypt (std::string key, std::string nonce)
void DoMSNP11Challenge (const char *szChallenge, char *szOutput)
unsigned int little2big_endian (unsigned int i)
int FileSize (const char *sFileName)
std::string new_branch ()
U32 _ucs2_utf8 (U8 *dst, U8 *src, U32 nchar)
U32 _utf8_ucs2 (U8 *dst, U8 *src)
void libmsn_Siren7_DecodeVoiceClip (std::string input_file)
void libmsn_Siren7_EncodeVoiceClip (std::string input_file)
std::string generate_soap_auth (std::string user, std::string pass, std::string ticket)

Detailed Description

Contains all of the functionality provided by libmsn.


Enumeration Type Documentation

The online state of a buddy.

Enumerator:
STATUS_AVAILABLE 

Contact is available

STATUS_BUSY 

Contact is busy

STATUS_IDLE 

Contact is idle

STATUS_BERIGHTBACK 

Contact will be right back

STATUS_AWAY 

Contact is away

STATUS_ONTHEPHONE 

Contact is on the phone

STATUS_OUTTOLUNCH 

Contact is out to lunch

STATUS_INVISIBLE 

Contact is invisible

Represents the lists present on server side

Enumerator:
LST_AB 

Address book

LST_AL 

Allow

LST_BL 

Block

LST_RL 

Reverse

LST_PL 

Pending

Error codes that the MSN servers may return in response to commands.

Type of the error when a file transfer fails

Enumerator:
FILE_TRANSFER_ERROR_USER_CANCELED 

The other user canceled

FILE_TRANSFER_ERROR_UNKNOWN 

Unknown error

Defines the file transfer type

Enumerator:
FILE_TRANSFER_WITH_PREVIEW 

With preview

FILE_TRANSFER_WITHOUT_PREVIEW 

Without preview

FILE_TRANSFER_BACKGROUND_SHARING 

Transfer of a sharing background

FILE_TRANSFER_BACKGROUND_SHARING_CUSTOM 

Custom and not supported by libmsn yet

List of possible capabilities for a contact


Function Documentation

unsigned int MSN::decimalFromString ( const std::string &  s) throw (std::logic_error)

Convert a string, s, that contains decimal digits into an unsigned int.

std::string MSN::decodeURL ( const std::string &  s)

URL-decode a string

Parameters:
sThe URL-encoded string to decode.
Returns:
A string with all URL-encoded sequences replaced by their ASCII equivalent.
std::string MSN::encodeURL ( const std::string &  s)

URL-encode a string

Parameters:
sThe string to encode.
Returns:
A string with all non-alphanumeric characters replaced by their URL-encoded equivalent.
int MSN::nocase_cmp ( const std::string &  s1,
const std::string &  s2 
)

Compare two strings in a case insensitive fashion

std::pair< std::string, int > MSN::splitServerAddress ( const std::string &  address,
int  default_port = 1863 
)

Split a string containing a hostname and port number into its respective parts.

Parameters:
addressA string in the form "hostname:port".
default_portA port number to return in the event that ":port" is omitted from address.
Returns:
A pair containing the hostname and port number.
std::vector< std::string > MSN::splitString ( const std::string &  string,
const std::string &  separator,
bool  suppressBlanks = true 
)

Split string at each occurence of separator.

 All Classes Namespaces Functions Variables Enumerations Enumerator