1
/***************************************************************************
2
* Copyright (C) 2005/06 by The Quassel Team *
3
* devel@quassel-irc.org *
5
* This program is free software; you can redistribute it and/or modify *
6
* it under the terms of the GNU General Public License as published by *
7
* the Free Software Foundation; either version 2 of the License, or *
8
* (at your option) any later version. *
10
* This program is distributed in the hope that it will be useful, *
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13
* GNU General Public License for more details. *
15
* You should have received a copy of the GNU General Public License *
16
* along with this program; if not, write to the *
17
* Free Software Foundation, Inc., *
18
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
19
***************************************************************************/
24
#include "proxy_common.h"
31
#include <QStringList>
33
class ClientProxy : public QObject {
37
static ClientProxy *instance();
38
static void destroy();
41
inline void gsUserInput(BufferId id, QString msg) { send(GS_USER_INPUT, QVariant::fromValue(id), msg); }
42
inline void gsRequestConnect(QStringList networks) { send(GS_REQUEST_CONNECT, networks); }
43
inline void gsImportBacklog() { send(GS_IMPORT_BACKLOG); }
44
inline void gsRequestBacklog(BufferId id, QVariant v1, QVariant v2) { send(GS_REQUEST_BACKLOG, QVariant::fromValue(id), v1, v2); }
46
inline void gsGeneric(ClientSignal sig, QVariant v1 = QVariant(), QVariant v2 = QVariant(), QVariant v3 = QVariant()) { send(sig, v1, v2, v3); }
48
//void connectToCore(QString host, quint16 port);
49
//void disconnectFromCore();
52
void csCoreState(QVariant);
53
void csServerState(QString, QVariant);
54
void csServerConnected(QString);
55
void csServerDisconnected(QString);
56
void csDisplayMsg(Message);
57
void csDisplayStatusMsg(QString, QString);
58
void csUpdateGlobalData(QString key, QVariant data);
59
void csGlobalDataChanged(QString key);
60
void csModeSet(QString, QString, QString);
61
void csTopicSet(QString, QString, QString);
62
void csNickAdded(QString, QString, VarMap);
63
void csNickRemoved(QString, QString);
64
void csNickRenamed(QString, QString, QString);
65
void csNickUpdated(QString, QString, VarMap);
66
void csOwnNickSet(QString, QString);
67
void csQueryRequested(QString, QString);
68
void csBacklogData(BufferId, QList<QVariant>, bool);
69
void csUpdateBufferId(BufferId);
71
void csGeneric(CoreSignal, QVariant, QVariant, QVariant);
73
//void coreConnected();
74
//void coreDisconnected();
75
//void coreConnectionError(QString errorMsg);
77
//void recvPartialItem(quint32 avail, quint32 size);
79
void send(ClientSignal, QVariant arg1 = QVariant(), QVariant arg2 = QVariant(), QVariant arg3 = QVariant());
82
void recv(CoreSignal, QVariant arg1 = QVariant(), QVariant arg2 = QVariant(), QVariant arg3 = QVariant());
85
//void updateCoreData(QString);
87
//void serverError(QAbstractSocket::SocketError);
88
//void serverHasData();
92
static ClientProxy *instanceptr;
97
//friend class CoreProxy;
101
//extern ClientProxy *guiProxy;