Struct SerializationInterface

Source
pub struct SerializationInterface(/* private fields */);
Expand description

Interface for interacting with SKSE’s serialization functions.

This struct provides methods for interacting with serialization operations such as setting unique IDs, handling callbacks for form deletions and loads, and reading/writing record data.

Implementations§

Source§

impl SerializationInterface

Source

pub const VERSION: u32 = 4u32

The version number of the serialization interface.

Source

pub const fn version(&self) -> u32

Returns the version of the serialization interface.

Source

pub fn set_unique_id(&self, uid: u32) -> Result<(), ApiStorageError>

Sets a unique identifier for the serialization interface.

§Errors

Returns an error if the internal global API storage is uninitialized (e.g., if skse::init has not been called).

Source

pub fn set_form_delete_callback( &self, callback: fn(handle: VMHandle), ) -> Result<(), ApiStorageError>

Sets a callback function that will be called when a form is deleted.

§Errors

Returns an error if the internal global API storage is uninitialized (e.g., if skse::init has not been called).

Source

pub fn set_load_callback( &self, callback: fn(&Self), ) -> Result<(), ApiStorageError>

Sets a callback function that will be called when the plugin is loaded.

§Errors

Returns an error if the internal global API storage is uninitialized (e.g., if skse::init has not been called).

Source

pub fn set_revert_callback( &self, callback: fn(&Self), ) -> Result<(), ApiStorageError>

Sets a callback function that will be called when the plugin is reverted.

§Errors

Returns an error if the internal global API storage is uninitialized (e.g., if skse::init has not been called).

Source

pub fn set_save_callback( &self, callback: fn(&Self), ) -> Result<(), ApiStorageError>

Sets a callback function that will be called when the plugin is saved.

§Errors

Returns an error if the internal global API storage is uninitialized (e.g., if skse::init has not been called).

Source

pub fn write_record<T>( &self, record_type: u32, version: u32, buf: &T, ) -> Result<(), Error>

Writes a record to the serialization interface.

§Errors

Returns an error if the write operation fails or if the buffer length exceeds u32::MAX.

Source

pub fn open_recode(&self, record_type: u32, version: u32) -> Result<(), Error>

Opens a record for writing.

§Errors

Returns an error if the open operation fails.

Source

pub fn write_record_data<T>(&self, buf: &[T]) -> Result<(), Error>

Writes record data to the serialization interface.

§Errors

Returns an error if the write operation fails or if the buffer length exceeds u32::MAX.

Source

pub fn read_record_data<T>(&self, buf: &mut [T]) -> u32

Reads record data into the provided buffer.

§Returns

The number of bytes read.

Source

pub fn get_next_record_info( &self, record_type: &mut u32, version: &mut u32, length: &mut u32, ) -> Result<(), Error>

Retrieves the next record’s type, version, and length.

§Errors

Returns an error if the operation fails.

Source

pub fn resolve_form_id( &self, old: FormID, new: &mut FormID, ) -> Result<(), Error>

Resolves the new form ID based on an old form ID.

§Errors

Returns an error if the form ID resolution fails.

Source

pub fn resolve_handle( &self, old: VMHandle, new: &mut VMHandle, ) -> Result<(), Error>

Resolves the new handle based on an old handle.

§Errors

Returns an error if the handle resolution fails.

Trait Implementations§

Source§

impl Clone for SerializationInterface

Source§

fn clone(&self) -> SerializationInterface

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SerializationInterface

Source§

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

Formats the value using the given formatter. Read more

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

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

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

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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.
Source§

impl<T> WithSubscriber for T

Source§

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
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

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