Flutter iOS Embedder
FlutterHeadlessDartRunner Class Reference

#import <FlutterHeadlessDartRunner.h>

Inheritance diagram for FlutterHeadlessDartRunner:
FlutterEngine <FlutterPluginRegistry>

Instance Methods

(instancetype) - initWithName:project:
 
(instancetype) - initWithName:project:allowHeadlessExecution:
 
(instancetype) - initWithName:project:allowHeadlessExecution:restorationEnabled:
 
(instancetype) - init
 
- Instance Methods inherited from FlutterEngine
(instancetype) - initWithName:
 
(instancetype) - initWithName:project:
 
(instancetype) - initWithName:project:allowHeadlessExecution:
 
(instancetype) - initWithName:project:allowHeadlessExecution:restorationEnabled:
 
(BOOL) - run
 
(BOOL) - runWithEntrypoint:
 
(BOOL) - runWithEntrypoint:initialRoute:
 
(BOOL) - runWithEntrypoint:libraryURI:
 
(BOOL) - runWithEntrypoint:libraryURI:initialRoute:
 
(BOOL) - runWithEntrypoint:libraryURI:initialRoute:entrypointArgs:
 
(void) - destroyContext
 
(void) - ensureSemanticsEnabled
 
(NSURL *observatoryUrl) - FLUTTER_DEPRECATED
 
(flutter::Shell &) - shell
 
(void) - setBinaryMessenger:
 
