Skip to main content

Module helpers

Module helpers 

Source
Expand description

§IPC Helpers Module

This module provides helper data structures for marshalling complex data between the UI and server. These types serve as lightweight, serializable representations of core library types, designed specifically for IPC transfer.

§Key Types

§Container Information

  • ContainerInfo: A reduced representation of a PackFile, containing only the metadata needed by the UI (file name, path, version, type, compression settings).

§File Information

  • RFileInfo: Metadata about a packed file within a container (path, container name, timestamp, file type). Used extensively in tree views and file listings.
  • VideoInfo: Metadata specific to video files (format, dimensions, framerate, etc.).

§Dependencies

  • DependenciesInfo: Contains paths to all dependency files (AssKit tables, vanilla files, parent mod files) for populating dependency tree views.

§Data Sources

  • DataSource: Discriminates where data comes from (current PackFile, game files, parent mods, AssKit files, or external files). Used throughout the UI to track file origins.

§File Creation

  • NewFile: Enum containing the parameters needed to create new files of various types (AnimPack, DB table, Loc file, etc.).

§API Responses

  • APIResponse: Represents update check results (new update available, no update, etc.).

§Design Notes

These types are intentionally simple and focus on data transfer rather than business logic. They use #[derive(Serialize, Deserialize)] for JSON serialization over WebSocket, and #[derive(Getters)] for convenient read-only access to fields.

Structs§

ContainerInfo
This struct is a reduced version of the PackFile one, used to pass just the needed data to an UI.
DependenciesInfo
This struct contains the minimal data needed (mainly paths), to know what we have loaded in out dependencies.
RFileInfo
This struct represents the detailed info about the PackedFile we can provide to whoever request it.
SessionInfo
Information about an active session on the server.
VideoInfo
This struct represents the detailed info about the PackedFile we can provide to whoever request it.

Enums§

APIResponse
This enum controls the possible responses from the server when checking for an update.
DataSource
This enum represents the source of the data in the view.
NewFile
This enum contains the data needed to create a new PackedFile.