// Copyright (c) 2002 Rob Kaper // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // version 2 as published by the Free Software Foundation. // // 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; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301, USA. #include #include #include #include #include "atlanticclient.h" #include "atlanticdaemon.h" #include "atlanticdaemon.moc" #include "serversocket.h" AtlanticDaemon::AtlanticDaemon() { m_serverSocket = new ServerSocket(1234, 100); connect(m_serverSocket, TQ_SIGNAL(newClient(AtlanticClient *)), this, TQ_SLOT(newClient(AtlanticClient *))); m_atlanticCore = new AtlanticCore(this, "atlanticCore"); // Create socket for Monopigator m_monopigatorSocket = new TQSocket(); connect(m_monopigatorSocket, TQ_SIGNAL(connected()), this, TQ_SLOT(monopigatorConnected())); // Register server monopigatorRegister(); } AtlanticDaemon::~AtlanticDaemon() { delete m_monopigatorSocket; } void AtlanticDaemon::monopigatorRegister() { m_monopigatorSocket->connectToHost("gator.monopd.net", 80); } void AtlanticDaemon::monopigatorConnected() { TQString get = "GET /register.php?host=capsi.com&port=1234&version=atlanticd-prototype HTTP/1.1\nHost: gator.monopd.net\n\n"; m_monopigatorSocket->writeBlock(get.latin1(), get.length()); m_monopigatorSocket->close(); // Monopigator clears old entries, so keep registering every 180s TQTimer::singleShot(180000, this, TQ_SLOT(monopigatorRegister())); } void AtlanticDaemon::newClient(AtlanticClient *client) { m_clients.append(client); connect(client, TQ_SIGNAL(clientInput(AtlanticClient *, const TQString &)), this, TQ_SLOT(clientInput(AtlanticClient *, const TQString &))); } void AtlanticDaemon::clientInput(AtlanticClient *client, const TQString &data) { }