#ifndef MISSION_SYSTEM_OBJECTS_SYRLINKSASSEMBLY_H_
#define MISSION_SYSTEM_OBJECTS_SYRLINKSASSEMBLY_H_
#include <fsfw/devicehandlers/AssemblyBase.h>

class SyrlinksAssembly : public AssemblyBase {
 public:
  SyrlinksAssembly(object_id_t objectId);

 private:
  FixedArrayList<ModeListEntry, 1> commandTable;

  ReturnValue_t commandChildren(Mode_t mode, Submode_t submode) override;
  ReturnValue_t checkChildrenStateOn(Mode_t wantedMode, Submode_t wantedSubmode) override;
  ReturnValue_t isModeCombinationValid(Mode_t mode, Submode_t submode) override;
  void handleChildrenLostMode(ReturnValue_t result) override;

  ReturnValue_t checkAndHandleHealthState(Mode_t deviceMode, Submode_t deviceSubmode);
};

#endif /* MISSION_SYSTEM_OBJECTS_SYRLINKSASSEMBLY_H_ */