internal property

  1. @internal
  2. @experimental
FMTCBackendInternal internal

Provides access to the thread-seperate backend internals (FMTCBackendInternal) globally with some level of access control

Only a single backend may set the internal backend at any one time, essentially providing a locking mechanism preventing multiple backends from being used at the same time (with a shared access).

A FMTCBackendInternal implementation can access the internal setters, and should set them both sequentially at the end of the FMTCBackend.initialise & FMTCBackend.uninitialise implementations.

The internal getter(s) should never be used outside of FMTC internals, as it provides access to potentially uncontrolled, and unorganised, methods.

Implementation

@meta.internal
@meta.experimental
static FMTCBackendInternal get internal =>
    _internal ?? (throw RootUnavailable());
  1. @protected
void internal=(FMTCBackendInternal? newInternal)

Implementation

@meta.protected
static set internal(FMTCBackendInternal? newInternal) {
  if (newInternal != null && _internal != null) {
    throw RootAlreadyInitialised();
  }
  _internal = newInternal;
}