server accepts connections
[buliscores] / buliscores-server / clientconn.cpp
diff --git a/buliscores-server/clientconn.cpp b/buliscores-server/clientconn.cpp
new file mode 100644 (file)
index 0000000..ee9db62
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2010 David Solbach <d@vidsolbach.de>
+ *
+ * This file is part of BuliScores.
+ *
+ * BuliScores is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * BiliScores 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
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this program; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+#include <QHostAddress>
+
+#include "clientconn.h"
+
+ClientConn::ClientConn(QTcpSocket* socket, QObject *parent) :
+    QObject(parent)
+{
+    m_Socket = socket;
+
+    connect(socket, SIGNAL(disconnected()), this, SLOT(onSocketDisconnected()));
+}
+
+void ClientConn::onSocketDisconnected()
+{
+    qDebug() << "Socket disconnected: " << m_Socket->peerAddress().toString();
+    emit disconnected();
+}
+
+void ClientConn::triggerUpdate()
+{
+    if (m_Socket->isWritable()) {
+        m_Socket->write("u");
+    } else {
+        qWarning() << "Update trigger msg not send, socket state: " << m_Socket->state();
+    }
+}