#ifndef CLUSTER_ISUS_UPDATER_HH
# define CLUSTER_ISUS_UPDATER_HH

# include "../Updater.hh"
# include "IsusIF.h"

# define IsusType "Isus"

/** @brief isus data updater
 *
 * This class implements the code used to update data from isus
 *
 * @note This device type is declared as "Isus"
 *
 * @author Frederic Py <fpy@mbari.org>
 */
class IsusUpdater 
  :public AbstractUpdater<IsusIF, IsusIF::Data> {
public:
  IsusUpdater() {}
  ~IsusUpdater() {}

private:
  bool isDataReady(data_type const &d) const {
    return d.deviceReady && !d.badComms;
  }

  bool update(device_type &dev, data_type &data);
  void initDB(ValDB &db, data_type const &data);

}; // IsusUpdater

#endif // CLUSTER_ISUS_UPDATER_HH
