/* * Unofficial Qt Serial Port Library * * Copyright (c) 2010 Inbiza Systems Inc. All rights reserved. * * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as published by the * Free Software Foundation, either version 3 of the License, or (at your * option) any later version. * * 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 Lesser General Public License * along with this program. If not, see * * author labs@inbiza.com */ #include #include #include #include #include "proxy.h" Proxy::Proxy(const QHostAddress &remoteHost, int tcpPort, QObject *parent) : QObject(parent), remoteHost_(remoteHost), tcpPort_(tcpPort), timer_(NULL) { socket_ = new QTcpSocket(this); } Proxy::~Proxy() { stop(); } int Proxy::start() { connect(socket_, SIGNAL(connected()), SLOT(onConnected())); connect(socket_, SIGNAL(disconnected()), SLOT(onDisconnected())); connect(socket_, SIGNAL(readyRead()), SLOT(onDataReceivedNetwork())); qDebug() << "Connecting to " << remoteHost_.toString() << ":" << tcpPort_; socket_->connectToHost(remoteHost_, tcpPort_); return 0; } int Proxy::stop() { disconnect(socket_, SIGNAL(connected()), this, SLOT(onConnected())); disconnect(socket_, SIGNAL(disconnected()), this, SLOT(onDisconnected())); disconnect(socket_, SIGNAL(readyRead()), this, SLOT(onDataReceivedNetwork())); return 0; } void Proxy::onDataReceivedNetwork() { QByteArray data = socket_->read(2048); qDebug() << data.size() << " bytes received. Echo back."; socket_->write(data); } void Proxy::onConnected() { qDebug() << "Socket is connected."; } void Proxy::onDisconnected() { qDebug() << "Socket is disconnected."; }