pub trait ObsObjectBuilder {
// Required methods
fn new<T: Into<ObsString> + Send + Sync>(
name: T,
runtime: ObsRuntime,
) -> Result<Self, ObsError>
where Self: Sized;
fn get_name(&self) -> ObsString;
fn build(self) -> Result<ObjectInfo, ObsError>
where Self: Sized;
fn get_settings(&self) -> &ObsData;
fn get_settings_updater(&mut self) -> &mut ObsDataUpdater;
fn get_hotkeys(&self) -> &ObsData;
fn get_hotkeys_updater(&mut self) -> &mut ObsDataUpdater;
fn get_id() -> ObsString;
}Expand description
Trait for building OBS sources.
Required Methods§
fn new<T: Into<ObsString> + Send + Sync>(
name: T,
runtime: ObsRuntime,
) -> Result<Self, ObsError>where
Self: Sized,
fn build(self) -> Result<ObjectInfo, ObsError>where
Self: Sized,
fn get_settings(&self) -> &ObsData
fn get_settings_updater(&mut self) -> &mut ObsDataUpdater
fn get_hotkeys(&self) -> &ObsData
fn get_hotkeys_updater(&mut self) -> &mut ObsDataUpdater
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.