#pragma once

#include <fsfw/controller/ExtendedControllerBase.h>
#include <mission/devices/devicedefinitions/SusDefinitions.h>

class CoreControllerDummy : public ExtendedControllerBase {
 public:
  CoreControllerDummy(object_id_t objectId);

  ReturnValue_t initialize() override;

 protected:
  virtual ReturnValue_t handleCommandMessage(CommandMessage* message) override;
  virtual void performControlOperation() override;
  virtual ReturnValue_t initializeLocalDataPool(localpool::DataPool& localDataPoolMap,
                                                LocalDataPoolManager& poolManager) override;
  virtual LocalPoolDataSetBase* getDataSetHandle(sid_t sid) override;

  virtual ReturnValue_t checkModeCommand(Mode_t mode, Submode_t submode,
                                         uint32_t* msToReachTheMode) override;
};