summaryrefslogtreecommitdiff
path: root/noncore/net/opieirc/ircconnection.h
authorwazlaf <wazlaf>2002-09-10 23:12:17 (UTC)
committer wazlaf <wazlaf>2002-09-10 23:12:17 (UTC)
commitd478be344e2ba383a1e38d2a1705de1cdbe2e838 (patch) (side-by-side diff)
tree9daf7b496c74c695ed8bd72a6ccd321f770b043c /noncore/net/opieirc/ircconnection.h
parent2d6c8bd7290b766c31c100cd2d66ef0d1d0c407c (diff)
downloadopie-d478be344e2ba383a1e38d2a1705de1cdbe2e838.zip
opie-d478be344e2ba383a1e38d2a1705de1cdbe2e838.tar.gz
opie-d478be344e2ba383a1e38d2a1705de1cdbe2e838.tar.bz2
initial import of OpieIRC v0.1
Diffstat (limited to 'noncore/net/opieirc/ircconnection.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opieirc/ircconnection.h65
1 files changed, 65 insertions, 0 deletions
diff --git a/noncore/net/opieirc/ircconnection.h b/noncore/net/opieirc/ircconnection.h
new file mode 100644
index 0000000..75cdf6d
--- a/dev/null
+++ b/noncore/net/opieirc/ircconnection.h
@@ -0,0 +1,65 @@
+/*
+ OpieIRC - An embedded IRC client
+ Copyright (C) 2002 Wenzel Jakob
+
+ 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) any later version.
+
+ 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 __IRCCONNECTION_H
+#define __IRCCONNECTION_H
+
+#include <qsocket.h>
+#include "ircserver.h"
+#include "ircmessage.h"
+#include "ircoutput.h"
+
+/* IRCConnection acts as a wrapper around QSocket
+ and is responsible for the communication with the
+ IRC server */
+class IRCConnection : public QObject {
+ Q_OBJECT
+public:
+ IRCConnection(IRCServer *server);
+ void doConnect();
+ /* used to send commands to the IRC server */
+ void sendLine(QString line);
+ /* used to send CTCP commands to the IRC server */
+ void sendCTCP(QString nick, QString line);
+ void close();
+ bool isConnected();
+ bool isLoggedIn();
+signals:
+ /* triggered when the server sent us a message */
+ void messageArrived(IRCMessage *message);
+ /* Used to send commands to the UI (such as displaying text etc) */
+ void outputReady(IRCOutput output);
+protected slots:
+ /* automatically executed after the connection is established */
+ void login();
+ /* called when there are socket errors */
+ void error(int num);
+ /* called when data arrived on m_socket (triggers messageArrived) */
+ void dataReady();
+ /* called when the IRC server closes the connection */
+ void disconnect();
+protected:
+ IRCServer *m_server;
+ QSocket *m_socket;
+ bool m_connected;
+ bool m_loggedIn;
+};
+
+#endif /* __IRCCONNECTION_H */