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 // Note: For messages which control test flow, pick numbers that are unlikely | |
32 // to be hit as a result of our deliberate corruption of response messages. | |
33 interface CppSide { | |
34 // Sent for all tests to notify that the JS side is now ready. | |
35 StartTest@88888888(); | |
36 | |
37 // Indicates end for echo, bit-flip, and back-pointer tests. | |
38 TestFinished@99999999(); | |
39 | |
40 // Responses from specific tests. | |
41 PingResponse(); | |
42 EchoResponse(EchoArgsList list); | |
43 BitFlipResponse(EchoArgsList arg); | |
44 BackPointerResponse(EchoArgsList arg); | |
45 }; | |
46 | |
47 [Client=CppSide] | |
48 interface JsSide { | |
49 Ping(); | |
50 Echo(int32 numIterations, EchoArgs arg); | |
51 BitFlip(EchoArgs arg); | |
52 BackPointer(EchoArgs arg); | |
53 }; | |
OLD | NEW |