(flutter::IOSRenderingAPI- platformViewsRenderingAPI
 
(void) - waitForFirstFrame:callback:
 
(FlutterEngine *) - spawnWithEntrypoint:libraryURI:initialRoute:entrypointArgs:
 
(const flutter::ThreadHost &) - threadHost
 
(void) - updateDisplays
 
(void) - flutterTextInputView:performAction:withClient:
 
(void) - sceneWillEnterForeground:
 
(void) - sceneDidEnterBackground:
 
(void) - applicationWillEnterForeground:
 
(void) - applicationDidEnterBackground:
 
- Instance Methods inherited from <FlutterPluginRegistry>
(nullable NSObject< FlutterPluginRegistrar > *) - registrarForPlugin:
 
(BOOL) - hasPlugin:
 
(nullable NSObject *) - valuePublishedByPlugin:
 

Additional Inherited Members

- Properties inherited from FlutterEngine
FlutterViewControllerviewController
 
FlutterMethodChannellocalizationChannel
 
FlutterMethodChannelnavigationChannel
 
FlutterMethodChannelrestorationChannel
 
FlutterMethodChannelplatformChannel
 
FlutterMethodChanneltextInputChannel
 
FlutterBasicMessageChannellifecycleChannel
 
FlutterBasicMessageChannelsystemChannel
 
FlutterBasicMessageChannelsettingsChannel
 
FlutterBasicMessageChannelkeyEventChannel
 
NSURL * vmServiceUrl
 
NSObject< FlutterBinaryMessenger > * binaryMessenger
 
NSObject< FlutterTextureRegistry > * textureRegistry
 
NSString * isolateId
 
BOOL isGpuDisabled
 
FlutterEngineProcTable & embedderAPI
 
BOOL enableEmbedderAPI
 

Detailed Description

The deprecated FlutterHeadlessDartRunner runs Flutter Dart code with a null rasterizer, and no native drawing surface. It is appropriate for use in running Dart code e.g. in the background from a plugin.

Most callers should prefer using FlutterEngine directly; this interface exists for legacy support.

Definition at line 34 of file FlutterHeadlessDartRunner.h.

Method Documentation

◆ init

- (instancetype) init

Not recommended for use - will initialize with a default label ("io.flutter.headless") and the default FlutterDartProject.

Reimplemented from FlutterEngine.

Definition at line 57 of file FlutterHeadlessDartRunner.mm.

57  {
58  return [self initWithName:@"io.flutter.headless" project:nil];
59 }

References initWithName:project:.

◆ initWithName:project:

- (instancetype) initWithName: (NSString*)  labelPrefix
project: (FlutterDartProject*)  projectOrNil 

Initialize this FlutterHeadlessDartRunner with a FlutterDartProject.

If the FlutterDartProject is not specified, the FlutterHeadlessDartRunner will attempt to locate the project in a default location.

A newly initialized engine will not run the FlutterDartProject until either -runWithEntrypoint: or -runWithEntrypoint:libraryURI is called.

Parameters
labelPrefixThe label prefix used to identify threads for this instance. Should be unique across FlutterEngine instances
projectOrNilThe FlutterDartProject to run.

Definition at line 30 of file FlutterHeadlessDartRunner.mm.

30  :(NSString*)labelPrefix project:(FlutterDartProject*)projectOrNil {
31  return [self initWithName:labelPrefix project:projectOrNil allowHeadlessExecution:YES];
32 }

References initWithName:project:allowHeadlessExecution:.

Referenced by init.

◆ initWithName:project:allowHeadlessExecution:

- (instancetype) initWithName: (NSString*)  labelPrefix
project: (FlutterDartProject*)  projectOrNil
allowHeadlessExecution: (BOOL)  allowHeadlessExecution 

Initialize this FlutterHeadlessDartRunner with a FlutterDartProject.

If the FlutterDartProject is not specified, the FlutterHeadlessDartRunner will attempt to locate the project in a default location.

A newly initialized engine will not run the FlutterDartProject until either -runWithEntrypoint: or -runWithEntrypoint:libraryURI is called.

Parameters
labelPrefixThe label prefix used to identify threads for this instance. Should be unique across FlutterEngine instances
projectOrNilThe FlutterDartProject to run.
allowHeadlessExecutionMust be set to YES.

Definition at line 34 of file FlutterHeadlessDartRunner.mm.

34  :(NSString*)labelPrefix
35  project:(FlutterDartProject*)projectOrNil
36  allowHeadlessExecution:(BOOL)allowHeadlessExecution {
37  NSAssert(allowHeadlessExecution == YES,
38  @"Cannot initialize a FlutterHeadlessDartRunner without headless execution.");
39  return [self initWithName:labelPrefix
40  project:projectOrNil
41  allowHeadlessExecution:allowHeadlessExecution
42  restorationEnabled:NO];
43 }

References initWithName:project:allowHeadlessExecution:restorationEnabled:.

Referenced by initWithName:project:.

◆ initWithName:project:allowHeadlessExecution:restorationEnabled:

- (instancetype) initWithName: (NSString*)  labelPrefix
project: (FlutterDartProject*)  projectOrNil
allowHeadlessExecution: (BOOL)  allowHeadlessExecution
restorationEnabled: (BOOL)  NS_DESIGNATED_INITIALIZER 

Initialize this FlutterHeadlessDartRunner with a FlutterDartProject.

If the FlutterDartProject is not specified, the FlutterHeadlessDartRunner will attempt to locate the project in a default location.

A newly initialized engine will not run the FlutterDartProject until either -runWithEntrypoint: or -runWithEntrypoint:libraryURI is called.

Parameters
labelPrefixThe label prefix used to identify threads for this instance. Should be unique across FlutterEngine instances
projectOrNilThe FlutterDartProject to run.
allowHeadlessExecutionMust be set to YES.
restorationEnabledMust be set to NO.

Definition at line 45 of file FlutterHeadlessDartRunner.mm.

45  :(NSString*)labelPrefix
46  project:(FlutterDartProject*)projectOrNil
47  allowHeadlessExecution:(BOOL)allowHeadlessExecution
48  restorationEnabled:(BOOL)restorationEnabled {
49  NSAssert(allowHeadlessExecution == YES,
50  @"Cannot initialize a FlutterHeadlessDartRunner without headless execution.");
51  return [super initWithName:labelPrefix
52  project:projectOrNil
53  allowHeadlessExecution:allowHeadlessExecution
54  restorationEnabled:restorationEnabled];
55 }

References FlutterEngine::initWithName:project:allowHeadlessExecution:restorationEnabled:.

Referenced by initWithName:project:allowHeadlessExecution:.


The documentation for this class was generated from the following files:
FlutterDartProject
Definition: FlutterDartProject.mm:258