Flutter Engine
 
Loading...
Searching...
No Matches
FlutterEngine.mm File Reference
import "flutter/shell/platform/darwin/macos/framework/Headers/FlutterEngine.h"
import "flutter/shell/platform/darwin/macos/framework/Source/FlutterEngine_Internal.h"
#include <algorithm>
#include <iostream>
#include <sstream>
#include <vector>
#include "flutter/common/constants.h"
#include "flutter/shell/platform/common/app_lifecycle_state.h"
#include "flutter/shell/platform/common/engine_switches.h"
#include "flutter/shell/platform/embedder/embedder.h"
import "flutter/shell/platform/darwin/common/InternalFlutterSwiftCommon/InternalFlutterSwiftCommon.h"
import "flutter/shell/platform/darwin/common/framework/Source/FlutterBinaryMessengerRelay.h"
import "flutter/shell/platform/darwin/macos/InternalFlutterSwift/InternalFlutterSwift.h"
import "flutter/shell/platform/darwin/macos/framework/Headers/FlutterAppDelegate.h"
import "flutter/shell/platform/darwin/macos/framework/Source/FlutterAppDelegate_Internal.h"
import "flutter/shell/platform/darwin/macos/framework/Source/FlutterCompositor.h"
import "flutter/shell/platform/darwin/macos/framework/Source/FlutterDartProject_Internal.h"
import "flutter/shell/platform/darwin/macos/framework/Source/FlutterDisplayLink.h"
import "flutter/shell/platform/darwin/macos/framework/Source/FlutterMenuPlugin.h"
import "flutter/shell/platform/darwin/macos/framework/Source/FlutterMouseCursorPlugin.h"
import "flutter/shell/platform/darwin/macos/framework/Source/FlutterPlatformViewController.h"
import "flutter/shell/platform/darwin/macos/framework/Source/FlutterRenderer.h"
import "flutter/shell/platform/darwin/macos/framework/Source/FlutterTimeConverter.h"
import "flutter/shell/platform/darwin/macos/framework/Source/FlutterVSyncWaiter.h"
import "flutter/shell/platform/darwin/macos/framework/Source/FlutterViewController_Internal.h"
import "flutter/shell/platform/darwin/macos/framework/Source/FlutterViewEngineProvider.h"

Go to the source code of this file.

Classes

class  FlutterEngineHandlerInfo
 
class  FlutterEngineRegistrar
 

Functions

static FlutterLocale FlutterLocaleFromNSLocale (NSLocale *locale)
 
static void OnPlatformMessage (const FlutterPlatformMessage *message, void *user_data)
 

Variables

NSString *const kFlutterPlatformChannel = @"@"flutter/platform"
 
NSString *const kFlutterSettingsChannel = @"@"flutter/settings"
 
NSString *const kFlutterLifecycleChannel = @"@"flutter/lifecycle"
 
static NSString *const kEnhancedUserInterfaceNotification
 The private notification for voice over.
 
static NSString *const kEnhancedUserInterfaceKey = @"@"AXEnhancedUserInterface"
 
constexpr char kTextPlainFormat [] = "text/plain"
 Clipboard plain text format.
 
FlutterTerminationCallback _terminator
 
__weak FlutterEngine_flutterEngine
 
FlutterDartProject_project
 
NSMutableDictionary< NSString *, FlutterEngineHandlerInfo * > * _messengerHandlers
 
FlutterBinaryMessengerConnection _currentMessengerConnection
 
BOOL _allowHeadlessExecution
 
_FlutterEngineAOTData_aotData
 
std::unique_ptr< flutter::FlutterCompositor_macOSCompositor
 
NSMapTable * _viewControllers
 
FlutterCompositor _compositor
 
FlutterMethodChannel_platformViewsChannel
 
FlutterPlatformViewController_platformViewController
 
FlutterWindowController_windowController
 
FlutterBasicMessageChannel_settingsChannel
 
FlutterBasicMessageChannel_accessibilityChannel
 
FlutterMethodChannel_platformChannel
 
BOOL _active
 
BOOL _visible
 
FlutterBinaryMessengerRelay_binaryMessenger
 
NSMapTable< NSNumber *, FlutterVSyncWaiter * > * _vsyncWaiters
 
__weak FlutterView_lastViewWithPointerEvent
 
FlutterKeyboardManager_keyboardManager
 
FlutterTextInputPlugin_textInputPlugin
 
BOOL _multiViewEnabled
 
FlutterViewIdentifier _nextViewIdentifier
 
static const int kMainThreadPriority = 47
 

Function Documentation

◆ FlutterLocaleFromNSLocale()

static FlutterLocale FlutterLocaleFromNSLocale ( NSLocale *  locale)
static

Constructs and returns a FlutterLocale struct corresponding to |locale|, which must outlive the returned struct.

Definition at line 47 of file FlutterEngine.mm.

47 {
48 FlutterLocale flutterLocale = {};
49 flutterLocale.struct_size = sizeof(FlutterLocale);
50 flutterLocale.language_code = [[locale objectForKey:NSLocaleLanguageCode] UTF8String];
51 flutterLocale.country_code = [[locale objectForKey:NSLocaleCountryCode] UTF8String];
52 flutterLocale.script_code = [[locale objectForKey:NSLocaleScriptCode] UTF8String];
53 flutterLocale.variant_code = [[locale objectForKey:NSLocaleVariantCode] UTF8String];
54 return flutterLocale;
55}
const char * language_code
Definition embedder.h:2259
size_t struct_size
This size of this struct. Must be sizeof(FlutterLocale).
Definition embedder.h:2255
const char * script_code
Definition embedder.h:2269
const char * country_code
Definition embedder.h:2264
const char * variant_code
Definition embedder.h:2274

