Struct ObsData

Source
pub struct ObsData { /* private fields */ }
Expand description

Contains obs_data and its related strings. Note that this struct prevents string pointers from being freed by keeping them owned. Update: The strings are actually copied by obs itself, we don’t need to store them

Implementations§

Source§

impl ObsData

Source

pub async fn new(runtime: ObsRuntime) -> Result<Self, ObsError>

Creates a new empty ObsData wrapper for the libobs obs_data data structure.

ObsData can then be populated using the set functions, which take ownership of the ObsString types to prevent them from being dropped prematurely. This makes it safer than using obs_data directly from libobs.

Source

pub fn bulk_update(&mut self) -> ObsDataUpdater

Source

pub fn as_ptr(&self) -> Sendable<*mut obs_data>

Returns a pointer to the raw obs_data represented by ObsData.

Source

pub async fn set_string<T: Into<ObsString> + Send + Sync, K: Into<ObsString> + Send + Sync>( &mut self, key: T, value: K, ) -> Result<&mut Self, ObsError>

Sets a string in obs_data and stores it so it in ObsData does not get freed.

Source

pub async fn set_int<T: Into<ObsString> + Sync + Send>( &mut self, key: T, value: i64, ) -> Result<&mut Self, ObsError>

Sets an int in obs_data and stores the key in ObsData so it does not get freed.

Source

pub async fn set_bool<T: Into<ObsString> + Sync + Send>( &mut self, key: T, value: bool, ) -> Result<&mut Self, ObsError>

Sets a bool in obs_data and stores the key in ObsData so it does not get freed.

Source

pub async fn set_double<T: Into<ObsString> + Sync + Send>( &mut self, key: T, value: f64, ) -> Result<&mut Self, ObsError>

Sets a double in obs_data and stores the key in ObsData so it does not get freed.

Source

pub async fn from_json( json: &str, runtime: ObsRuntime, ) -> Result<Self, ObsError>

Source

pub async fn get_json(&self) -> Result<String, ObsError>

Source§

impl ObsData

Source

pub async fn clone(&self) -> Result<Self, ObsError>

Trait Implementations§

Source§

impl Debug for ObsData

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<ObsData> for ImmutableObsData

Source§

fn from(data: ObsData) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> ErasedDestructor for T
where T: 'static,

§

impl<T> MaybeSendSync for T