diff --git a/src/include/Device.hpp b/src/include/Device.hpp new file mode 100644 index 0000000..2f10ab5 --- /dev/null +++ b/src/include/Device.hpp @@ -0,0 +1,34 @@ +#pragma once + +#include +#include +#include + +namespace TuxClocker { +namespace Device { + +template +struct Range { + Range(); + Range(const T &min_, const T &max_) {min = min_, max = max_;} + T min, max; +}; + +struct Enumeration { + Enumeration(const std::string &name_, const uint &key_) {name = name_; key = key_;} + std::string name; + uint key; +}; + +using RangeInfo = std::variant, Range>; +using AssignableInfo = std::variant>; + +class Assignable { +public: + Assignable(); +private: + +}; + +}; +}; diff --git a/src/include/Plugin.hpp b/src/include/Plugin.hpp new file mode 100644 index 0000000..3c90590 --- /dev/null +++ b/src/include/Plugin.hpp @@ -0,0 +1,9 @@ +#pragma once + +namespace TuxClocker { +namespace Plugin { + +class DevicePlugin { +}; + +}; diff --git a/src/include/Tree.hpp b/src/include/Tree.hpp new file mode 100644 index 0000000..12f97d9 --- /dev/null +++ b/src/include/Tree.hpp @@ -0,0 +1,25 @@ +#pragma once + +#include + +namespace TuxClocker { + +template +class FlatTreeNode { + T value; + std::vector childIndices; +}; + +template +class FlatTree { + std::vector> nodes; +}; + +template +class TreeNode { +private: + T value; + std::vector> children; +}; + +}; diff --git a/src/plugins/AMD.cpp b/src/plugins/AMD.cpp new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/src/plugins/AMD.cpp @@ -0,0 +1 @@ +