#pragma once #include #include #include #include #include #include #include #include #include #include class GpioIF; class SpiComIF; class PowerSwitchIF; class AcsController; class PowerController; namespace ObjectFactory { void createSunSensorComponents(GpioIF* gpioComIF, SpiComIF* spiComIF, PowerSwitchIF& pwrSwitcher, std::string spiDev, bool swap0And6); void createRtdComponents(std::string spiDev, GpioIF* gpioComIF, PowerSwitchIF* pwrSwitcher, SpiComIF* comIF); void createScexComponents(std::string uartDev, PowerSwitchIF* pwrSwitcher, SdCardMountedIF& mountedIF, bool onImmediately, std::optional switchId); void gpioChecker(ReturnValue_t result, std::string output); AcsController* createAcsController(bool connectSubsystem, bool enableHkSets, SdCardMountedIF& mountedIF); PowerController* createPowerController(bool connectSubsystem, bool enableHkSets); } // namespace ObjectFactory