Flutter Engine Uber Docs
Docs for the entire Flutter Engine repo.
 
Loading...
Searching...
No Matches
system.h
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#ifndef FLUTTER_SHELL_PLATFORM_FUCHSIA_DART_PKG_ZIRCON_SDK_EXT_SYSTEM_H_
6#define FLUTTER_SHELL_PLATFORM_FUCHSIA_DART_PKG_ZIRCON_SDK_EXT_SYSTEM_H_
7
8#include <zircon/syscalls.h>
9
12#include "third_party/dart/runtime/include/dart_api.h"
16
17namespace zircon {
18namespace dart {
19
20class System : public fml::RefCountedThreadSafe<System>,
22 DEFINE_WRAPPERTYPEINFO();
25
26 public:
27 static Dart_Handle ChannelCreate(uint32_t options);
28 static Dart_Handle ChannelFromFile(std::string path);
29 static zx_status_t ChannelWrite(fml::RefPtr<Handle> channel,
30 const tonic::DartByteData& data,
31 std::vector<Handle*> handles);
32 static zx_status_t ChannelWriteEtc(
34 const tonic::DartByteData& data,
35 std::vector<HandleDisposition*> handle_dispositions);
36 // TODO(ianloic): Add ChannelRead
39
40 static Dart_Handle EventpairCreate(uint32_t options);
41
42 static Dart_Handle SocketCreate(uint32_t options);
43 static Dart_Handle SocketWrite(fml::RefPtr<Handle> socket,
44 const tonic::DartByteData& data,
45 int options);
46 static Dart_Handle SocketRead(fml::RefPtr<Handle> socket, size_t size);
47
48 static Dart_Handle VmoCreate(uint64_t size, uint32_t options);
49 static Dart_Handle VmoFromFile(std::string path);
50 static Dart_Handle VmoGetSize(fml::RefPtr<Handle> vmo);
51 static zx_status_t VmoSetSize(fml::RefPtr<Handle> vmo, uint64_t size);
52 static zx_status_t VmoWrite(fml::RefPtr<Handle> vmo,
53 uint64_t offset,
54 const tonic::DartByteData& data);
55 static Dart_Handle VmoRead(fml::RefPtr<Handle> vmo,
56 uint64_t offset,
57 size_t size);
58
59 static Dart_Handle VmoMap(fml::RefPtr<Handle> vmo);
60
61 static zx_status_t IobWrite(fml::RefPtr<Handle> iob,
62 uint32_t region_index,
63 const tonic::DartByteData& data);
64
65 static uint64_t ClockGetMonotonic();
66
67 static void RegisterNatives(tonic::DartLibraryNatives* natives);
68
69 static zx_status_t ConnectToService(std::string path,
71
72 private:
73 static void VmoMapFinalizer(void* isolate_callback_data, void* peer);
74};
75
76} // namespace dart
77} // namespace zircon
78
79#endif // FLUTTER_SHELL_PLATFORM_FUCHSIA_DART_PKG_ZIRCON_SDK_EXT_SYSTEM_H_
static Dart_Handle ChannelCreate(uint32_t options)
Definition system.cc:201
static Dart_Handle SocketCreate(uint32_t options)
Definition system.cc:399
static Dart_Handle VmoCreate(uint64_t size, uint32_t options)
Definition system.cc:445
static Dart_Handle VmoMap(fml::RefPtr< Handle > vmo)
Definition system.cc:543
static zx_status_t VmoWrite(fml::RefPtr< Handle > vmo, uint64_t offset, const tonic::DartByteData &data)
Definition system.cc:497
static Dart_Handle SocketWrite(fml::RefPtr< Handle > socket, const tonic::DartByteData &data, int options)
Definition system.cc:411
static Dart_Handle VmoRead(fml::RefPtr< Handle > vmo, uint64_t offset, size_t size)
Definition system.cc:512
static void RegisterNatives(tonic::DartLibraryNatives *natives)
Definition system.cc:624
static uint64_t ClockGetMonotonic()
Definition system.cc:588
static Dart_Handle VmoFromFile(std::string path)
Definition system.cc:456
static zx_status_t ChannelWriteEtc(fml::RefPtr< Handle > channel, const tonic::DartByteData &data, std::vector< HandleDisposition * > handle_dispositions)
Definition system.cc:270
static zx_status_t ConnectToService(std::string path, fml::RefPtr< Handle > channel)
Definition system.cc:213
static zx_status_t IobWrite(fml::RefPtr< Handle > iob, uint32_t region_index, const tonic::DartByteData &data)
Definition system.cc:571
static Dart_Handle ChannelQueryAndReadEtc(fml::RefPtr< Handle > channel)
Definition system.cc:346
static Dart_Handle EventpairCreate(uint32_t options)
Definition system.cc:387
static Dart_Handle ChannelFromFile(std::string path)
Definition system.cc:219
static zx_status_t ChannelWrite(fml::RefPtr< Handle > channel, const tonic::DartByteData &data, std::vector< Handle * > handles)
Definition system.cc:245
static Dart_Handle VmoGetSize(fml::RefPtr< Handle > vmo)
Definition system.cc:479
static Dart_Handle ChannelQueryAndRead(fml::RefPtr< Handle > channel)
Definition system.cc:306
static zx_status_t VmoSetSize(fml::RefPtr< Handle > vmo, uint64_t size)
Definition system.cc:490
static Dart_Handle SocketRead(fml::RefPtr< Handle > socket, size_t size)
Definition system.cc:426
const gchar * channel
it will be possible to load the file into Perfetto s trace viewer use test Running tests that layout and measure text will not yield consistent results across various platforms Enabling this option will make font resolution default to the Ahem test font on all disable asset Prevents usage of any non test fonts unless they were explicitly Loaded via dart
#define FML_FRIEND_REF_COUNTED_THREAD_SAFE(T)
#define FML_FRIEND_MAKE_REF_COUNTED(T)