|
|
|
// Copyright (c) 2002 Rob Kaper <cap@capsi.com>
|
|
|
|
//
|
|
|
|
// 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 <tqtimer.h>
|
|
|
|
#include <tqsocket.h>
|
|
|
|
#include <tqstring.h>
|
|
|
|
|
|
|
|
#include <atlantic_core.h>
|
|
|
|
|
|
|
|
#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)
|
|
|
|
{
|
|
|
|
}
|