Flutter Engine
The Flutter Engine
io_service.h
Go to the documentation of this file.
1// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2// for details. All rights reserved. Use of this source code is governed by a
3// BSD-style license that can be found in the LICENSE file.
4
5#ifndef RUNTIME_BIN_IO_SERVICE_H_
6#define RUNTIME_BIN_IO_SERVICE_H_
7
8#if defined(DART_IO_SECURE_SOCKET_DISABLED)
9#error "io_service.h can only be included on builds with IO and SSL enabled"
10#endif
11
12#include "bin/builtin.h"
13#include "bin/utils.h"
14
15namespace dart {
16namespace bin {
17
18// This list must be kept in sync with the list in sdk/lib/io/io_service.dart
19#define IO_SERVICE_REQUEST_LIST(V) \
20 V(File, Exists, 0) \
21 V(File, Create, 1) \
22 V(File, Delete, 2) \
23 V(File, Rename, 3) \
24 V(File, Copy, 4) \
25 V(File, Open, 5) \
26 V(File, ResolveSymbolicLinks, 6) \
27 V(File, Close, 7) \
28 V(File, Position, 8) \
29 V(File, SetPosition, 9) \
30 V(File, Truncate, 10) \
31 V(File, Length, 11) \
32 V(File, LengthFromPath, 12) \
33 V(File, LastAccessed, 13) \
34 V(File, SetLastAccessed, 14) \
35 V(File, LastModified, 15) \
36 V(File, SetLastModified, 16) \
37 V(File, Flush, 17) \
38 V(File, ReadByte, 18) \
39 V(File, WriteByte, 19) \
40 V(File, Read, 20) \
41 V(File, ReadInto, 21) \
42 V(File, WriteFrom, 22) \
43 V(File, CreateLink, 23) \
44 V(File, DeleteLink, 24) \
45 V(File, RenameLink, 25) \
46 V(File, LinkTarget, 26) \
47 V(File, Type, 27) \
48 V(File, Identical, 28) \
49 V(File, Stat, 29) \
50 V(File, Lock, 30) \
51 V(File, CreatePipe, 31) \
52 V(Socket, Lookup, 32) \
53 V(Socket, ListInterfaces, 33) \
54 V(Socket, ReverseLookup, 34) \
55 V(Directory, Create, 35) \
56 V(Directory, Delete, 36) \
57 V(Directory, Exists, 37) \
58 V(Directory, CreateTemp, 38) \
59 V(Directory, ListStart, 39) \
60 V(Directory, ListNext, 40) \
61 V(Directory, ListStop, 41) \
62 V(Directory, Rename, 42) \
63 V(SSLFilter, ProcessFilter, 43)
64
65#define DECLARE_REQUEST(type, method, id) k##type##method##Request = id,
66
67class IOService {
68 public:
70
72
73 private:
74 DISALLOW_ALLOCATION();
75 DISALLOW_IMPLICIT_CONSTRUCTORS(IOService);
76};
77
78} // namespace bin
79} // namespace dart
80
81#endif // RUNTIME_BIN_IO_SERVICE_H_
static Dart_Port GetServicePort()
Definition: io_service.cc:57
int64_t Dart_Port
Definition: dart_api.h:1525
#define DECLARE_REQUEST(type, method, id)
Definition: io_service.h:65
Definition: dart_vm.cc:33