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