/*
 * 
 * SerLEDStatus.H header file for class SerLED
 *
 */

#ifndef SERLEDSTATUS_H
#define SERLEDSTATUS_H
 
//this
#include "SerLEDDevice.H"

/** @class SerLEDStatus
    Abstract class for the status of an led
    @author felix@rauscher-muenchen.de
    @date Feb 2006
*/

class SerLEDStatus
	{
	protected:
//=========================protected data members==============================
	//! device class
		SerLEDDevice * _device;
	//! SerLEDDevice :: RTS or SerLEDDevice :: DTR
		int _led;
	public:
//========================constructor===========================================
	/** Default constructor */
		inline SerLEDStatus() {}
	/** Initializing constructor 
	    @param dev device class
	    @param led  SerLEDDevice :: RTS or SerLEDDevice :: DTR
	*/
		inline SerLEDStatus(SerLEDDevice * dev, int led) : _device(dev),
		                                                   _led(led)
			{
			}
	/** Destructor */
		inline virtual ~SerLEDStatus() {}
//=======================Interface functions====================================
	/** Activate status */
		virtual void Activate() = 0;
	/** Deactivate status */
		virtual void DeActivate() = 0;
	/** return true if status is active */
		virtual bool IsActive() =0;
	};

#endif
