From 6eaf6a8f3f3880372bdfa0027805213d109a80cc Mon Sep 17 00:00:00 2001 From: Christian Segundo Date: Mon, 12 Jun 2023 00:12:43 +0200 Subject: allow getting all fields --- src/transmission.zig | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'src/transmission.zig') diff --git a/src/transmission.zig b/src/transmission.zig index fec1b12..93fe7f4 100644 --- a/src/transmission.zig +++ b/src/transmission.zig @@ -92,12 +92,22 @@ pub const Client = struct { } }; -pub fn sessionGet(client: *Client) ![]u8 { +pub fn session_get_raw(client: *Client, fields: ?[]SessionGetFields) ![]u8 { + const all_fields = comptime blk: { + var all_fields: []const SessionGetFields = &[_]SessionGetFields{}; + inline for (@typeInfo(SessionGetFields).Enum.fields) |enumField| { + all_fields = all_fields ++ &[_]SessionGetFields{ + @field(SessionGetFields, enumField.name), + }; + } + break :blk all_fields; + }; + const r = Request{ .method = .session_get, .arguments = .{ .session_get = .{ - .fields = &[_]SessionGetFields{ .version, .utp_enabled }, + .fields = fields orelse all_fields, }, }, }; -- cgit v1.2.3