.. _program_listing_file_applications_lunanet_sat_app.cc: Program Listing for File lunanet_sat_app.cc =========================================== |exhale_lsh| :ref:`Return to documentation for file ` (``applications/lunanet_sat_app.cc``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #include "lupnt/applications/lunanet_sat_app.h" #include #include "lupnt/core/asset_factory.h" #include "lupnt/core/logger.h" namespace lupnt { void LunaNetSubApp::Setup(LunaNetSatApp& app) { Logger::Debug(fmt::format("Setting up {} under {}", name_, app.GetName()), "LunaNetSubApp"); } void LunaNetSubApp::Finish() { Logger::Debug(fmt::format("Finishing {}", name_), "LunaNetSubApp"); } LunaNetSatApp::LunaNetSatApp(Config& config) : Application(config) { Logger::Debug(fmt::format("Creating {}", name_), "LunaNetSatApp"); } void LunaNetSatApp::AddSubApp(Ptr app) { LUPNT_CHECK(app != nullptr, "Cannot add null LunaNet sub-app", "LunaNetSatApp"); sub_apps_.push_back(std::move(app)); } void LunaNetSatApp::Setup() { Logger::Debug(fmt::format("Setting up {}", name_), "LunaNetSatApp"); for (auto& app : sub_apps_) app->Setup(*this); if (GetAgent() != nullptr) Application::Setup(); } void LunaNetSatApp::Step(Real t) { Logger::Debug(fmt::format("Stepping {}", name_), "LunaNetSatApp", t); for (auto& app : sub_apps_) app->Step(t); } void LunaNetSatApp::Finish() { Logger::Debug(fmt::format("Finishing {}", name_), "LunaNetSatApp"); for (auto& app : sub_apps_) app->Finish(); } REGISTER_FACTORY_CLASS(Application, LunaNetSatApp) } // namespace lupnt