#ifndef _POWER_MGR_CLASS_H
#define _POWER_MGR_CLASS_H

/*
CLASS
ThrusterPwrMgr

DESCRIPTION
ThrusterPwrMgr

AUTHOR
Andrew Pearce
*/
class ThrusterPwrMgr
{
  public :

     DmEnumObject    *EnableDm;
     DmBooleanObject *ConfDm;
     SEM_ID           ConfSem;

  ///////////////////////////////////////////////////////////////////
  // Constructor
  // [input] name:  Name of power confirm item
  ThrusterPwrMgr(const char *enableName, const char *confName)
  {
    EnableDm = new DmEnumObject(enableName);
    ConfDm   = new DmBooleanObject(confName);
    ConfSem  = semBCreate(SEM_Q_FIFO, SEM_EMPTY);

    EnableDm->startConsume(DM_STATIC);
    ConfDm->startConsume(DM_STATIC, ConfSem);
  }

  ///////////////////////////////////////////////////////////////////
  // Destructor
  // [input] name:  Name of power confirm item
  ~ThrusterPwrMgr()
  {
     delete EnableDm;
     delete ConfDm;
     semDelete (ConfSem);
  }
};

#endif


