2023-12-16 17:10:45 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
|
|
|
#include "WUPSConfigItem.h"
|
|
|
|
#include <optional>
|
|
|
|
#include <string>
|
|
|
|
|
|
|
|
class WUPSConfigCategory {
|
|
|
|
public:
|
|
|
|
explicit WUPSConfigCategory(WUPSConfigCategoryHandle handle) noexcept;
|
|
|
|
virtual ~WUPSConfigCategory();
|
|
|
|
|
|
|
|
WUPSConfigCategory(const WUPSConfigCategory &) = delete;
|
|
|
|
|
2024-12-30 14:15:28 +01:00
|
|
|
WUPSConfigCategory(WUPSConfigCategory &&src) noexcept;
|
2023-12-16 17:10:45 +01:00
|
|
|
|
2024-12-30 14:15:28 +01:00
|
|
|
WUPSConfigCategory &operator=(WUPSConfigCategory &&src) noexcept;
|
|
|
|
|
|
|
|
void releaseHandle() noexcept;
|
2023-12-16 17:10:45 +01:00
|
|
|
|
|
|
|
static std::optional<WUPSConfigCategory> Create(std::string_view name, WUPSConfigAPIStatus &error) noexcept;
|
|
|
|
|
|
|
|
static WUPSConfigCategory Create(std::string_view name);
|
|
|
|
|
|
|
|
bool add(WUPSConfigCategory &&cat, WUPSConfigAPIStatus &error) noexcept;
|
|
|
|
|
|
|
|
void add(WUPSConfigCategory &&cat);
|
|
|
|
|
|
|
|
bool add(WUPSConfigItem &&item, WUPSConfigAPIStatus &error) noexcept;
|
|
|
|
|
|
|
|
void add(WUPSConfigItem &&item);
|
|
|
|
|
2024-12-30 14:15:28 +01:00
|
|
|
[[nodiscard]] const WUPSConfigCategoryHandle &getHandle() const;
|
2023-12-16 17:10:45 +01:00
|
|
|
|
2024-12-30 14:15:28 +01:00
|
|
|
void release();
|
2023-12-16 17:10:45 +01:00
|
|
|
|
|
|
|
private:
|
|
|
|
WUPSConfigCategoryHandle mHandle = {};
|
|
|
|
};
|
|
|
|
#endif
|