/* * Author: Patrick-Christopher Mattulat * Company: Lynar Studios * E-Mail: webmaster@lynarstudios.com * Created: 2023-03-07 * Changed: 2024-09-11 * * */ #ifndef LS_STD_SYSTEM_TIME_HPP #define LS_STD_SYSTEM_TIME_HPP #include "SystemTimeParameter.hpp" #include #include #include #include #include #include #include /* * @doc: class(name: 'SystemTime', package: 'time') * @doc: time.SystemTime.description('This class represents the system time and can be set. This would require root privileges.') * */ namespace ls::std::time { class LS_STD_DYNAMIC_GOAL SystemTime : public ls::std::core::Class { public: explicit SystemTime(const ::std::shared_ptr &_parameter); SystemTime(); ~SystemTime() noexcept override; [[nodiscard]] bool set(const ls::std::time::DateParameter &_dateParameter) const; private: ::std::shared_ptr parameter{}; [[nodiscard]] static ::std::string _fetchClassName(); void _generateParameter(); }; } #endif