Skip to main content

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".

Implementors§