From: Marcus Eggenberger Date: Mon, 9 Jun 2008 20:54:38 +0000 (+0200) Subject: CAN I HAS CHANNEL MODES PLZ? X-Git-Tag: 0.3.0~385 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=281fa0205429c4b2731a4a76561386f2cc6448de;ds=sidebyside CAN I HAS CHANNEL MODES PLZ? Oh jeah Baby! --- diff --git a/src/core/corenetwork.cpp b/src/core/corenetwork.cpp new file mode 100644 index 00000000..cdcf1856 --- /dev/null +++ b/src/core/corenetwork.cpp @@ -0,0 +1,44 @@ +/*************************************************************************** + * Copyright (C) 2005-08 by the Quassel Project * + * devel@quassel-irc.org * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) version 3. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ + +#include "corenetwork.h" +#include "coresession.h" + +CoreNetwork::CoreNetwork(const NetworkId &networkid, CoreSession *session) + : Network(networkid, session), + _coreSession(session) +{ +} + +void CoreNetwork::requestConnect() const { + if(connectionState() != Disconnected) { + qWarning() << "Requesting connect while already being connected!"; + return; + } + emit connectRequested(networkId()); +} + +void CoreNetwork::requestDisconnect() const { + if(connectionState() == Disconnected) { + qWarning() << "Requesting disconnect while not being connected!"; + return; + } + emit disconnectRequested(networkId()); +} diff --git a/src/core/corenetwork.h b/src/core/corenetwork.h new file mode 100644 index 00000000..2d913179 --- /dev/null +++ b/src/core/corenetwork.h @@ -0,0 +1,46 @@ +/*************************************************************************** + * Copyright (C) 2005-08 by the Quassel Project * + * devel@quassel-irc.org * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) version 3. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ + +#ifndef CORENETWORK_H +#define CORENETWORK_H + +#include "network.h" + +class CoreSession; + +class CoreNetwork : public Network { + Q_OBJECT + +public: + CoreNetwork(const NetworkId &networkid, CoreSession *session); + + virtual const QMetaObject *syncMetaObject() const { return &Network::staticMetaObject; } + + inline CoreSession *coreSession() const { return _coreSession; } + +public slots: + virtual void requestConnect() const; + virtual void requestDisconnect() const; + +private: + CoreSession *_coreSession; +}; + +#endif //CORENETWORK_H