OLD | NEW |
| (Empty) |
1 module js_to_cpp; | |
2 | |
3 // This struct encompasses all of the basic types, so that they | |
4 // may be sent from C++ to JS and back for validation. | |
5 struct EchoArgs { | |
6 int64 si64; | |
7 int32 si32; | |
8 int16 si16; | |
9 int8 si8; | |
10 uint64 ui64; | |
11 uint32 ui32; | |
12 uint16 ui16; | |
13 uint8 ui8; | |
14 float float_val; | |
15 float float_inf; | |
16 float float_nan; | |
17 double double_val; | |
18 double double_inf; | |
19 double double_nan; | |
20 string? name; | |
21 array<string>? string_array; | |
22 handle<message_pipe>? message_handle; | |
23 handle<data_pipe_consumer>? data_handle; | |
24 }; | |
25 | |
26 struct EchoArgsList { | |
27 EchoArgsList? next; | |
28 EchoArgs? item; | |
29 }; | |
30 | |
31 interface ForTesting {}; | |
32 | |
33 // Note: For messages which control test flow, pick numbers that are unlikely | |
34 // to be hit as a result of our deliberate corruption of response messages. | |
35 interface CppSide { | |
36 // Sent for all tests to notify that the JS side is now ready. | |
37 StartTest@88888888(); | |
38 | |
39 // Indicates end for echo, bit-flip, and back-pointer tests. | |
40 TestFinished@99999999(); | |
41 | |
42 // Responses from specific tests. | |
43 PingResponse(); | |
44 EchoResponse(EchoArgsList list); | |
45 | |
46 // Having an associated interface pointer in the message makes sure the | |
47 // message header version 2 is tested. | |
48 BitFlipResponse(EchoArgsList arg, associated ForTesting? not_used); | |
49 | |
50 BackPointerResponse(EchoArgsList arg); | |
51 }; | |
52 | |
53 interface JsSide { | |
54 SetCppSide(CppSide cpp); | |
55 | |
56 Ping(); | |
57 Echo(int32 numIterations, EchoArgs arg); | |
58 BitFlip(EchoArgs arg); | |
59 BackPointer(EchoArgs arg); | |
60 }; | |
OLD | NEW |