From: Ian Jackson Date: Thu, 25 Mar 2021 18:34:09 +0000 (+0000) Subject: piece aliases: Commands for defining/deleting them X-Git-Tag: otter-0.5.0~404 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=fe355b346cede5505012d3836b9f410146a15f7c;p=otter.git piece aliases: Commands for defining/deleting them Nothing generates these commands yet. Signed-off-by: Ian Jackson --- diff --git a/daemon/cmdlistener.rs b/daemon/cmdlistener.rs index 727061d1..9d275890 100644 --- a/daemon/cmdlistener.rs +++ b/daemon/cmdlistener.rs @@ -375,6 +375,17 @@ fn execute_game_insn<'cs, 'igr, 'ig: 'igr>( None, ig) }, + MGI::DeletePieceAlias(alias) => { + let ig = cs.check_acl(&ag, ig, PCH::Instance, &[TP::ChangePieces])?.0; + ig.pcaliases.remove(&alias); + (U{ pcs: vec![], log: vec![], raw: None }, MGR::Fine, None, ig) + }, + MGI::DefinePieceAlias { alias, target } => { + let ig = cs.check_acl(&ag, ig, PCH::Instance, &[TP::ChangePieces])?.0; + ig.pcaliases.insert(alias, target); + (U{ pcs: vec![], log: vec![], raw: None }, MGR::Fine, None, ig) + }, + MGI::Synch => { let (mut ig, _) = cs.check_acl(&ag, ig, PCH::Instance, &[TP::Play])?; let mut buf = PrepareUpdatesBuffer::new(&mut ig, None, None); diff --git a/src/commands.rs b/src/commands.rs index 158d6e9c..e10239d5 100644 --- a/src/commands.rs +++ b/src/commands.rs @@ -87,6 +87,8 @@ pub enum MgmtGameInstruction { ListPieces, AddPieces(PiecesSpec), DeletePiece(PieceId), + DeletePieceAlias(String), + DefinePieceAlias { alias: String, target: Box }, ResetPlayerAccess(PlayerId), RedeliverPlayerAccess(PlayerId),