lesavka/server/src/handshake.rs

35 lines
904 B
Rust
Raw Normal View History

2025-07-04 03:41:39 -05:00
// ─── server/src/handshake.rs ───────────────────────────────────────────────
use tonic::{Request, Response, Status};
use lesavka_common::lesavka::{
Empty, HandshakeSet,
handshake_server::{Handshake, HandshakeServer},
};
pub struct HandshakeSvc {
2025-11-30 16:16:03 -03:00
pub camera: bool,
2025-07-04 03:41:39 -05:00
pub microphone: bool,
}
#[tonic::async_trait]
impl Handshake for HandshakeSvc {
async fn get_capabilities(
&self,
_req: Request<Empty>,
) -> Result<Response<HandshakeSet>, Status> {
Ok(Response::new(HandshakeSet {
2025-11-30 16:16:03 -03:00
camera: self.camera,
2025-07-04 03:41:39 -05:00
microphone: self.microphone,
}))
}
}
impl HandshakeSvc {
pub fn server() -> HandshakeServer<Self> {
2025-11-30 16:16:03 -03:00
HandshakeServer::new(Self {
camera: true,
microphone: true,
})
2025-07-04 03:41:39 -05:00
}
}