//-------------------------------
// File:			Communication.h
// Function:		Communication protocols superclass
// Supported Toolchain(s):
//		- Microsoft Visual C++
// Date created:	23-May-2006
// Created by:		JJo
//-------------------------------

#ifndef FIRMWARE_UPDATER_COMMUNICATION_H
#define FIRMWARE_UPDATER_COMMUNICATION_H

//-------------------------------
// Includes

#include <afxwin.h>
#include <afxcmn.h>
#include "Media.h"
#include "GUI/ProgressDialog.h"

//-------------------------------
// Class

class Communication {

protected:
	Media * m_media;

public:
	Communication::Communication(Media * media): m_media(media) {}
	virtual Communication::~Communication() {}

	virtual unsigned long Communication::Send(void * data,
											  unsigned long size,
											  ProgressDialog *pProgressDialog,
											  unsigned long rate) = 0;
};

#endif
