Trait ClientReloadListeners
pub trait ClientReloadListeners {
// Required methods
fn add_listener(
&mut self,
id: Identifier,
converter: FileToIdConverter,
listener: Arc<dyn ClientReloadListener>,
) -> Result<(), ReloadOrderError>;
fn add_dependency(
&mut self,
first: Identifier,
second: Identifier,
) -> Result<(), ReloadOrderError>;
fn get_registry(&self) -> Vec<Identifier>;
fn get_graph(&self) -> Vec<(Identifier, Identifier)>;
fn get_last_vanilla_listener(&self) -> Identifier;
}Expand description
The client reload’s listener registry, as add_client_reload_listeners hands it out: its
registration methods and a read-only view of names and edges, rebuilt on each client reload.
Listener names need not belong to the registering mod.
Required Methods§
fn add_listener(
&mut self,
id: Identifier,
converter: FileToIdConverter,
listener: Arc<dyn ClientReloadListener>,
) -> Result<(), ReloadOrderError>
fn add_listener( &mut self, id: Identifier, converter: FileToIdConverter, listener: Arc<dyn ClientReloadListener>, ) -> Result<(), ReloadOrderError>
Register a unique listener and converter, e.g. FileToIdConverter::json("machines").
Keep the Arc to read the listener’s published state outside reloads.
fn add_dependency(
&mut self,
first: Identifier,
second: Identifier,
) -> Result<(), ReloadOrderError>
fn add_dependency( &mut self, first: Identifier, second: Identifier, ) -> Result<(), ReloadOrderError>
Require first before second; both names must already be registered.
fn get_registry(&self) -> Vec<Identifier>
fn get_registry(&self) -> Vec<Identifier>
The registered names in registration order, boundaries included.
fn get_graph(&self) -> Vec<(Identifier, Identifier)>
fn get_graph(&self) -> Vec<(Identifier, Identifier)>
The dependency edges as (first, second) names.
fn get_last_vanilla_listener(&self) -> Identifier
fn get_last_vanilla_listener(&self) -> Identifier
The name of the vanilla anchor preceding mod listeners by default.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".