Flutter Engine
 
Loading...
Searching...
No Matches
FlutterHeadlessDartRunner Class Reference

#include <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
 
(nonnull instancetype) - initWithName:project:
 
(nonnull instancetype) - initWithName:project:allowHeadlessExecution:
 
(nonnull instancetype) - NS_UNAVAILABLE
 
(BOOL- runWithEntrypoint:
 
(void) - shutDownEngine
 
(instancetype) - initWithScenario:withCompletion:
 
(FlutterEngine *) - spawnWithEntrypoint:libraryURI:initialRoute:entrypointArgs:
 
(flutter::Shell &) - shell
 
(flutter::PlatformViewIOS *) - platformView
 
(void) - setBinaryMessenger:
 
(flutter::IOSRenderingAPI- platformViewsRenderingAPI
 
(void) - waitForFirstFrame:callback:
 
(const flutter::ThreadHost &) - threadHost
 
(void) - updateDisplays
 
(void) - flutterTextInputView:performAction:withClient:
 
(void) - sceneWillEnterForeground:
 
(void) - sceneDidEnterBackground:
 
(void) - applicationWillEnterForeground:
 
(void) - applicationDidEnterBackground:
 
(NSString *) - lookupKeyForAsset:
 
(NSString *) - lookupKeyForAsset:fromPackage:
 
- Instance Methods inherited from <FlutterPluginRegistry>
(nullable NSObject< FlutterPluginRegistrar > *) - registrarForPlugin:
 
(BOOL- hasPlugin:
 
(nullable NSObject *) - valuePublishedByPlugin:
 
(nonnull id< FlutterPluginRegistrar >) - registrarForPlugin:
 
(nullable NSObject *) - valuePublishedByPlugin:
 

Additional Inherited Members

- Protected Attributes inherited from FlutterEngine
 : NSObject <FlutterTextureRegistry
 
 FlutterPluginRegistry
 
- 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
 
id< FlutterBinaryMessengerbinaryMessenger
 
FlutterEngineProcTableembedderAPI
 
BOOL enableEmbedderAPI
 
NSMutableDictionary * pluginPublications
 
FlutterRestorationPluginrestorationPlugin
 
flutter::FlutterCompositormacOSCompositor
 

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 26 of file FlutterHeadlessDartRunner.mm.

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

References initWithName:project:allowHeadlessExecution:.

◆ 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 26 of file FlutterHeadlessDartRunner.mm.

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

◆ 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 26 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}
int BOOL

Referenced by init.

◆ 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 26 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}

The documentation for this class was generated from the following files: