M5: Windows client moderation UI; add C ABI getters for account list, user mute/deafen, channel topic

This commit is contained in:
2026-06-17 16:31:29 +02:00
parent 3990f63f0f
commit 9b321d0d4f
24 changed files with 1723 additions and 30 deletions

View File

@@ -164,7 +164,10 @@ vc_result vc_list_channels(vc_client* c, vc_channel_list* out) {
void vc_free_channel_list(vc_channel_list* list) {
if (list == nullptr || list->items == nullptr) return;
for (size_t i = 0; i < list->count; ++i) delete[] list->items[i].name;
for (size_t i = 0; i < list->count; ++i) {
delete[] list->items[i].name;
delete[] list->items[i].topic;
}
delete[] list->items;
list->items = nullptr;
list->count = 0;
@@ -268,6 +271,19 @@ vc_result vc_list_accounts(vc_client* c) {
return c->list_accounts();
}
vc_result vc_get_account_list(vc_client* c, vc_account_list* out) {
if (c == nullptr || out == nullptr) return VC_ERR_INVALID_ARG;
return c->get_account_list(out);
}
void vc_free_account_list(vc_account_list* list) {
if (list == nullptr || list->items == nullptr) return;
for (size_t i = 0; i < list->count; ++i) delete[] list->items[i].username;
delete[] list->items;
list->items = nullptr;
list->count = 0;
}
vc_result vc_get_permissions(vc_client* c, vc_permissions* out) {
if (c == nullptr || out == nullptr) return VC_ERR_INVALID_ARG;
return c->get_permissions(out);