Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
third_party
tonic
dart_library_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 "
tonic/dart_library_natives.h
"
6
7
#include "
tonic/converter/dart_converter.h
"
8
9
namespace
tonic
{
10
11
DartLibraryNatives::DartLibraryNatives
() {}
12
13
DartLibraryNatives::~DartLibraryNatives
() {}
14
15
void
DartLibraryNatives::Register
(std::initializer_list<Entry> entries) {
16
for
(
const
Entry
& entry : entries) {
17
symbols_.emplace(entry.native_function, entry.symbol);
18
entries_.emplace(entry.symbol, entry);
19
}
20
}
21
22
Dart_NativeFunction
DartLibraryNatives::GetNativeFunction
(
23
Dart_Handle
name
,
24
int
argument_count
,
25
bool
* auto_setup_scope) {
26
std::string name_string =
StdStringFromDart
(
name
);
27
auto
it = entries_.find(name_string);
28
if
(it == entries_.end())
29
return
nullptr
;
30
const
Entry
& entry = it->second;
31
if
(entry.
argument_count
!=
argument_count
)
32
return
nullptr
;
33
*auto_setup_scope = entry.
auto_setup_scope
;
34
return
entry.
native_function
;
35
}
36
37
const
uint8_t*
DartLibraryNatives::GetSymbol
(
38
Dart_NativeFunction
native_function) {
39
auto
it = symbols_.find(native_function);
40
if
(it == symbols_.end())
41
return
nullptr
;
42
return
reinterpret_cast<
const
uint8_t*
>
(it->second);
43
}
44
45
}
// namespace tonic
tonic::DartLibraryNatives::Register
void Register(std::initializer_list< Entry > entries)
Definition
dart_library_natives.cc:15
tonic::DartLibraryNatives::DartLibraryNatives
DartLibraryNatives()
Definition
dart_library_natives.cc:11
tonic::DartLibraryNatives::~DartLibraryNatives
~DartLibraryNatives()
Definition
dart_library_natives.cc:13
tonic::DartLibraryNatives::GetSymbol
const uint8_t * GetSymbol(Dart_NativeFunction native_function)
Definition
dart_library_natives.cc:37
tonic::DartLibraryNatives::GetNativeFunction
Dart_NativeFunction GetNativeFunction(Dart_Handle name, int argument_count, bool *auto_setup_scope)
Definition
dart_library_natives.cc:22
Dart_Handle
struct _Dart_Handle * Dart_Handle
Definition
dart_api.h:258
Dart_NativeFunction
void(* Dart_NativeFunction)(Dart_NativeArguments arguments)
Definition
dart_api.h:3198
dart_converter.h
dart_library_natives.h
name
const char * name
Definition
fuchsia.cc:50
argument_count
int argument_count
Definition
fuchsia.cc:52
tonic
Definition
image_filter.h:14
tonic::StdStringFromDart
std::string StdStringFromDart(Dart_Handle handle)
Definition
dart_converter.h:590
tonic::DartLibraryNatives::Entry
Definition
dart_library_natives.h:22
tonic::DartLibraryNatives::Entry::argument_count
int argument_count
Definition
dart_library_natives.h:25
tonic::DartLibraryNatives::Entry::native_function
Dart_NativeFunction native_function
Definition
dart_library_natives.h:24
tonic::DartLibraryNatives::Entry::auto_setup_scope
bool auto_setup_scope
Definition
dart_library_natives.h:26
Generated on Fri Apr 26 2024 06:18:16 for Flutter Engine by
1.9.8