libmsn: MSN Namespace Reference

libmsn 4.2.1

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Namespace List
- Namespace Members

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

enum MSN::BuddyStatus

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

enum MSN::ContactList

Represents the lists present on server side

Enumerator:

  LST_AB | Address book
  LST_AL | Allow
  LST_BL | Block
  LST_RL | Reverse
  LST_PL | Pending

enum MSN::ErrorCodes

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

enum MSN::fileTransferError

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

enum MSN::fileTransferType

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

enum MSN::MSNClientInformationFields

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:

  s | The 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:

  s | The 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:

  address | A string in the form "hostname:port".
  default_port | A 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