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

#include <FlutterDartVMServicePublisher.h>

Inheritance diagram for FlutterDartVMServicePublisher:

Instance Methods

(instancetype) - initWithEnableVMServicePublication:
 
(instancetype) - NS_UNAVAILABLE
 

Class Methods

(instancetype) + NS_UNAVAILABLE
 

Properties

NSURL * url
 

Detailed Description

Definition at line 10 of file FlutterDartVMServicePublisher.h.

Method Documentation

◆ initWithEnableVMServicePublication:

- (instancetype) initWithEnableVMServicePublication: (BOOL NS_DESIGNATED_INITIALIZER
Initial value:

Definition at line 122 of file FlutterDartVMServicePublisher.mm.

157 :(BOOL)enableVMServicePublication {
158 self = [super init];
159 NSAssert(self, @"Super must not return null on init.");
160
161 _delegate = [[DartVMServiceDNSServiceDelegate alloc] init];
162 _enableVMServicePublication = enableVMServicePublication;
163 __weak __typeof(self) weakSelf = self;
164
165 fml::MessageLoop::EnsureInitializedForCurrentThread();
166
167 _callbackHandle = flutter::DartServiceIsolate::AddServerStatusCallback(
168 [weakSelf, runner = fml::MessageLoop::GetCurrent().GetTaskRunner()](const std::string& uri) {
169 if (!uri.empty()) {
170 runner->PostTask([weakSelf, uri]() {
171 FlutterDartVMServicePublisher* strongSelf = weakSelf;
172 // uri comes in as something like 'http://127.0.0.1:XXXXX/' where XXXXX is the port
173 // number.
174 if (strongSelf) {
175 NSURL* url =
176 [[NSURL alloc] initWithString:[NSString stringWithUTF8String:uri.c_str()]];
177 strongSelf.url = url;
178 if (strongSelf.enableVMServicePublication) {
179 [[strongSelf delegate] publishServiceProtocolPort:url];
180 }
181 }
182 });
183 }
184 });
185
186 return self;
187}
Definition ref_ptr.h:261
int BOOL

References FML_DLOG.

◆ NS_UNAVAILABLE [1/2]

- (instancetype) NS_UNAVAILABLE

◆ NS_UNAVAILABLE [2/2]

+ (instancetype) NS_UNAVAILABLE

Property Documentation

◆ url

- (NSURL*) url
readnonatomicassign

Definition at line 17 of file FlutterDartVMServicePublisher.h.


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