pub trait ObsObjectBuilder {
// Required methods
fn new<T: Into<ObsString> + Send + Sync>(
name: T,
runtime: ObsRuntime,
) -> Result<Self, ObsError>
where Self: Sized;
fn runtime(&self) -> &ObsRuntime;
fn get_name(&self) -> ObsString;
fn object_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 objects. This can range from building audio encoders to building scenes, every ObsObject has the same underlying properties:
- name
- id
- hotkey_data
- settings
Required Methods§
fn new<T: Into<ObsString> + Send + Sync>(
name: T,
runtime: ObsRuntime,
) -> Result<Self, ObsError>where
Self: Sized,
fn runtime(&self) -> &ObsRuntime
fn object_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.