#pragma once #include #include #include #include #include #include #include #include #include "asibfm700_common.h" namespace asibfm700 { class Asibfm700Mount : public mcc::ccte::erfa::MccCCTE_ERFA, public mcc::MccDefaultPCM, public mcc::MccGenericMountFSM { typedef mcc::MccGenericMountFSM base_gm_class_t; public: using base_gm_class_t::error_t; using mcc::ccte::erfa::MccCCTE_ERFA::setStateERFA; using mcc::ccte::erfa::MccCCTE_ERFA::updateBulletinA; using mcc::ccte::erfa::MccCCTE_ERFA::updateLeapSeconds; using mcc::ccte::erfa::MccCCTE_ERFA::updateMeteoERFA; using Asibfm700Logger::logCritical; using Asibfm700Logger::logDebug; using Asibfm700Logger::logError; using Asibfm700Logger::logInfo; using Asibfm700Logger::logWarn; Asibfm700Mount(Asibfm700MountConfig const& config, std::shared_ptr logger, const auto& pattern_range = mcc::utils::MccSpdlogLogger::LOGGER_DEFAULT_FORMAT); ~Asibfm700Mount(); }; class Asibfm700Mount1 : protected mcc::ccte::erfa::MccCCTE_ERFA, protected mcc::MccDefaultPCM, public mcc::MccGenericFsmMount> { typedef mcc::MccGenericFsmMount> base_gm_class_t; public: using base_gm_class_t::error_t; using mcc::ccte::erfa::MccCCTE_ERFA::setStateERFA; using mcc::ccte::erfa::MccCCTE_ERFA::updateBulletinA; using mcc::ccte::erfa::MccCCTE_ERFA::updateLeapSeconds; using mcc::ccte::erfa::MccCCTE_ERFA::updateMeteoERFA; using Asibfm700Logger::logCritical; using Asibfm700Logger::logDebug; using Asibfm700Logger::logError; using Asibfm700Logger::logInfo; using Asibfm700Logger::logWarn; Asibfm700Mount1(Asibfm700MountConfig const& config, std::shared_ptr logger, const auto& pattern_range = mcc::utils::MccSpdlogLogger::LOGGER_DEFAULT_FORMAT); ~Asibfm700Mount1(); }; static_assert(mcc::mcc_position_controls_c, ""); static_assert(mcc::mcc_all_controls_c, ""); static_assert(mcc::mcc_generic_mount_c, ""); static_assert(mcc::mcc_generic_fsm_log_mount_c, ""); } // namespace asibfm700