#ifndef _IBCOBJECTS_H
#define _IBCOBJECTS_H
#include "MicroDmItems.h"
#include "Sio32Interface.h"


class IbcWaterAlarms
{
  public:
    IbcWaterAlarms(const char *prefix, Word appType);
    ~IbcWaterAlarms();

    STATUS getAlarms(sio32Chan *IBC_SerialChan, Word *waterAlarmStatus);
    STATUS getThresh(sio32Chan *IBC_SerialChan, Int16 *waterAlarmThresh);
    STATUS initThreshDm(sio32Chan *IBC_SerialChan);
    STATUS writeThresh(sio32Chan *sio32DataChan);
    STATUS updateAlarmDm(sio32Chan *sio32DataChan);

  protected:
    Word _appType;
    WaterAlarmsDm *_dm;
};

class IbcHumidityAlarm
{
  public:
    IbcHumidityAlarm(const char *prefix);
    ~IbcHumidityAlarm();

    STATUS initThreshDm( sio32Chan *sio32DataChan );
    STATUS writeThresh( sio32Chan *sio32DataChan );
    STATUS updateDm( sio32Chan *sio32DataChan );
    STATUS updateAlarmDm( sio32Chan *sio32DataChan );

  protected:
    HumidityAlarmDm *_dm;
};
#if 0// Next Gen object
class Gf5v
{
  public:
    Gf5v(const char *prefix);
    ~Gf5v();

    STATUS initThreshDm( sio32Chan *sio32DataChan );
    STATUS writeThresh( sio32Chan *sio32DataChan );
    STATUS updateDm( sio32Chan *sio32DataChan );
    STATUS updateAlarmDm( sio32Chan *sio32DataChan );

  protected:
    Gf5vDm *_dm;
};
#endif
#endif









