/**
 * \file Communication.h
 * \date 26.02.2002
 *
 * Interface for the CommunicationInterface class
 */

#ifndef INTERFACES_COMMUNICATION_H
#define INTERFACES_COMMUNICATION_H

#include "Common/Interfaces/Interface.h"

/**
 * \class CCommunicationInterface
 * \author Marek Lehuta
 * \brief Communication task interface
 *
 * Communication task provides connection to the server
 */

class CommunicationInterface : public Interface
{
public:
	// Construction and destruction
	CommunicationInterface()
		: Interface("Communication interface", "v0.0.04") {}
	virtual ~CommunicationInterface() {}

	
	// Interface functions
	virtual int SetServer(const char* addr, unsigned port) = 0;

	virtual int Connect(const char* msg = NULL) = 0;
	virtual int SendMsg(const char* msg) = 0;
	virtual int ReceiveMsg() = 0;
	virtual int Disconnect(const char* msg = NULL) = 0;

protected:

private:

};

#endif // INTERFACES_COMMUNICATION_H
