/* Blinker
Copyright 2011-2019 Stefan Schuermans <stefan@blinkenarea.org>
Copyleft GNU public license - http://www.gnu.org/copyleft/gpl.html
a blinkenarea.org project */
#ifndef BLINKER_IOCALLEE_H
#define BLINKER_IOCALLEE_H
#include "Io.h"
namespace Blinker {
/// I/O callee interface (i.e. called on I/O event)
class IoCallee
{
public:
/// constructor
IoCallee();
/// destructor
virtual ~IoCallee();
public:
/**
* @brief callback when I/O object is readable
* @param[in] io I/O object that is readable
*/
virtual void ioReadCall(Io *io) = 0;
/**
* @brief callback when I/O object is writable
* @param[in] io I/O object that is writable
*/
virtual void ioWriteCall(Io *io) = 0;
}; // class IoCallee
} // namespace Blinker
#endif // #ifndef BLINKER_IOCALLEE_H