54 lines
1.1 KiB
C++
54 lines
1.1 KiB
C++
#ifndef NETWORK_DEPENDENCIES_CONNECTION_H
|
|
#define NETWORK_DEPENDENCIES_CONNECTION_H
|
|
|
|
//////////////////////////////////
|
|
// Created by Sam Svensson 2013 //
|
|
//////////////////////////////////
|
|
|
|
#include "IConnection.h"
|
|
#include "../NetworkDependencies/OysterByte.h"
|
|
|
|
namespace Oyster
|
|
{
|
|
namespace Network
|
|
{
|
|
class Connection : public IConnection
|
|
{
|
|
public:
|
|
Connection();
|
|
Connection( int socket );
|
|
virtual ~Connection();
|
|
|
|
virtual int InitiateServer( unsigned short port );
|
|
virtual int InitiateClient();
|
|
|
|
virtual int Send( OysterByte &bytes );
|
|
virtual int Recieve( OysterByte &bytes );
|
|
|
|
virtual int Disconnect();
|
|
virtual int Connect(ConnectionInfo info, bool blocking = false);
|
|
virtual int Connect(unsigned short port , const char serverName[], bool blocking = false);
|
|
|
|
virtual ConnectionInfo Listen();
|
|
|
|
bool IsSending();
|
|
bool IsConnected();
|
|
|
|
//Setting the socket to blocking/non-blocking mode.
|
|
int SetBlockingMode( bool blocking );
|
|
|
|
std::string GetIpAddress();
|
|
|
|
private:
|
|
int InitiateSocket();
|
|
|
|
int socket;
|
|
|
|
bool stillSending;
|
|
bool closed;
|
|
std::string addr;
|
|
};
|
|
}
|
|
}
|
|
|
|
#endif |