BloomNativeModule class abstract

Base class for all native Bloom modules bridging Dart to host iOS/Android platforms.

Encapsulates platform channel dispatching, synchronous state cache, long-running hardware event streams, typed exception translation, and lifecycle notifications.

Example:

class BloomDeviceModule extends BloomNativeModule {
  BloomDeviceModule() : super(name: 'BloomDevice');

  Future<String> getDeviceModel() async {
    final result = await invokeAsync<String>('getDeviceModel');
    return result ?? 'Unknown';
  }
}

Constructors

BloomNativeModule({required String name, String version = '1.0.0', MethodChannel? customMethodChannel, EventChannel? customEventChannel})
Creates a BloomNativeModule instance.

Properties

constants → Map<String, dynamic>
Cached static constants provided by the native platform.
no setter
eventChannel → EventChannel?
Underlying event channel for streaming continuous events from the host platform.
no setter
hashCode → int
The hash code for this object.
no setterinherited
isInitialized → bool
Whether the module is initialized and ready for platform calls.
no setter
methodChannel → MethodChannel?
Underlying method channel for dispatching calls to the host platform.
no setter
name → String
The unique module name identifier (e.g. 'BloomCamera', 'BloomLocation').
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
version → String
Semantic version of the native module contract (defaults to '1.0.0').
final

Methods

emitEvent(String streamName, dynamic payload) → void
Emits an event from native callback or test mock into the stream.
getProperty<T>(String key) → T?
Synchronously returns a locally cached property or constant.
invokeAsync<T>(String method, [Map<String, dynamic>? args, NativeThread thread = NativeThread.ui]) → Future<T?>
Invokes an asynchronous native method across the platform boundary.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onDispose() → Future<void>
Invoked when the module is unregistered from the registry or explicitly disposed.
onHostPause() → void
Invoked when the host application transitions to background.
onHostResume() → void
Invoked when the host application resumes from background into foreground.
onInit() → Future<void>
Invoked when the module is registered into BloomModuleRegistry.
setConstant(String key, dynamic value) → void
Sets a local constant or cached property in this module.
subscribeStream<T>(String streamName, [Map<String, dynamic>? args]) → Stream<T>
Subscribes to a long-running native hardware stream or event channel.
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited