summaryrefslogtreecommitdiff
path: root/src/transmission.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/transmission.zig')
-rw-r--r--src/transmission.zig14
1 files changed, 12 insertions, 2 deletions
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,
},
},
};