Skip to content
Version 2.11.0
↓ Get the launcher

IPluginDataStore interface

Per-plugin binary file storage for data too large or too opaque for IConfigSection (which holds only primitives, arrays, and dictionaries). Each plugin gets its own directory (<plugins-dir>/<pluginGuid>.data/); names are relative to it. A name may contain at most one / separating a single subdirectory from the file (e.g. replay/123-456.gz); .., rooted paths, and backslashes are rejected. Every method is best-effort and NEVER throws — IO faults are logged and swallowed.

public interface IPluginDataStore
name description
Delete(…) Delete the named file. No-op when the file is absent, the name is invalid, or the delete fails.
List(…) Names of existing files in this plugin’s data directory, optionally filtered to those starting with prefix. Returns an empty list on any failure. Names use / as the separator.
Read(…) Read the named file, or null if it is absent, the name is invalid, or the read fails.
Write(…) Write data to the named file, overwriting any existing content. No-op on IO failure.