mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
55 lines
1.2 KiB
Plaintext
55 lines
1.2 KiB
Plaintext
module js_to_cpp;
|
|
|
|
// This struct encompasses all of the basic types, so that they
|
|
// may be sent from C++ to JS and back for validation.
|
|
struct EchoArgs {
|
|
int64 si64;
|
|
int32 si32;
|
|
int16 si16;
|
|
int8 si8;
|
|
uint64 ui64;
|
|
uint32 ui32;
|
|
uint16 ui16;
|
|
uint8 ui8;
|
|
float float_val;
|
|
float float_inf;
|
|
float float_nan;
|
|
double double_val;
|
|
double double_inf;
|
|
double double_nan;
|
|
string? name;
|
|
array<string>? string_array;
|
|
handle<message_pipe>? message_handle;
|
|
handle<data_pipe_consumer>? data_handle;
|
|
};
|
|
|
|
struct EchoArgsList {
|
|
EchoArgsList? next;
|
|
EchoArgs? item;
|
|
};
|
|
|
|
// Note: For messages which control test flow, pick numbers that are unlikely
|
|
// to be hit as a result of our deliberate corruption of response messages.
|
|
interface CppSide {
|
|
// Sent for all tests to notify that the JS side is now ready.
|
|
StartTest@88888888();
|
|
|
|
// Indicates end for echo, bit-flip, and back-pointer tests.
|
|
TestFinished@99999999();
|
|
|
|
// Responses from specific tests.
|
|
PingResponse();
|
|
EchoResponse(EchoArgsList list);
|
|
BitFlipResponse(EchoArgsList arg);
|
|
BackPointerResponse(EchoArgsList arg);
|
|
};
|
|
|
|
interface JsSide {
|
|
SetCppSide(CppSide cpp);
|
|
|
|
Ping();
|
|
Echo(int32 numIterations, EchoArgs arg);
|
|
BitFlip(EchoArgs arg);
|
|
BackPointer(EchoArgs arg);
|
|
};
|