.. _program_listing_file_applications_application.h: Program Listing for File application.h ====================================== |exhale_lsh| :ref:`Return to documentation for file ` (``applications/application.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #pragma once #include #include "lupnt/core/config.h" #include "lupnt/core/definitions.h" #include "lupnt/core/object.h" namespace lupnt { class Agent; class Application : public Object { public: Application() = default; Application(Config& config); virtual ~Application() = default; virtual void Setup(); virtual void Step(Real t) = 0; virtual void Log(Real t); std::string GetName() const { return name_; } void SetName(std::string name) { name_ = name; } Real GetFrequency() const { return frequency_; } void SetFrequency(Real frequency) { frequency_ = frequency; } Agent* GetAgent() const { return agent_; } void SetAgent(Agent* agent) { agent_ = agent; } protected: std::string name_; Real frequency_ = 0.0; Agent* agent_ = nullptr; Config config_; }; }; // namespace lupnt