#include "../utils/logger.h" #include "WUPSConfigCategory.h" #include #include int32_t WUPSConfigCategory_Create(WUPSConfigCategoryHandle *out, const char *name) { if (name == nullptr || out == nullptr) { return -1; } *out = (WUPSConfigCategoryHandle) new WUPSConfigCategory(name); if (*out != 0) { return 0; } return -2; }; int32_t WUPSConfigCategory_Destroy(WUPSConfigCategoryHandle handle) { if (handle == 0) { return -1; } auto *config = reinterpret_cast(handle); delete config; return 0; }; int32_t WUPSConfigCategory_GetName(WUPSConfigCategoryHandle handle, char *out_buf, int32_t out_len) { if (out_buf == nullptr) { return -1; } auto *config = reinterpret_cast(handle); snprintf(out_buf, out_len, "%s", config->getName().c_str()); return 0; } int32_t WUPSConfigCategory_AddItem(WUPSConfigCategoryHandle handle, WUPSConfigItemHandle item_Handle) { if (handle == 0 || item_Handle == 0) { return -1; } auto *category = reinterpret_cast(handle); auto *item = reinterpret_cast(item_Handle); if (category->addItem(item)) { return 0; } return -2; } /* int32_t WUPSConfigCategory_GetItemCount(WUPSConfigCategoryHandle handle, int32_t *item_count) { if (handle == 0 || item_count == nullptr) { return -1; } auto *config = reinterpret_cast(handle); *item_count = config->getItems().size(); return 0; } int32_t WUPSConfigCategory_GetItems(WUPSConfigCategoryHandle handle, WUPSConfigItemHandle *items_out, int32_t items_out_size) { if (handle == 0 || items_out == nullptr || items_out_size == 0) { return -1; } auto *config = reinterpret_cast(handle); auto items = config->getItems(); int32_t index = 0; for (auto const &item: items) { if (index >= items_out_size) { break; } items_out[index] = (WUPSConfigItemHandle) item; } return 0; }*/ WUMS_EXPORT_FUNCTION(WUPSConfigCategory_Create); WUMS_EXPORT_FUNCTION(WUPSConfigCategory_Destroy); WUMS_EXPORT_FUNCTION(WUPSConfigCategory_GetName); WUMS_EXPORT_FUNCTION(WUPSConfigCategory_AddItem); /* WUMS_EXPORT_FUNCTION(WUPSConfigCategory_GetItemCount); WUMS_EXPORT_FUNCTION(WUPSConfigCategory_GetItems);*/