ObsObjectBuilder

Trait ObsObjectBuilder 

Source
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§

Source

fn new<T: Into<ObsString> + Send + Sync>( name: T, runtime: ObsRuntime, ) -> Result<Self, ObsError>
where Self: Sized,

Source

fn runtime(&self) -> &ObsRuntime

Source

fn get_name(&self) -> ObsString

Returns the name of the source.

Source

fn object_build(self) -> Result<ObjectInfo, ObsError>
where Self: Sized,

Source

fn get_settings(&self) -> &ObsData

Source

fn get_settings_updater(&mut self) -> &mut ObsDataUpdater

Source

fn get_hotkeys(&self) -> &ObsData

Source

fn get_hotkeys_updater(&mut self) -> &mut ObsDataUpdater

Source

fn get_id() -> ObsString

Returns the ID of the source.

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.

Implementors§