aboutsummaryrefslogtreecommitdiff
path: root/c++-libbu++/src/gatscon/clientthread.cpp
blob: 53c8e243bd5b642fad95fc7fef7f5e73e9f04ab0 (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
44
45
/*
 * 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 "clientthread.h"

#include <bu/tcpsocket.h>

ClientThread::ClientThread( QObject *pParent, const QByteArray &baHost,
        int iPort ) :
    QThread( pParent ),
    baHost( baHost ),
    iPort( iPort ),
    gsCli( ssCli )
{
}

ClientThread::~ClientThread()
{
}

void ClientThread::send( Gats::Object *pObj )
{
    gsCli.writeObject( pObj );
}

void ClientThread::run()
{
    ssCli.setStream(
        new Bu::TcpSocket( baHost.constData(), iPort )
        );

    while( !ssCli.isEos() )
    {
        Gats::Object *pObj = gsCli.readObject();
        if( pObj == NULL )
            continue;

        emit recv( pObj );
    }
}