From 1b55d4babdcf5051db21024b7e0eeb9a8bb1e49a Mon Sep 17 00:00:00 2001 From: Horhik Date: Mon, 25 Jan 2021 22:00:07 +0200 Subject: [PATCH] start creating SSK type --- src/types/client/fcp_types.rs | 56 +++++++++++++++++++++++++++++++++-- 1 file changed, 54 insertions(+), 2 deletions(-) diff --git a/src/types/client/fcp_types.rs b/src/types/client/fcp_types.rs index 9ad5970..3d08dc6 100644 --- a/src/types/client/fcp_types.rs +++ b/src/types/client/fcp_types.rs @@ -88,8 +88,60 @@ pub struct GetNode { } pub struct GenerateSSK { - message_name: String, - identifier: Option, + identifier: Option<&'static String>, +} + +impl FcpRequest for GenerateSSK { + fn convert(&self) -> String { + let identifier = to_fcp_unwrap("Identifier=", self.identifier, "\n"); + format!( + "GenerateSSK\n\ + {}\ + EndMessage\n\n", + identifier + ) + } +} + +pub struct SSK { + sign_key: String, + decrypt_key: String, + settings: String, +} + +pub struct USK { + ssk: SSK, + index: i32, +} + +pub struct SSKKeypair { + insert_uri: SSK, + request_uri: SSK, + identifier: String, +} + +trait FcpParser { + fn parse(palin: String) -> T; +} +impl FcpParser for SSK { + fn parse(plain: String) -> SSK { + SSK { + sign_key: "DF".to_string(), + decrypt_key: "dfs".to_string(), + settings: "DFS".to_string(), + } + } +} + +impl SSKKeypair { + /* + fn parse(plain: String) -> Self { + let lines = plain.lines(); + let insert_uri = lines.next().unwrap_or(""); + let request_uri = lines.next().unwrap_or(""); + let identifier = lines.next().unwrap_or(""); + } + */ } pub struct ClientPut {