Program Listing for File lunanet_sat_app.cc¶
↰ Return to documentation for file (applications/lunanet_sat_app.cc)
#include "lupnt/applications/lunanet_sat_app.h"
#include <fmt/format.h>
#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<LunaNetSubApp> 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