ee9ea2d1095af19efe6f661089f692ea5812d342
[quassel.git] / core / coreproxy.cpp
1 /***************************************************************************
2  *   Copyright (C) 2005/06 by The Quassel Team                             *
3  *   devel@quassel-irc.org                                                 *
4  *                                                                         *
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.                                   *
9  *                                                                         *
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.                          *
14  *                                                                         *
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  ***************************************************************************/
20
21 #include <QDebug>
22
23 #include "coreproxy.h"
24 #include "global.h"
25 #include "util.h"
26 #include "core.h"
27
28 CoreProxy::CoreProxy() {
29 //  connect(global, SIGNAL(dataPutLocally(QString)), this, SLOT(updateGlobalData(QString)));
30 //  connect(&server, SIGNAL(newConnection()), this, SLOT(incomingConnection()));
31 }
32
33 /*
34 void CoreProxy::processClientUpdate(QTcpSocket *socket, QString key, QVariant data) {
35   global->updateData(key, data);
36   QList<QVariant> sigdata;
37   sigdata.append(CS_UPDATE_GLOBAL_DATA); sigdata.append(key); sigdata.append(data); sigdata.append(QVariant());
38   QTcpSocket *s;
39   foreach(s, clients) {
40     if(s != socket) writeDataToDevice(s, QVariant(sigdata));
41   }
42 }
43
44 void CoreProxy::updateGlobalData(QString key) {
45   QVariant data = global->getData(key);
46   emit csUpdateGlobalData(key, data);
47 }
48 */
49
50 /*
51 void CoreProxy::send(CoreSignal sig, QVariant arg1, QVariant arg2, QVariant arg3) {
52
53   QList<QVariant> sigdata;
54   sigdata.append(sig); sigdata.append(arg1); sigdata.append(arg2); sigdata.append(arg3);
55   //qDebug() << "Sending signal: " << sigdata;
56   QTcpSocket *socket;
57   foreach(socket, clients) {
58     writeDataToDevice(socket, QVariant(sigdata));
59   }
60 }
61 */
62
63 void CoreProxy::recv(ClientSignal sig, QVariant arg1, QVariant arg2, QVariant arg3) {
64   //qDebug() << "[CORE] Received signal" << sig << ":" << arg1<<arg2<<arg3;
65   switch(sig) {
66     case GS_UPDATE_GLOBAL_DATA: emit gsPutGlobalData(arg1.toString(), arg2); break;
67     case GS_USER_INPUT: emit gsUserInput(arg1.value<BufferId>(), arg2.toString()); break;
68     case GS_REQUEST_CONNECT: emit gsRequestConnect(arg1.toStringList()); break;
69     case GS_IMPORT_BACKLOG: emit gsImportBacklog(); break;
70     case GS_REQUEST_BACKLOG: emit gsRequestBacklog(arg1.value<BufferId>(), arg2, arg3); break;
71     //default: qWarning() << "Unknown signal in CoreProxy::recv: " << sig;
72     default: emit gsGeneric(sig, arg1, arg2, arg3);
73   }
74 }
75
76
77 //CoreProxy *coreProxy;