Класс ClientService

Универсальный сервис клиента чата. Подробнее...

#include <clientservice.h>

Граф связей класса ClientService:

Collaboration graph

Полный список членов класса

Сигналы

Открытые члены

Закрытые слоты

Закрытые члены

Закрытые данные


Подробное описание

Универсальный сервис клиента чата.

Класс устанавливает и поддерживает соединение.


Конструктор(ы)

ClientService ( const AbstractProfile profile,
const Network network,
QObject *  parent = 0 
)

Конструктор класса ClientService.

~ClientService (  ) 

[public]


Методы

void check (  )  [private, slot]

[private slots] Разрыв соединения или переподключение если после `CheckTimeout` миллисекунд не удалось установить действующие соединение.

void connected (  )  [private, slot]

[private slots] Слот вызывается при успешном подключении сокета `m_socket` к серверу. Слот отправляет приветственное сообщение серверу (OpcodeGreeting). Таймер переподключения `m_reconnectTimer` отстанавливается.

void connectToHost (  ) 

[public] Подключение к хосту, за выдачу адреса сервера и порта отвечает класс `m_network`. В случае попытки подключения высылается сигнал `void connecting(const QString &, bool)`.

void createSocket (  )  [private]

[private] Функция создаёт сокет `m_socket` и создаёт необходимые соединения сигнал-слот. ВНИМАНИЕ: функция не проверяет наличие сокета `m_socket`, это должно делаться за пределами функции.

void disconnected (  )  [private, slot]

[private slots] Слот вызывается при разрыве соединения сокетом `m_socket`. Высылается сигнал `unconnected()`.

bool isReady (  )  const

[public] Возвращает `true` если сервис находится в активном состоянии.

void opcodeAccessDenied (  )  [private]

Разбор пакета с опкодом OpcodeAccessDenied.

Необходимо сделать:
Полное игнорирование ошибки ErrorNumericAlreadyUse не является правильным, однако эта ошибка может возникнуть при определённых обстоятельствах, что может привести к невозможности восстановления соединения, также эта ошибка возможна только при link-соединении.

void opcodeAccessGranted (  )  [private]

[private] Разбор пакета с опкодом `OpcodeAccessGranted`. Функция отправляет сигнал `accessGranted(const QString &, const QString &, quint16)`. Если установлено подключение к одиночному серверу, то имя сети устанавливается "".

void opcodeLinkLeave (  )  [private]

[private]

void opcodeMessage (  )  [private]

[private] Разбор пакета с опкодом `OpcodeMessage`. В конце разбора высылается сигнал `message(const QString &, const QString &)`.

void opcodeNewLink (  )  [private]

[private] Разбор пакета с опкодом `OpcodeNewLink`.

void opcodeNewNick (  )  [private]

[private] Разбор пакета с опкодом `OpcodeNewNick`.

void opcodeNewProfile (  )  [private]

Разбор пакета с опкодом OpcodeNewProfile.

В случае успешного разбора пакета высылается сигнал newProfile(quint8 gender, const QString &nick, const QString &name).

void opcodeNewUser (  )  [private]

[private] Разбор пакета с опкодом `OpcodeNewUser`. В конце разбора высылается сигнал `newUser(const QStringList &, bool)`.

void opcodePing (  )  [private]

[private] Разбор пакета с опкодом `OpcodePing`. В ответ высылается пакет `OpcodePong`.

void opcodePrivateMessage (  )  [private]

[private] Разбор пакета с опкодом `OpcodePrivateMessage`. В конце разбора высылается сигнал `privateMessage(quint8, const QString &, const QString &)`.

void opcodeRelayMessage (  )  [private]

Разбор пакета с опкодом OpcodeRelayMessage.

В случае успеха высылается сигнал void relayMessage(const QString &channel, const QString &sender, const QString &message).

void opcodeServerMessage (  )  [private]

[private] Разбор пакета с опкодом `OpcodeServerMessage`.

void opcodeSyncByeMsg (  )  [private]

Разбор пакета с опкодом OpcodeSyncByeMsg.

void opcodeSyncNumerics (  )  [private]

[private] Разбор пакета с опкодом `OpcodeSyncNumerics`.

void opcodeUniversal (  )  [private]

Разбор универсального пакета.

void opcodeUniversalLite (  )  [private]

Разбор универсального облегчённого пакета.

void opcodeUserLeave (  )  [private]

[private] Разбор пакета с опкодом `OpcodeUserLeave`. В конце разбора высылается сигнал `userLeave(const QString &, const QString &, bool)`.

void ping (  )  [private, slot]

[private slots]

void quit ( bool  end = true  ) 

[public]

void readyRead (  )  [private, slot]

[private slots] Слот вызывается когда поступила новая порция данных для чтения из сокета `m_socket`.

void reconnect (  )  [private, slot]

[private slots]

bool send ( quint16  opcode,
quint8  gender,
const QString &  nick,
const QString &  name 
) [private]

[private] Отправка стандартного пакета: quint16 -> размер пакета quint16 -> опкод quint8 -> QString -> QString -> ОПКОДЫ: `OpcodeNewProfile`.

bool send ( quint16  opcode,
const QString &  msg 
) [private]

[private] Отправка стандартного пакета: quint16 -> размер пакета quint16 -> опкод QString -> ОПКОДЫ: `OpcodeByeMsg`.

bool send ( quint16  opcode  )  [private]

[private] Отправка стандартного пакета: quint16 -> размер пакета quint16 -> опкод ОПКОДЫ: `OpcodePong`.

bool sendMessage ( const QString &  channel,
const QString &  message 
)

[public] Отправка пакета `OpcodeMessage` на сервер, ник отправителя находится в удалённом сервисе. const QString &channel -> канал/ник для кого предназначено сообщение (пустая строка - главный канал). const QString &message -> сообщение. ---- Возвращает `true` в случае успешной отправки (без подтверждения сервером).

void sendNewUser ( const QStringList &  list,
quint8  echo = 1,
quint8  numeric = 0 
)

[public]

bool sendRelayMessage ( const QString &  channel,
const QString &  sender,
const QString &  message 
)

[public]

bool sendUniversal ( quint16  sub,
const QList< quint32 > &  data1,
const QStringList &  data2 
)

Отправка универсального пакета.

Аргументы:
sub Субопкод.
data1 Список данных типа quint32
data2 Список данных типа QString

bool sendUniversalLite ( quint16  sub,
const QList< quint32 > &  data1 
)

Отправка универсального облегчённого пакета.

Аргументы:
sub Субопкод.
data1 Список данных типа quint32

void unknownOpcode (  )  [private]

[private] Функция читает пакет с неизвестным опкодом.


Документация по IMPOMEZIA Simple Chat. Последние изменения: Wed Feb 25 02:12:45 2009. Создано системой  doxygen 1.5.8
Бесплатный хостинг от EOMY.NET