Base class for mixins that provide singleton services (also known as "bindings").
To use this class in a mixin, inherit from it and implement
initInstances()
. The mixin is guaranteed to only be constructed
once in the lifetime of the app (more precisely, it will assert if
constructed twice in checked mode).
The top-most layer used to write the application will have a
concrete class that inherits from BindingBase and uses all the
various BindingBase mixins (such as ServicesBinding
). For example, the
Widgets library in flutter introduces a binding called
WidgetsFlutterBinding
. The relevant library defines how to create
the binding. It could be implied (for example,
WidgetsFlutterBinding
is automatically started from runApp
), or
the application might be required to explicitly call the
constructor.
Constructors
- BindingBase()
-
Default abstract constructor for bindings.
Properties
- hashCode → int
-
Get a hash code for this object.
read-only, inherited - runtimeType → Type
-
A representation of the runtime type of the object.
read-only, inherited
Operators
-
operator ==(
other) → bool -
The equality operator.
inherited
Methods
-
initInstances(
) → void -
The initialization method. Subclasses override this method to hook into the platform and otherwise configure their services. Subclasses must call "super.initInstances()".
-
initServiceExtensions(
) → void -
Called when the binding is initialized, to register service extensions.
-
reassembleApplication(
) → void -
Called when the ext.flutter.reassemble signal is sent by development tools.
-
registerBoolServiceExtension(
{String name, ValueGetter<bool> getter, ValueSetter<bool> setter }) → void -
Registers a service extension method with the given name (full name "ext.flutter.name"), which takes a single argument "enabled" which can have the value "true" or the value "false" or can be omitted to read the current value. (Any value other than "true" is considered equivalent to "false". Other arguments are ignored.)
-
registerNumericServiceExtension(
{String name, ValueGetter<double> getter, ValueSetter<double> setter }) → void -
Registers a service extension method with the given name (full name "ext.flutter.name"), which takes a single argument with the same name as the method which, if present, must have a value that can be parsed by double.parse, and can be omitted to read the current value. (Other arguments are ignored.)
-
registerServiceExtension(
{String name, ServiceExtensionCallback callback }) → void -
Registers a service extension method with the given name (full name "ext.flutter.name"). The given callback is called when the extension method is called. The callback must return a Future that either eventually completes to a return value in the form of a name/value map where the values can all be converted to JSON using
JSON.encode
, or fails. In case of failure, the failure is reported to the remote caller and is dumped to the logs. -
registerSignalServiceExtension(
{String name, VoidCallback callback }) → void -
Registers a service extension method with the given name (full name "ext.flutter.name"), which takes no arguments and returns no value.
-
registerStringServiceExtension(
{String name, ValueGetter<String> getter, ValueSetter<String> setter }) → void -
Registers a service extension method with the given name (full name "ext.flutter.name"), which optionally takes a single argument with the name "value". If the argument is omitted, the value is to be read, otherwise it is to be set. Returns the current value.
-
toString(
) → String -
Returns a string representation of this object.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a non-existent method or property is accessed.
inherited