/* * SimpleConnection.cpp * * Copyright (C) 2009 Matthias Schiffer * * 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 Lesser 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 . */ #include "ClientConnection.h" #include namespace Mad { namespace Common { ClientConnection::ClientConnection(Core::Application *application) : Connection(application), connection(Net::ClientConnection::create(application)) { connection->connectSignalReceive(boost::bind(&ClientConnection::receive, this, _1)); } ClientConnection::~ClientConnection() { connection->disconnect(); connection->waitWhileConnected(); } bool ClientConnection::send(const Net::Packet &packet) { return connection->send(packet); } void ClientConnection::connect(const boost::asio::ip::tcp::endpoint &address) throw(Core::Exception) { connection->connect(address); } bool ClientConnection::isConnecting() const { return connection->isConnecting(); } bool ClientConnection::isConnected() const { return connection->isConnected(); } void ClientConnection::waitWhileConnecting() const { connection->waitWhileConnecting(); } void ClientConnection::waitWhileConnected() const { connection->waitWhileConnected(); } bool ClientConnection::disconnect() { connection->disconnect(); return true; } /*void* ClientConnection::getCertificate(size_t *size) const { const gnutls_datum_t *cert = connection->getCertificate(); *size = cert->size; return cert->data; } void* ClientConnection::getPeerCertificate(size_t *size) const { const gnutls_datum_t *cert = connection->getPeerCertificate(); *size = cert->size; return cert->data; }*/ } }