--- /dev/null
+
+use crate::imports::*;
+
+pub struct MgmtConnection {
+ read : io::Lines<BufReader<UnixStream>>,
+ write : BufWriter<UnixStream>,
+}
+
+impl MgmtConnection {
+ fn connect() {
+ todo!();
+// let mut both = UnixStream:;connect(SOCKET_PATH)?;
+ }
+}
pub use crate::slotmap_slot_idx::*;
pub use crate::cmdlistener::*;
pub use crate::spec::*;
+pub use crate::client::*;
pub use crate::api::{Lens,TransparentLens};
pub use crate::utils::OrdExt;
pub struct PlayerSpec {
pub nick: String,
#[serde(flatten)]
- pub access: Box<dyn PlayerAccessSpec>,
+ pub access: Option<Box<dyn PlayerAccessSpec>>,
}
#[derive(Debug,Serialize,Deserialize)]
#[typetag::serde(tag="access")]
pub trait PlayerAccessSpec : Debug {
- #[throws(OE)]
- /// todo const DELIVER_TOKEN_SERVER : bool; etc.
- fn deliver_token(&mut self) -> Result<(),OE>;
+ fn deliver_token_client(&self, conn: &mut MgmtConnection, nick: &str)
+ -> Result<(),anyhow::Error>;
+}
+
+#[derive(Debug,Serialize,Deserialize)]
+struct UrlOnStdout;
+
+#[typetag::serde]
+impl PlayerAccessSpec for UrlOnStdout {
+ fn deliver_token_client(&self, conn: &mut MgmtConnection, nick: &str)
+ -> Result<(),anyhow::Error> {
+ todo!()
+ }
}