blob: da1ba0160a3cc0fa81e65af89c096db5953e7377 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
/*
* Copyright (C) 2007-2013 Xagasoft, All rights reserved.
*
* This file is part of the libgats library and is released under the
* terms of the license contained in the file LICENSE.
*/
#include "mainwnd.h"
MainWnd::MainWnd()
{
pSrv = new QTcpServer( this );
connect( pSrv, SIGNAL(newConnection()), this, SLOT(newConnection()));
pSrv->listen( QHostAddress::Any, 7317 );
}
MainWnd::~MainWnd()
{
}
void MainWnd::newConnection()
{
while( pSrv->hasPendingConnections() )
{
QTcpSocket *pSock = pSrv->nextPendingConnection();
Gats::GatsStream *pGats = new Gats::GatsStream( *pSock );
connect( pSock, SIGNAL(readyRead()), pGats, SLOT(readObject()) );
connect( pGats, SIGNAL(objectRead( Gats::Object * )),
this, SLOT(objectRead( Gats::Object * )));
}
}
void MainWnd::objectRead( Gats::Object *pObj )
{
((Gats::GatsStream *)sender())->writeObject( pObj );
Gats::Object *pCopy = pObj->clone();
delete pObj;
((Gats::GatsStream *)sender())->writeObject( pCopy );
delete pCopy;
}
|