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