summaryrefslogtreecommitdiff
path: root/src/transmission.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/transmission.zig')
-rw-r--r--src/transmission.zig18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/transmission.zig b/src/transmission.zig
index e25d30b..dd058bb 100644
--- a/src/transmission.zig
+++ b/src/transmission.zig
@@ -2,10 +2,9 @@ const std = @import("std");
const util = @import("util.zig");
const Request = @import("request.zig").Request;
-const SessionGetFields = @import("request.zig").SessionGetFields;
const SessionGet = @import("request.zig").SessionGet;
+const SessionSet = @import("request.zig").SessionSet;
const TorrentGet = @import("request.zig").TorrentGet;
-const TorrentGetFields = @import("request.zig").TorrentGetFields;
pub const ClientOptions = extern struct {
host: [*:0]const u8,
@@ -83,6 +82,8 @@ pub const Client = struct {
return error.InvalidSize;
}
+ std.debug.print("request: {s}\n", .{payload.items});
+
try real_req.finish();
try real_req.wait();
@@ -103,7 +104,7 @@ pub const Client = struct {
pub fn session_get_raw(client: *Client, session_get: ?SessionGet) ![]u8 {
const default: SessionGet = .{
- .fields = comptime util.enumFieldsToSlice(SessionGetFields),
+ .fields = SessionGet.all_fields,
};
const r = Request{
@@ -116,7 +117,7 @@ pub fn session_get_raw(client: *Client, session_get: ?SessionGet) ![]u8 {
pub fn torrent_get_raw(client: *Client, torrent_get: ?TorrentGet) ![]u8 {
const default: TorrentGet = .{
- .fields = comptime util.enumFieldsToSlice(TorrentGetFields),
+ .fields = TorrentGet.all_fields,
};
const r = Request{
@@ -126,3 +127,12 @@ pub fn torrent_get_raw(client: *Client, torrent_get: ?TorrentGet) ![]u8 {
const body = try client.do(r);
return body;
}
+
+pub fn session_set_raw(client: *Client, session_set: SessionSet) ![]u8 {
+ const r = Request{
+ .method = .session_set,
+ .arguments = .{ .session_set = session_set },
+ };
+ const body = try client.do(r);
+ return body;
+}