/*
 * input.h: Abstract input class for the Atmolight-plugin
 *
 * See the README file for copyright information and how to reach the author.
 *
 * $Id$
 */

#ifndef _ATMO_INPUT_H
#define _ATMO_INPUT_H

// --- cAtmoInput -------------------------------------------------------------

class cAtmoInput {
private:
protected:
  tColorPacket ColorPacket;
public:
  virtual ~cAtmoInput() {};

  // Opens the input-device. Parameters (e.g. the device-name) can be given in 'param'.
  // Returns true if the input-device was opened successfully.
  virtual bool Open(const char* param) = 0;

  // Closes the input-device.
  // Returns true if the input-device was closed successfully.
  virtual bool Close(void) = 0;

  // Returns the calculated tColorPacket for further processing (e.g. filtering).  
  virtual tColorPacket GetColorPacket(void) { return ColorPacket; };
};

#endif //_ATMO_INPUT_H