References FlutterLocale::country_code, FlutterLocale::language_code, FlutterLocale::script_code, FlutterLocale::struct_size, and FlutterLocale::variant_code.

◆ OnPlatformMessage()

static void OnPlatformMessage ( const FlutterPlatformMessage message,
void *  user_data 
)
static

Definition at line 412 of file FlutterEngine.mm.

412 {
414 [engine engineCallbackOnPlatformMessage:message];
415}
FlutterEngine engine
Definition main.cc:84
G_BEGIN_DECLS GBytes * message

References engine, and user_data.

Variable Documentation

◆ _accessibilityChannel

FlutterBasicMessageChannel* _accessibilityChannel

Definition at line 466 of file FlutterEngine.mm.

◆ _active

BOOL _active

Definition at line 472 of file FlutterEngine.mm.

◆ _allowHeadlessExecution

BOOL _allowHeadlessExecution

Definition at line 434 of file FlutterEngine.mm.

◆ _aotData

Definition at line 437 of file FlutterEngine.mm.

◆ _binaryMessenger

FlutterBinaryMessengerRelay* _binaryMessenger

Definition at line 478 of file FlutterEngine.mm.

◆ _compositor

FlutterCompositor _compositor

Definition at line 449 of file FlutterEngine.mm.

◆ _currentMessengerConnection

FlutterBinaryMessengerConnection _currentMessengerConnection

Definition at line 431 of file FlutterEngine.mm.

◆ _flutterEngine

__weak FlutterEngine* _flutterEngine
Initial value:
{
NSString* _pluginKey

Definition at line 329 of file FlutterEngine.mm.

◆ _keyboardManager

FlutterKeyboardManager* _keyboardManager

Definition at line 489 of file FlutterEngine.mm.

◆ _lastViewWithPointerEvent

__weak FlutterView* _lastViewWithPointerEvent

Definition at line 486 of file FlutterEngine.mm.

◆ _macOSCompositor

std::unique_ptr<flutter::FlutterCompositor> _macOSCompositor

Definition at line 441 of file FlutterEngine.mm.

◆ _messengerHandlers

NSMutableDictionary<NSString*, FlutterEngineHandlerInfo*>* _messengerHandlers

Definition at line 427 of file FlutterEngine.mm.

◆ _multiViewEnabled

BOOL _multiViewEnabled

Definition at line 497 of file FlutterEngine.mm.

◆ _nextViewIdentifier

FlutterViewIdentifier _nextViewIdentifier

Definition at line 501 of file FlutterEngine.mm.

◆ _platformChannel

FlutterMethodChannel* _platformChannel

Definition at line 469 of file FlutterEngine.mm.

◆ _platformViewController

FlutterPlatformViewController* _platformViewController

Definition at line 457 of file FlutterEngine.mm.

◆ _platformViewsChannel

FlutterMethodChannel* _platformViewsChannel

Definition at line 453 of file FlutterEngine.mm.

◆ _project

FlutterDartProject* _project
Initial value:
{
#define FLUTTER_API_SYMBOL(symbol)
Definition embedder.h:67

Definition at line 424 of file FlutterEngine.mm.

◆ _settingsChannel

FlutterBasicMessageChannel* _settingsChannel

Definition at line 463 of file FlutterEngine.mm.

◆ _terminator

Initial value:
{
__weak FlutterEngine* _engine

Definition at line 196 of file FlutterEngine.mm.

◆ _textInputPlugin

FlutterTextInputPlugin* _textInputPlugin

Definition at line 492 of file FlutterEngine.mm.

◆ _viewControllers

NSMapTable* _viewControllers

Definition at line 446 of file FlutterEngine.mm.

◆ _visible

BOOL _visible

Definition at line 475 of file FlutterEngine.mm.

◆ _vsyncWaiters

NSMapTable<NSNumber*, FlutterVSyncWaiter*>* _vsyncWaiters

Definition at line 482 of file FlutterEngine.mm.

◆ _windowController

FlutterWindowController* _windowController

Definition at line 460 of file FlutterEngine.mm.

◆ kEnhancedUserInterfaceKey

NSString* const kEnhancedUserInterfaceKey = @"@"AXEnhancedUserInterface"
static

Definition at line 60 of file FlutterEngine.mm.

◆ kEnhancedUserInterfaceNotification

NSString* const kEnhancedUserInterfaceNotification
static
Initial value:
=
@"@"NSApplicationDidChangeAccessibilityEnhancedUserInterfaceNotification"

The private notification for voice over.

Definition at line 58 of file FlutterEngine.mm.

◆ kFlutterLifecycleChannel

NSString* const kFlutterLifecycleChannel = @"@"flutter/lifecycle"

Definition at line 39 of file FlutterEngine.mm.

◆ kFlutterPlatformChannel

NSString* const kFlutterPlatformChannel = @"@"flutter/platform"

Definition at line 37 of file FlutterEngine.mm.

◆ kFlutterSettingsChannel

NSString* const kFlutterSettingsChannel = @"@"flutter/settings"

Definition at line 38 of file FlutterEngine.mm.

◆ kMainThreadPriority

const int kMainThreadPriority = 47
static

Definition at line 510 of file FlutterEngine.mm.

Referenced by FlutterEngine::shutDownEngine.

◆ kTextPlainFormat

constexpr char kTextPlainFormat[] = "text/plain"
constexpr

Clipboard plain text format.

Definition at line 63 of file FlutterEngine.mm.