Flutter Engine
 
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
10#include "handle.h"
11#include "handle_disposition.h"
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,
31 std::vector<Handle*> handles);
32 static zx_status_t ChannelWriteEtc(
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,
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,
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 uint64_t ClockGetMonotonic();
62
63 static void RegisterNatives(tonic::DartLibraryNatives* natives);
64
65 static zx_status_t ConnectToService(std::string path,
67
68 private:
69 static void VmoMapFinalizer(void* isolate_callback_data, void* peer);
70};
71
72} // namespace dart
73} // namespace zircon
74
75#endif // FLUTTER_SHELL_PLATFORM_FUCHSIA_DART_PKG_ZIRCON_SDK_EXT_SYSTEM_H_
static Dart_Handle ChannelCreate(uint32_t options)
Definition system.cc:198
static Dart_Handle SocketCreate(uint32_t options)
Definition system.cc:396
static Dart_Handle VmoCreate(uint64_t size, uint32_t options)
Definition system.cc:442
static Dart_Handle VmoMap(fml::RefPtr< Handle > vmo)
Definition system.cc:540
static zx_status_t VmoWrite(fml::RefPtr< Handle > vmo, uint64_t offset, const tonic::DartByteData &data)
Definition system.cc:494
static Dart_Handle SocketWrite(fml::RefPtr< Handle > socket, const tonic::DartByteData &data, int options)
Definition system.cc:408
static Dart_Handle VmoRead(fml::RefPtr< Handle > vmo, uint64_t offset, size_t size)
Definition system.cc:509
static void RegisterNatives(tonic::DartLibraryNatives *natives)
Definition system.cc:603
static uint64_t ClockGetMonotonic()
Definition system.cc:568
static Dart_Handle VmoFromFile(std::string path)
Definition system.cc:453
static zx_status_t ChannelWriteEtc(fml::RefPtr< Handle > channel, const tonic::DartByteData &data, std::vector< HandleDisposition * > handle_dispositions)
Definition system.cc:267
static zx_status_t ConnectToService(std::string path, fml::RefPtr< Handle > channel)
Definition system.cc:210
static Dart_Handle ChannelQueryAndReadEtc(fml::RefPtr< Handle > channel)
Definition system.cc:343
static Dart_Handle EventpairCreate(uint32_t options)
Definition system.cc:384
static Dart_Handle ChannelFromFile(std::string path)
Definition system.cc:216
static zx_status_t ChannelWrite(fml::RefPtr< Handle > channel, const tonic::DartByteData &data, std::vector< Handle * > handles)
Definition system.cc:242
static Dart_Handle VmoGetSize(fml::RefPtr< Handle > vmo)
Definition system.cc:476
static Dart_Handle ChannelQueryAndRead(fml::RefPtr< Handle > channel)
Definition system.cc:303
static zx_status_t VmoSetSize(fml::RefPtr< Handle > vmo, uint64_t size)
Definition system.cc:487
static Dart_Handle SocketRead(fml::RefPtr< Handle > socket, size_t size)
Definition system.cc:423
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)
std::shared_ptr< const fml::Mapping > data