From c7412022c3c607c809f774db2459f9259ba95038 Mon Sep 17 00:00:00 2001 From: Christian Segundo Date: Sat, 17 Jun 2023 02:54:34 +0200 Subject: one step closer --- src/response.zig | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/response.zig (limited to 'src/response.zig') diff --git a/src/response.zig b/src/response.zig new file mode 100644 index 0000000..8964de4 --- /dev/null +++ b/src/response.zig @@ -0,0 +1,47 @@ +const std = @import("std"); +const Request = @import("request.zig"); +const Types = @import("types.zig"); + +pub const Response = @This(); + +pub const TorrentGet = struct { + pub const Arguments = struct { + torrents: ?[]Types.Torrent = null, + }; + + result: []const u8, + arguments: Arguments, +}; + +pub const Object = struct { + pub const Arguments = union(Request.Method) { + torrent_start, + torrent_start_now, + torrent_stop, + torrent_verify, + torrent_reannounce, + torrent_set, + torrent_get: TorrentGet.Arguments, + torrent_add, + torrent_remove, + torrent_set_location, + torrent_rename_path, + session_get, + session_set, + }; + + result: []const u8, + arguments: Arguments, + + pub fn init(arguments: Arguments, result: []const u8) Object { + switch (arguments) { + .torrent_get => { + return Object{ + .result = result, + .arguments = arguments, + }; + }, + else => unreachable, + } + } +}; -- cgit v1.2.3