Flutter Engine
Loading...
Searching...
No Matches
isolate_name_server_natives.cc
Go to the documentation of this file.
1
// Copyright 2013 The Flutter Authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
4
5
#include "
flutter/lib/ui/isolate_name_server/isolate_name_server_natives.h
"
6
7
#include <string>
8
9
#include "
flutter/lib/ui/isolate_name_server/isolate_name_server.h
"
10
#include "
flutter/lib/ui/ui_dart_state.h
"
11
#include "
third_party/tonic/dart_binding_macros.h
"
12
#include "
third_party/tonic/dart_library_natives.h
"
13
14
namespace
flutter
{
15
16
Dart_Handle
IsolateNameServerNatives::LookupPortByName
(
17
const
std::string&
name
) {
18
auto
name_server =
UIDartState::Current
()->
GetIsolateNameServer
();
19
if
(!name_server) {
20
return
Dart_Null();
21
}
22
Dart_PortEx port = name_server->LookupIsolatePortByName(
name
);
23
if
(port.port_id == ILLEGAL_PORT) {
24
return
Dart_Null();
25
}
26
return
Dart_NewSendPortEx(port);
27
}
28
29
bool
IsolateNameServerNatives::RegisterPortWithName
(Dart_Handle port_handle,
30
const
std::string&
name
) {
31
auto
name_server =
UIDartState::Current
()->
GetIsolateNameServer
();
32
if
(!name_server) {
33
return
false
;
34
}
35
Dart_PortEx port;
36
Dart_SendPortGetIdEx(port_handle, &port);
37
if
(!name_server->RegisterIsolatePortWithName(port,
name
)) {
38
return
false
;
39
}
40
return
true
;
41
}
42
43
bool
IsolateNameServerNatives::RemovePortNameMapping
(
const
std::string&
name
) {
44
auto
name_server =
UIDartState::Current
()->
GetIsolateNameServer
();
45
if
(!name_server || !name_server->RemoveIsolateNameMapping(
name
)) {
46
return
false
;
47
}
48
return
true
;
49
}
50
51
}
// namespace flutter
flutter::IsolateNameServerNatives::LookupPortByName
static Dart_Handle LookupPortByName(const std::string &name)
Definition
isolate_name_server_natives.cc:16
flutter::IsolateNameServerNatives::RegisterPortWithName
static bool RegisterPortWithName(Dart_Handle port_handle, const std::string &name)
Definition
isolate_name_server_natives.cc:29
flutter::IsolateNameServerNatives::RemovePortNameMapping
static bool RemovePortNameMapping(const std::string &name)
Definition
isolate_name_server_natives.cc:43
flutter::UIDartState::GetIsolateNameServer
std::shared_ptr< IsolateNameServer > GetIsolateNameServer() const
Definition
ui_dart_state.cc:204
flutter::UIDartState::Current
static UIDartState * Current()
Definition
ui_dart_state.cc:116
dart_binding_macros.h
dart_library_natives.h
isolate_name_server.h
isolate_name_server_natives.h
flutter
Definition
asset_manager.cc:10
flutter::name
DEF_SWITCHES_START aot vmservice shared library name
Definition
switch_defs.h:27
ui_dart_state.h
lib
ui
isolate_name_server
isolate_name_server_natives.cc
Generated on Wed Nov 5 2025 21:33:14 for Flutter Engine by
1.9.8