Skip to main content

Typed API Reference

Most boolean methods are provided for diagnostic purposes only, leftover from earlier prototypes of the API. You should prefer the structured result methods. Boolean methods discard the diagnostic result code, reason and extension revision.

MethodReturnsRequired permission or stateBehaviour
GetApiVersion()SnowcloakIpcVersionNoneReturns the cleint's IPC major and minor version or throws when the provider is unavailable or incompatible. As of writing, this is 1.4.
TryGetApiVersion(out version)boolNoneReturns false for IpcNotReadyError or IpcTypeMismatchError; otherwise supplies the version.
GetConnectionState()SnowcloakConnectionStateNoneReturns Snowcloak's current server connection state. Provider availability and server connection are separate.
Register(requestedPermissions)ExtensionGrantSnowcloak provider availableRegisters this wrapper load and requests the exact supplied capability mask. An accepted registration can still have pending permissions.
RegisterExtension()ExtensionGrantSnowcloak provider availableConvenience registration requesting only extension transmit and visible receive capabilities.
GetGrant()ExtensionGrantCurrent registrationReturns the current requested, granted and pending capabilities and current limits.
UnregisterWithResult()SnowcloakOperationResultCurrent registrationRemoves this wrapper load's registration.
UnregisterExtension()boolCurrent registrationBoolean form of unregistering.
OpenPluginIntegrations()SnowcloakOperationResultCurrent registrationOpens Snowcloak's settings focused on this plugin's integration entry.
GetSelf()SelfInfo?ReadPairDataReturns current Snowcloak identity or null when unavailable.
GetHandledObjectIndices()IReadOnlyList<ushort>ReadPairDataReturns current local object indices handled by Snowcloak.
IsHandled(objectIndex)boolReadPairDataTests whether Snowcloak currently handles the supplied local object index.
ResolvePair(objectIndex)PairInfo?ReadPairDataResolves a currently visible handled object to a pair.
GetPairByUid(uid)PairInfo?ReadPairData; additionally ReadPairDataOutOfRange when non-visibleReturns the currently accessible pair with that UID.
GetVisiblePairs()IReadOnlyList<PairInfo>ReadPairDataReturns a snapshot of visible pairs ordered by UID.
GetAllPairs()IReadOnlyList<PairInfo>ReadPairData and ReadPairDataOutOfRangeReturns all accessible pairs ordered by UID.
GetVisiblePairCount()intReadPairDataReturns the number of currently visible pairs.
GetApplicationStatus(uid)PairApplicationStatus?Pair-read permissions applicable to that pairReturns the effective current application status or null when inaccessible or unknown.
GetProfileSummary(uid)ProfileSummary?ReadProfileDataReturns the available cached profile summary for a known pair.
OpenProfileWithResult(uid)SnowcloakOperationResultOpenProfileWindowOpens Snowcloak's profile window for a known pair.
OpenProfile(uid)boolOpenProfileWindowBoolean form of opening the profile window.
OpenPairRequest(objectIndex)SnowcloakOperationResultOpenPairRequestWindowOpens Snowcloak's confirmation flow for a valid visible non-paired target. It never sends a request without user confirmation.
LoadMcdfToObjectWithResultAsync(path, objectIndex)Task<SnowcloakOperationResult>ApplyMcdfApplies an existing local MCDF file to a valid GPose-range character.
LoadMcdfToObjectAsync(path, objectIndex)Task<bool>ApplyMcdfBoolean form of MCDF application.
SetLocalDataWithResult(data)SnowcloakOperationResultTransmitExtensionDataSets or clears this plugin's local opaque string. Empty and null clear it.
SetLocalData(data)boolTransmitExtensionDataBoolean form of setting local extension data.
GetLocalDataStatus()ExtensionPublicationStatus?TransmitExtensionDataReturns the current publication state or null when unavailable.
GetRemoteData(uid)string?ReceiveExtensionData; additionally ReceiveExtensionDataOutOfRange when applicableReturns only the currently accessible matching string. Absence does not explain why it is unavailable.
GetRemoteDataState(uid)RemoteExtensionDataState?Receive permissions applicable to that pairReturns structured availability and data state, or null for an unknown or inaccessible pair.
GetRegisteredExtensionKeys()IReadOnlyList<string>Current registrationReturns Snowcloak's currently registered normalised plugin keys. These are integration identities, not user-facing payload namespaces.
Dispose()voidAnyUnsubscribes wrapper event handlers. It does not replace UnregisterWithResult() during orderly plugin shutdown.