From 09b06f184ef36199eba15b508804699ba6874d69 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 22 Aug 2020 22:21:51 +0100 Subject: [PATCH] reorg --- src/spec.rs | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/spec.rs b/src/spec.rs index 71717f0b..5470e155 100644 --- a/src/spec.rs +++ b/src/spec.rs @@ -3,6 +3,8 @@ use crate::imports::*; +//---------- Table TOML file ---------- + #[derive(Debug,Serialize,Deserialize)] pub struct TableSpec { pub players : Vec, @@ -15,6 +17,14 @@ pub struct PlayerSpec { pub access: Option>, } +#[derive(Debug,Serialize,Deserialize)] +struct FixedToken { token: RawToken } + +#[derive(Debug,Serialize,Deserialize)] +struct TokenOnStdout; + +//---------- Game TOML file ---------- + #[derive(Debug,Serialize,Deserialize)] pub struct GameSpec { pub table_size : Option, @@ -31,6 +41,8 @@ pub struct PiecesSpec { pub info : Box, } +//---------- Implementation ---------- + #[typetag::serde(tag="access")] pub trait PlayerAccessSpec : Debug { fn token_mgi(&self, _player: PlayerId) -> Option { @@ -40,9 +52,6 @@ pub trait PlayerAccessSpec : Debug { -> Result<(),AE>; } -#[derive(Debug,Serialize,Deserialize)] -struct FixedToken { token: RawToken } - #[typetag::serde] impl PlayerAccessSpec for FixedToken { fn token_mgi(&self, player: PlayerId) -> Option { @@ -55,9 +64,6 @@ impl PlayerAccessSpec for FixedToken { fn deliver_tokens(&self, _ps: &PlayerSpec, _tokens: &[RawToken]) { } } -#[derive(Debug,Serialize,Deserialize)] -struct TokenOnStdout; - #[typetag::serde] impl PlayerAccessSpec for TokenOnStdout { #[throws(AE)] -- 2.30.2