pub trait ObsObjectTrait<K: Clone>: ObsObjectClone<K> + ObsObjectTraitPrivate {
// Required methods
fn runtime(&self) -> &ObsRuntime;
fn settings(&self) -> Result<ImmutableObsData, ObsError>;
fn hotkey_data(&self) -> Result<ImmutableObsData, ObsError>;
fn id(&self) -> ObsString;
fn name(&self) -> ObsString;
fn update_settings(&self, settings: ObsData) -> Result<(), ObsError>;
fn as_ptr(&self) -> SmartPointerSendable<K>;
// Provided method
fn create_updater<'a, T: ObsObjectUpdater<'a, K, ToUpdate = Self> + Send + Sync>(
&'a mut self,
) -> Result<T, ObsError>
where Self: Sized + Send + Sync { ... }
}Expand description
Trait representing an OBS object.
A OBs object has an id, a name, settings and hotkey_data.
Required Methods§
fn runtime(&self) -> &ObsRuntime
fn settings(&self) -> Result<ImmutableObsData, ObsError>
fn hotkey_data(&self) -> Result<ImmutableObsData, ObsError>
fn id(&self) -> ObsString
fn name(&self) -> ObsString
Sourcefn update_settings(&self, settings: ObsData) -> Result<(), ObsError>
fn update_settings(&self, settings: ObsData) -> Result<(), ObsError>
Updates the settings of this output. Fails if active.
Sourcefn as_ptr(&self) -> SmartPointerSendable<K>
fn as_ptr(&self) -> SmartPointerSendable<K>
Creates a new reference to the drop guard. This is useful if you are using the underlying raw pointer, make sure to store it along the drop guard
Provided Methods§
Sourcefn create_updater<'a, T: ObsObjectUpdater<'a, K, ToUpdate = Self> + Send + Sync>(
&'a mut self,
) -> Result<T, ObsError>
fn create_updater<'a, T: ObsObjectUpdater<'a, K, ToUpdate = Self> + Send + Sync>( &'a mut self, ) -> Result<T, ObsError>
Updates the object with the current settings. For examples please take a look at the Github repository.