chiark / gitweb /
before subcommand as fn
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 13 Aug 2020 18:32:59 +0000 (19:32 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 13 Aug 2020 18:32:59 +0000 (19:32 +0100)
src/bin/otter.rs

index 31b7edad409cc7132baac2a68df3f3df31bac602..b5f245d6c4867f59c24273c8340a16d63eb68459 100644 (file)
@@ -181,9 +181,10 @@ fn main() {
 type Conn = MgmtChannel;
 
 #[throws(E)]
-fn connect(ma: &MainOpts) -> MgmtChannel {
+fn connect(_ma: &MainOpts) -> MgmtChannel {
   let unix = UnixStream::connect(SOCKET_PATH).context("connect to server")?;
   let chan = MgmtChannel::new(unix)?;
+  // xxx set scope
   chan
 }
 
@@ -207,8 +208,27 @@ inventory::submit!{Subcommand(
       Ok(())
     }, None);
 
+    let spec = (||{
+      let mut f = File::open(&args.file).context("open")?;
+      let mut buf = String::new();
+      f.read_to_string(&mut buf).context("read")?;
+      let spec : TableSpec = toml::de::from_str(&buf).context("parse")?;
+      <Result<_,AE>>::Ok(spec)
+    })().context("game spec toml").context(&args.file)?;
+
     let chan = connect(&mainopts)?;
 
+    /*
+
+    chan.cmd(MgmtCommand::CreateGame {
+      CreateGame {
+        name: args.name,
+        insns: vec![
+          MgmtGameInstruction {
+            
+          },
+        ]*/
+
     eprintln!("CREATE-TABLE {:?} {:?}", &mainopts, &args);
     Ok(())
   }