config: send server-side capabilities to config
This commit is contained in:
parent
c235f026f0
commit
27f30f8d28
5 changed files with 26 additions and 2 deletions
|
|
@ -4,7 +4,9 @@ use {
|
||||||
crate::{
|
crate::{
|
||||||
_private::{
|
_private::{
|
||||||
bincode_ops,
|
bincode_ops,
|
||||||
ipc::{ClientMessage, InitMessage, Response, ServerMessage, WorkspaceSource},
|
ipc::{
|
||||||
|
ClientMessage, InitMessage, Response, ServerFeature, ServerMessage, WorkspaceSource,
|
||||||
|
},
|
||||||
logging, Config, ConfigEntry, ConfigEntryGen, PollableId, WireMode, VERSION,
|
logging, Config, ConfigEntry, ConfigEntryGen, PollableId, WireMode, VERSION,
|
||||||
},
|
},
|
||||||
exec::Command,
|
exec::Command,
|
||||||
|
|
@ -1178,6 +1180,14 @@ impl Client {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
ServerMessage::Features { features } => {
|
||||||
|
for feat in features {
|
||||||
|
match feat {
|
||||||
|
ServerFeature::NONE => {}
|
||||||
|
_ => {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,14 @@ use {
|
||||||
std::time::Duration,
|
std::time::Duration,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#[derive(Serialize, Deserialize, Debug, Eq, PartialEq)]
|
||||||
|
#[serde(transparent)]
|
||||||
|
pub struct ServerFeature(u16);
|
||||||
|
|
||||||
|
impl ServerFeature {
|
||||||
|
pub const NONE: Self = Self(0);
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Serialize, Deserialize, Debug)]
|
#[derive(Serialize, Deserialize, Debug)]
|
||||||
pub enum ServerMessage {
|
pub enum ServerMessage {
|
||||||
Configure {
|
Configure {
|
||||||
|
|
@ -62,6 +70,9 @@ pub enum ServerMessage {
|
||||||
writable: bool,
|
writable: bool,
|
||||||
res: Result<(), String>,
|
res: Result<(), String>,
|
||||||
},
|
},
|
||||||
|
Features {
|
||||||
|
features: Vec<ServerFeature>,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Serialize, Deserialize, Debug)]
|
#[derive(Serialize, Deserialize, Debug)]
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,8 @@
|
||||||
clippy::uninlined_format_args,
|
clippy::uninlined_format_args,
|
||||||
clippy::len_zero,
|
clippy::len_zero,
|
||||||
clippy::single_char_pattern,
|
clippy::single_char_pattern,
|
||||||
clippy::single_char_add_str
|
clippy::single_char_add_str,
|
||||||
|
clippy::single_match
|
||||||
)]
|
)]
|
||||||
|
|
||||||
use {
|
use {
|
||||||
|
|
|
||||||
|
|
@ -203,6 +203,7 @@ impl ConfigProxy {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn configure(&self, reload: bool) {
|
pub fn configure(&self, reload: bool) {
|
||||||
|
self.send(&ServerMessage::Features { features: vec![] });
|
||||||
self.send(&ServerMessage::Configure { reload });
|
self.send(&ServerMessage::Configure { reload });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -109,6 +109,7 @@ unsafe extern "C" fn handle_msg(data: *const u8, msg: *const u8, size: usize) {
|
||||||
ServerMessage::Idle => {}
|
ServerMessage::Idle => {}
|
||||||
ServerMessage::DevicesEnumerated => {}
|
ServerMessage::DevicesEnumerated => {}
|
||||||
ServerMessage::InterestReady { .. } => {}
|
ServerMessage::InterestReady { .. } => {}
|
||||||
|
ServerMessage::Features { .. } => {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue