Trait ObsObjectUpdater
pub trait ObsObjectUpdater<'a, K>where
K: Clone,{
type ToUpdate: ObsObjectTrait<K>;
// Required methods
fn create_update(
runtime: ObsRuntime,
updatable: &'a mut Self::ToUpdate,
) -> Result<Self, ObsError>
where Self: Sized;
fn get_settings(&self) -> &ObsData;
fn get_settings_updater(&mut self) -> &mut ObsDataUpdater;
fn update(self) -> Result<(), ObsError>;
fn runtime(&self) -> &ObsRuntime;
fn get_id() -> ObsString;
}Expand description
A trait that is used to represent any struct than can update an OBS object.
This can be for example a ´WindowSourceUpdater´, which updates the settings of the WindowSourceRef, when
the update method is called.
Required Associated Types§
type ToUpdate: ObsObjectTrait<K>
Required Methods§
fn create_update(
runtime: ObsRuntime,
updatable: &'a mut Self::ToUpdate,
) -> Result<Self, ObsError>where
Self: Sized,
fn get_settings(&self) -> &ObsData
fn get_settings_updater(&mut self) -> &mut ObsDataUpdater
fn update(self) -> Result<(), ObsError>
fn runtime(&self) -> &ObsRuntime
fn get_id() -> ObsString
fn get_id() -> ObsString
Returns the ID of the object
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§
Source§impl<'a> ObsObjectUpdater<'a, *mut obs_source> for ObsPipeWireGeneralUpdater<'a>
Available on Linux only.
impl<'a> ObsObjectUpdater<'a, *mut obs_source> for ObsPipeWireGeneralUpdater<'a>
Available on Linux only.
Source§impl<'a> ObsObjectUpdater<'a, *mut obs_source> for AlsaInputSourceUpdater<'a>
Available on Linux only.
impl<'a> ObsObjectUpdater<'a, *mut obs_source> for AlsaInputSourceUpdater<'a>
Available on Linux only.
Source§impl<'a> ObsObjectUpdater<'a, *mut obs_source> for JackOutputSourceUpdater<'a>
Available on Linux only.
impl<'a> ObsObjectUpdater<'a, *mut obs_source> for JackOutputSourceUpdater<'a>
Available on Linux only.
Source§impl<'a> ObsObjectUpdater<'a, *mut obs_source> for PulseInputSourceUpdater<'a>
Available on Linux only.
impl<'a> ObsObjectUpdater<'a, *mut obs_source> for PulseInputSourceUpdater<'a>
Available on Linux only.
Source§impl<'a> ObsObjectUpdater<'a, *mut obs_source> for PulseOutputSourceUpdater<'a>
Available on Linux only.
impl<'a> ObsObjectUpdater<'a, *mut obs_source> for PulseOutputSourceUpdater<'a>
Available on Linux only.
Source§impl<'a> ObsObjectUpdater<'a, *mut obs_source> for V4L2InputSourceUpdater<'a>
Available on Linux only.
impl<'a> ObsObjectUpdater<'a, *mut obs_source> for V4L2InputSourceUpdater<'a>
Available on Linux only.
Source§impl<'a> ObsObjectUpdater<'a, *mut obs_source> for X11CaptureSourceUpdater<'a>
Available on Linux only.
impl<'a> ObsObjectUpdater<'a, *mut obs_source> for X11CaptureSourceUpdater<'a>
Available on Linux only.
Source§impl<'a> ObsObjectUpdater<'a, *mut obs_source> for XCompositeInputSourceUpdater<'a>
Available on Linux only.
impl<'a> ObsObjectUpdater<'a, *mut obs_source> for XCompositeInputSourceUpdater<'a>
Available on Linux only.
Source§impl<'a> ObsObjectUpdater<'a, *mut obs_source> for GameCaptureSourceUpdater<'a>
Available on Windows only.
impl<'a> ObsObjectUpdater<'a, *mut obs_source> for GameCaptureSourceUpdater<'a>
Available on Windows only.
Source§impl<'a> ObsObjectUpdater<'a, *mut obs_source> for MonitorCaptureSourceUpdater<'a>
Available on Windows only.
impl<'a> ObsObjectUpdater<'a, *mut obs_source> for MonitorCaptureSourceUpdater<'a>
Available on Windows only.
Source§impl<'a> ObsObjectUpdater<'a, *mut obs_source> for WindowCaptureSourceUpdater<'a>
Available on Windows only.
impl<'a> ObsObjectUpdater<'a, *mut obs_source> for WindowCaptureSourceUpdater<'a>
Available on Windows only.