use std::collections::HashMap;
use super::network_service_handler::NetworkServiceHandler;
use super::network_service_handler_manager::NetworkServiceHandlerManager;
#[derive(Default)]
pub struct NetworkServiceHandlerManagerBuilder {
handlers: HashMap<String, Box<dyn NetworkServiceHandler>>
}
impl NetworkServiceHandlerManagerBuilder {
pub fn add_handler(
mut self,
handler: Box<dyn NetworkServiceHandler>
) -> Self
{
let _ = self.handlers.insert(handler.get_handler_type(), handler);
self
}
pub fn build(self) -> NetworkServiceHandlerManager {
NetworkServiceHandlerManager::new(
self.handlers
)
}
}