//
#ifndef Led_h
#define Led_h
//
#include <Define.h>
//
enum EStateLed
{
    sldOff = 0,
    sldOn = 1
};
//
const bool INIT_LEDSYSTEM_INVERTED = false;
const EStateLed INIT_LEDSYSTEM_STATE = sldOn;
//
class CLed
{
    private:
    bool FInverted;
    int FPin;
    EStateLed FState;
    //
    public:
    CLed(int pin, EStateLed initstate = sldOff, bool inverted = false);
    void Open(EStateLed initstate = sldOff);
    void Close(void);
    EStateLed GetState(void);
    void SetState(EStateLed state);
    void SetOn(void);
    void SetOff(void);
    void Toggle(void);
    const char* GetStateText(void);
};
//
#endif // Led_h
//
