[pigeon] transitioned compilation tests to platform tests (#387)

This commit is contained in:
gaaclarke
2021-06-25 14:07:50 -07:00
committed by GitHub
parent 2db5e2dce7
commit 66a6816b6e
19 changed files with 118 additions and 1061 deletions

View File

@ -1,6 +1,4 @@
build/ build/
platform_tests/ios_unit_tests/ios/Runner/messages.h
platform_tests/ios_unit_tests/ios/Runner/messages.m
xcuserdata/ xcuserdata/
.gradle/ .gradle/
.flutter-plugins .flutter-plugins

View File

@ -6,7 +6,7 @@ import 'package:pigeon/pigeon.dart';
@ConfigurePigeon(PigeonOptions( @ConfigurePigeon(PigeonOptions(
objcOptions: ObjcOptions( objcOptions: ObjcOptions(
prefix: 'AC', prefix: 'H2F',
), ),
)) ))
class SearchRequest { class SearchRequest {

View File

@ -9,7 +9,7 @@ import 'package:pigeon/pigeon.dart';
@ConfigurePigeon(PigeonOptions( @ConfigurePigeon(PigeonOptions(
javaOptions: JavaOptions( javaOptions: JavaOptions(
className: 'Pigeon', className: 'MessagePigeon',
package: 'dev.flutter.aaclarke.pigeon', package: 'dev.flutter.aaclarke.pigeon',
), ),
objcOptions: ObjcOptions( objcOptions: ObjcOptions(

View File

@ -1,275 +0,0 @@
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Autogenerated from Pigeon (v0.2.1), do not edit directly.
// See also: https://pub.dev/packages/pigeon
package com.example.android_unit_tests;
import io.flutter.plugin.common.BasicMessageChannel;
import io.flutter.plugin.common.BinaryMessenger;
import io.flutter.plugin.common.StandardMessageCodec;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/** Generated class from Pigeon. */
@SuppressWarnings({"unused", "unchecked", "CodeBlock2Expr", "RedundantSuppression"})
public class AllDatatypes {
/** Generated class from Pigeon that represents data sent in messages. */
public static class Everything {
private Boolean aBool;
public Boolean getABool() {
return aBool;
}
public void setABool(Boolean setterArg) {
this.aBool = setterArg;
}
private Long anInt;
public Long getAnInt() {
return anInt;
}
public void setAnInt(Long setterArg) {
this.anInt = setterArg;
}
private Double aDouble;
public Double getADouble() {
return aDouble;
}
public void setADouble(Double setterArg) {
this.aDouble = setterArg;
}
private String aString;
public String getAString() {
return aString;
}
public void setAString(String setterArg) {
this.aString = setterArg;
}
private byte[] aByteArray;
public byte[] getAByteArray() {
return aByteArray;
}
public void setAByteArray(byte[] setterArg) {
this.aByteArray = setterArg;
}
private int[] a4ByteArray;
public int[] getA4ByteArray() {
return a4ByteArray;
}
public void setA4ByteArray(int[] setterArg) {
this.a4ByteArray = setterArg;
}
private long[] a8ByteArray;
public long[] getA8ByteArray() {
return a8ByteArray;
}
public void setA8ByteArray(long[] setterArg) {
this.a8ByteArray = setterArg;
}
private double[] aFloatArray;
public double[] getAFloatArray() {
return aFloatArray;
}
public void setAFloatArray(double[] setterArg) {
this.aFloatArray = setterArg;
}
private List<Object> aList;
public List<Object> getAList() {
return aList;
}
public void setAList(List<Object> setterArg) {
this.aList = setterArg;
}
private Map<Object, Object> aMap;
public Map<Object, Object> getAMap() {
return aMap;
}
public void setAMap(Map<Object, Object> setterArg) {
this.aMap = setterArg;
}
Map<String, Object> toMap() {
Map<String, Object> toMapResult = new HashMap<>();
toMapResult.put("aBool", aBool);
toMapResult.put("anInt", anInt);
toMapResult.put("aDouble", aDouble);
toMapResult.put("aString", aString);
toMapResult.put("aByteArray", aByteArray);
toMapResult.put("a4ByteArray", a4ByteArray);
toMapResult.put("a8ByteArray", a8ByteArray);
toMapResult.put("aFloatArray", aFloatArray);
toMapResult.put("aList", aList);
toMapResult.put("aMap", aMap);
return toMapResult;
}
static Everything fromMap(Map<String, Object> map) {
Everything fromMapResult = new Everything();
Object aBool = map.get("aBool");
fromMapResult.aBool = (Boolean) aBool;
Object anInt = map.get("anInt");
fromMapResult.anInt =
(anInt == null) ? null : ((anInt instanceof Integer) ? (Integer) anInt : (Long) anInt);
Object aDouble = map.get("aDouble");
fromMapResult.aDouble = (Double) aDouble;
Object aString = map.get("aString");
fromMapResult.aString = (String) aString;
Object aByteArray = map.get("aByteArray");
fromMapResult.aByteArray = (byte[]) aByteArray;
Object a4ByteArray = map.get("a4ByteArray");
fromMapResult.a4ByteArray = (int[]) a4ByteArray;
Object a8ByteArray = map.get("a8ByteArray");
fromMapResult.a8ByteArray = (long[]) a8ByteArray;
Object aFloatArray = map.get("aFloatArray");
fromMapResult.aFloatArray = (double[]) aFloatArray;
Object aList = map.get("aList");
fromMapResult.aList = (List<Object>) aList;
Object aMap = map.get("aMap");
fromMapResult.aMap = (Map<Object, Object>) aMap;
return fromMapResult;
}
}
/** Generated class from Pigeon that represents Flutter messages that can be called from Java. */
public static class FlutterEverything {
private final BinaryMessenger binaryMessenger;
public FlutterEverything(BinaryMessenger argBinaryMessenger) {
this.binaryMessenger = argBinaryMessenger;
}
public interface Reply<T> {
void reply(T reply);
}
public void giveMeEverything(Reply<Everything> callback) {
BasicMessageChannel<Object> channel =
new BasicMessageChannel<>(
binaryMessenger,
"dev.flutter.pigeon.FlutterEverything.giveMeEverything",
new StandardMessageCodec());
channel.send(
null,
channelReply -> {
Map outputMap = (Map) channelReply;
@SuppressWarnings("ConstantConditions")
Everything output = Everything.fromMap(outputMap);
callback.reply(output);
});
}
public void echo(Everything argInput, Reply<Everything> callback) {
BasicMessageChannel<Object> channel =
new BasicMessageChannel<>(
binaryMessenger,
"dev.flutter.pigeon.FlutterEverything.echo",
new StandardMessageCodec());
Map<String, Object> inputMap = argInput.toMap();
channel.send(
inputMap,
channelReply -> {
Map outputMap = (Map) channelReply;
@SuppressWarnings("ConstantConditions")
Everything output = Everything.fromMap(outputMap);
callback.reply(output);
});
}
}
/** Generated interface from Pigeon that represents a handler of messages from Flutter. */
public interface HostEverything {
Everything giveMeEverything();
Everything echo(Everything arg);
/** Sets up an instance of `HostEverything` to handle messages through the `binaryMessenger`. */
static void setup(BinaryMessenger binaryMessenger, HostEverything api) {
{
BasicMessageChannel<Object> channel =
new BasicMessageChannel<>(
binaryMessenger,
"dev.flutter.pigeon.HostEverything.giveMeEverything",
new StandardMessageCodec());
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
Map<String, Object> wrapped = new HashMap<>();
try {
Everything output = api.giveMeEverything();
wrapped.put("result", output.toMap());
} catch (Error | RuntimeException exception) {
wrapped.put("error", wrapError(exception));
}
reply.reply(wrapped);
});
} else {
channel.setMessageHandler(null);
}
}
{
BasicMessageChannel<Object> channel =
new BasicMessageChannel<>(
binaryMessenger,
"dev.flutter.pigeon.HostEverything.echo",
new StandardMessageCodec());
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
Map<String, Object> wrapped = new HashMap<>();
try {
@SuppressWarnings("ConstantConditions")
Everything input = Everything.fromMap((Map<String, Object>) message);
Everything output = api.echo(input);
wrapped.put("result", output.toMap());
} catch (Error | RuntimeException exception) {
wrapped.put("error", wrapError(exception));
}
reply.reply(wrapped);
});
} else {
channel.setMessageHandler(null);
}
}
}
}
private static Map<String, Object> wrapError(Throwable exception) {
Map<String, Object> errorMap = new HashMap<>();
errorMap.put("message", exception.toString());
errorMap.put("code", exception.getClass().getSimpleName());
errorMap.put("details", null);
return errorMap;
}
}

View File

@ -1,181 +0,0 @@
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Autogenerated from Pigeon (v0.2.1), do not edit directly.
// See also: https://pub.dev/packages/pigeon
package com.example.android_unit_tests;
import io.flutter.plugin.common.BasicMessageChannel;
import io.flutter.plugin.common.BinaryMessenger;
import io.flutter.plugin.common.StandardMessageCodec;
import java.util.HashMap;
import java.util.Map;
/** Generated class from Pigeon. */
@SuppressWarnings({"unused", "unchecked", "CodeBlock2Expr", "RedundantSuppression"})
public class Pigeon {
public enum LoadingState {
loading(0),
complete(1);
private int index;
private LoadingState(final int index) {
this.index = index;
}
}
/** Generated class from Pigeon that represents data sent in messages. */
public static class NestedRequest {
private String context;
public String getContext() {
return context;
}
public void setContext(String setterArg) {
this.context = setterArg;
}
private SetRequest request;
public SetRequest getRequest() {
return request;
}
public void setRequest(SetRequest setterArg) {
this.request = setterArg;
}
Map<String, Object> toMap() {
Map<String, Object> toMapResult = new HashMap<>();
toMapResult.put("context", context);
toMapResult.put("request", request.toMap());
return toMapResult;
}
static NestedRequest fromMap(Map<String, Object> map) {
NestedRequest fromMapResult = new NestedRequest();
Object context = map.get("context");
fromMapResult.context = (String) context;
Object request = map.get("request");
fromMapResult.request = SetRequest.fromMap((Map) request);
return fromMapResult;
}
}
/** Generated class from Pigeon that represents data sent in messages. */
public static class SetRequest {
private Long value;
public Long getValue() {
return value;
}
public void setValue(Long setterArg) {
this.value = setterArg;
}
private LoadingState state;
public LoadingState getState() {
return state;
}
public void setState(LoadingState setterArg) {
this.state = setterArg;
}
Map<String, Object> toMap() {
Map<String, Object> toMapResult = new HashMap<>();
toMapResult.put("value", value);
toMapResult.put("state", state.index);
return toMapResult;
}
static SetRequest fromMap(Map<String, Object> map) {
SetRequest fromMapResult = new SetRequest();
Object value = map.get("value");
fromMapResult.value =
(value == null) ? null : ((value instanceof Integer) ? (Integer) value : (Long) value);
Object state = map.get("state");
fromMapResult.state = LoadingState.values()[(int) state];
return fromMapResult;
}
}
/** Generated interface from Pigeon that represents a handler of messages from Flutter. */
public interface NestedApi {
void setValueWithContext(NestedRequest arg);
/** Sets up an instance of `NestedApi` to handle messages through the `binaryMessenger`. */
static void setup(BinaryMessenger binaryMessenger, NestedApi api) {
{
BasicMessageChannel<Object> channel =
new BasicMessageChannel<>(
binaryMessenger,
"dev.flutter.pigeon.NestedApi.setValueWithContext",
new StandardMessageCodec());
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
Map<String, Object> wrapped = new HashMap<>();
try {
@SuppressWarnings("ConstantConditions")
NestedRequest input = NestedRequest.fromMap((Map<String, Object>) message);
api.setValueWithContext(input);
wrapped.put("result", null);
} catch (Error | RuntimeException exception) {
wrapped.put("error", wrapError(exception));
}
reply.reply(wrapped);
});
} else {
channel.setMessageHandler(null);
}
}
}
}
/** Generated interface from Pigeon that represents a handler of messages from Flutter. */
public interface Api {
void setValue(SetRequest arg);
/** Sets up an instance of `Api` to handle messages through the `binaryMessenger`. */
static void setup(BinaryMessenger binaryMessenger, Api api) {
{
BasicMessageChannel<Object> channel =
new BasicMessageChannel<>(
binaryMessenger, "dev.flutter.pigeon.Api.setValue", new StandardMessageCodec());
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
Map<String, Object> wrapped = new HashMap<>();
try {
@SuppressWarnings("ConstantConditions")
SetRequest input = SetRequest.fromMap((Map<String, Object>) message);
api.setValue(input);
wrapped.put("result", null);
} catch (Error | RuntimeException exception) {
wrapped.put("error", wrapError(exception));
}
reply.reply(wrapped);
});
} else {
channel.setMessageHandler(null);
}
}
}
}
private static Map<String, Object> wrapError(Throwable exception) {
Map<String, Object> errorMap = new HashMap<>();
errorMap.put("message", exception.toString());
errorMap.put("code", exception.getClass().getSimpleName());
errorMap.put("details", null);
return errorMap;
}
}

View File

@ -7,12 +7,18 @@
objects = { objects = {
/* Begin PBXBuildFile section */ /* Begin PBXBuildFile section */
0D50126D23FF759100CD5B95 /* messages.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D50126B23FF759100CD5B95 /* messages.m */; };
0D50127523FF75B100CD5B95 /* RunnerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D50127423FF75B100CD5B95 /* RunnerTests.m */; }; 0D50127523FF75B100CD5B95 /* RunnerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D50127423FF75B100CD5B95 /* RunnerTests.m */; };
0D8C35E825D45A3000B76435 /* async_handlers.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D8C35E725D45A3000B76435 /* async_handlers.m */; };
0D8C35EB25D45A7900B76435 /* AsyncHandlersTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D8C35EA25D45A7900B76435 /* AsyncHandlersTest.m */; }; 0D8C35EB25D45A7900B76435 /* AsyncHandlersTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D8C35EA25D45A7900B76435 /* AsyncHandlersTest.m */; };
0DD2E690266FDB7000A7D764 /* enum.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DD2E68F266FDB7000A7D764 /* enum.m */; }; 0DD2E6BA2684031300A7D764 /* void_arg_host.gen.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DD2E6A62684031200A7D764 /* void_arg_host.gen.m */; };
0DF4E5C3266ECF0400AEA855 /* all_datatypes.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DF4E5C2266ECF0400AEA855 /* all_datatypes.m */; }; 0DD2E6BB2684031300A7D764 /* list.gen.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DD2E6A72684031200A7D764 /* list.gen.m */; };
0DD2E6BC2684031300A7D764 /* host2flutter.gen.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DD2E6AB2684031300A7D764 /* host2flutter.gen.m */; };
0DD2E6BD2684031300A7D764 /* async_handlers.gen.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DD2E6AF2684031300A7D764 /* async_handlers.gen.m */; };
0DD2E6BE2684031300A7D764 /* message.gen.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DD2E6B02684031300A7D764 /* message.gen.m */; };
0DD2E6BF2684031300A7D764 /* enum.gen.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DD2E6B12684031300A7D764 /* enum.gen.m */; };
0DD2E6C02684031300A7D764 /* all_datatypes.gen.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DD2E6B22684031300A7D764 /* all_datatypes.gen.m */; };
0DD2E6C12684031300A7D764 /* voidhost.gen.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DD2E6B52684031300A7D764 /* voidhost.gen.m */; };
0DD2E6C22684031300A7D764 /* voidflutter.gen.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DD2E6B62684031300A7D764 /* voidflutter.gen.m */; };
0DD2E6C32684031300A7D764 /* void_arg_flutter.gen.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DD2E6B82684031300A7D764 /* void_arg_flutter.gen.m */; };
0DF4E5C5266ECF4A00AEA855 /* AllDatatypesTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DF4E5C4266ECF4A00AEA855 /* AllDatatypesTest.m */; }; 0DF4E5C5266ECF4A00AEA855 /* AllDatatypesTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DF4E5C4266ECF4A00AEA855 /* AllDatatypesTest.m */; };
0DF4E5C8266ED80900AEA855 /* EchoMessenger.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DF4E5C7266ED80900AEA855 /* EchoMessenger.m */; }; 0DF4E5C8266ED80900AEA855 /* EchoMessenger.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DF4E5C7266ED80900AEA855 /* EchoMessenger.m */; };
0DF4E5CB266FDAE300AEA855 /* EnumTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DF4E5CA266FDAE300AEA855 /* EnumTest.m */; }; 0DF4E5CB266FDAE300AEA855 /* EnumTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DF4E5CA266FDAE300AEA855 /* EnumTest.m */; };
@ -49,18 +55,30 @@
/* End PBXCopyFilesBuildPhase section */ /* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
0D50126B23FF759100CD5B95 /* messages.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = messages.m; sourceTree = "<group>"; };
0D50126C23FF759100CD5B95 /* messages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = messages.h; sourceTree = "<group>"; };
0D50127223FF75B100CD5B95 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 0D50127223FF75B100CD5B95 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
0D50127423FF75B100CD5B95 /* RunnerTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RunnerTests.m; sourceTree = "<group>"; }; 0D50127423FF75B100CD5B95 /* RunnerTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RunnerTests.m; sourceTree = "<group>"; };
0D50127623FF75B100CD5B95 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; 0D50127623FF75B100CD5B95 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
0D8C35E625D45A3000B76435 /* async_handlers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = async_handlers.h; sourceTree = "<group>"; };
0D8C35E725D45A3000B76435 /* async_handlers.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = async_handlers.m; sourceTree = "<group>"; };
0D8C35EA25D45A7900B76435 /* AsyncHandlersTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AsyncHandlersTest.m; sourceTree = "<group>"; }; 0D8C35EA25D45A7900B76435 /* AsyncHandlersTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AsyncHandlersTest.m; sourceTree = "<group>"; };
0DD2E68E266FDB7000A7D764 /* enum.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = enum.h; sourceTree = "<group>"; }; 0DD2E6A62684031200A7D764 /* void_arg_host.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = void_arg_host.gen.m; sourceTree = "<group>"; };
0DD2E68F266FDB7000A7D764 /* enum.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = enum.m; sourceTree = "<group>"; }; 0DD2E6A72684031200A7D764 /* list.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = list.gen.m; sourceTree = "<group>"; };
0DF4E5C1266ECF0400AEA855 /* all_datatypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = all_datatypes.h; sourceTree = "<group>"; }; 0DD2E6A82684031200A7D764 /* host2flutter.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = host2flutter.gen.h; sourceTree = "<group>"; };
0DF4E5C2266ECF0400AEA855 /* all_datatypes.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = all_datatypes.m; sourceTree = "<group>"; }; 0DD2E6A92684031200A7D764 /* voidhost.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = voidhost.gen.h; sourceTree = "<group>"; };
0DD2E6AA2684031300A7D764 /* all_datatypes.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = all_datatypes.gen.h; sourceTree = "<group>"; };
0DD2E6AB2684031300A7D764 /* host2flutter.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = host2flutter.gen.m; sourceTree = "<group>"; };
0DD2E6AC2684031300A7D764 /* void_arg_flutter.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = void_arg_flutter.gen.h; sourceTree = "<group>"; };
0DD2E6AD2684031300A7D764 /* list.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = list.gen.h; sourceTree = "<group>"; };
0DD2E6AE2684031300A7D764 /* async_handlers.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = async_handlers.gen.h; sourceTree = "<group>"; };
0DD2E6AF2684031300A7D764 /* async_handlers.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = async_handlers.gen.m; sourceTree = "<group>"; };
0DD2E6B02684031300A7D764 /* message.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = message.gen.m; sourceTree = "<group>"; };
0DD2E6B12684031300A7D764 /* enum.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = enum.gen.m; sourceTree = "<group>"; };
0DD2E6B22684031300A7D764 /* all_datatypes.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = all_datatypes.gen.m; sourceTree = "<group>"; };
0DD2E6B32684031300A7D764 /* voidflutter.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = voidflutter.gen.h; sourceTree = "<group>"; };
0DD2E6B42684031300A7D764 /* message.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = message.gen.h; sourceTree = "<group>"; };
0DD2E6B52684031300A7D764 /* voidhost.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = voidhost.gen.m; sourceTree = "<group>"; };
0DD2E6B62684031300A7D764 /* voidflutter.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = voidflutter.gen.m; sourceTree = "<group>"; };
0DD2E6B72684031300A7D764 /* enum.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = enum.gen.h; sourceTree = "<group>"; };
0DD2E6B82684031300A7D764 /* void_arg_flutter.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = void_arg_flutter.gen.m; sourceTree = "<group>"; };
0DD2E6B92684031300A7D764 /* void_arg_host.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = void_arg_host.gen.h; sourceTree = "<group>"; };
0DF4E5C4266ECF4A00AEA855 /* AllDatatypesTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AllDatatypesTest.m; sourceTree = "<group>"; }; 0DF4E5C4266ECF4A00AEA855 /* AllDatatypesTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AllDatatypesTest.m; sourceTree = "<group>"; };
0DF4E5C6266ED80900AEA855 /* EchoMessenger.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EchoMessenger.h; sourceTree = "<group>"; }; 0DF4E5C6266ED80900AEA855 /* EchoMessenger.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EchoMessenger.h; sourceTree = "<group>"; };
0DF4E5C7266ED80900AEA855 /* EchoMessenger.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EchoMessenger.m; sourceTree = "<group>"; }; 0DF4E5C7266ED80900AEA855 /* EchoMessenger.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EchoMessenger.m; sourceTree = "<group>"; };
@ -146,14 +164,26 @@
97C146F01CF9000F007C117D /* Runner */ = { 97C146F01CF9000F007C117D /* Runner */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
0DD2E68E266FDB7000A7D764 /* enum.h */, 0DD2E6AA2684031300A7D764 /* all_datatypes.gen.h */,
0DD2E68F266FDB7000A7D764 /* enum.m */, 0DD2E6B22684031300A7D764 /* all_datatypes.gen.m */,
0DF4E5C1266ECF0400AEA855 /* all_datatypes.h */, 0DD2E6AE2684031300A7D764 /* async_handlers.gen.h */,
0DF4E5C2266ECF0400AEA855 /* all_datatypes.m */, 0DD2E6AF2684031300A7D764 /* async_handlers.gen.m */,
0D8C35E625D45A3000B76435 /* async_handlers.h */, 0DD2E6B72684031300A7D764 /* enum.gen.h */,
0D8C35E725D45A3000B76435 /* async_handlers.m */, 0DD2E6B12684031300A7D764 /* enum.gen.m */,
0D50126C23FF759100CD5B95 /* messages.h */, 0DD2E6A82684031200A7D764 /* host2flutter.gen.h */,
0D50126B23FF759100CD5B95 /* messages.m */, 0DD2E6AB2684031300A7D764 /* host2flutter.gen.m */,
0DD2E6AD2684031300A7D764 /* list.gen.h */,
0DD2E6A72684031200A7D764 /* list.gen.m */,
0DD2E6B42684031300A7D764 /* message.gen.h */,
0DD2E6B02684031300A7D764 /* message.gen.m */,
0DD2E6AC2684031300A7D764 /* void_arg_flutter.gen.h */,
0DD2E6B82684031300A7D764 /* void_arg_flutter.gen.m */,
0DD2E6B92684031300A7D764 /* void_arg_host.gen.h */,
0DD2E6A62684031200A7D764 /* void_arg_host.gen.m */,
0DD2E6B32684031300A7D764 /* voidflutter.gen.h */,
0DD2E6B62684031300A7D764 /* voidflutter.gen.m */,
0DD2E6A92684031200A7D764 /* voidhost.gen.h */,
0DD2E6B52684031300A7D764 /* voidhost.gen.m */,
7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */, 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */,
7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */, 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */,
97C146FA1CF9000F007C117D /* Main.storyboard */, 97C146FA1CF9000F007C117D /* Main.storyboard */,
@ -323,13 +353,19 @@
isa = PBXSourcesBuildPhase; isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
0DD2E6BD2684031300A7D764 /* async_handlers.gen.m in Sources */,
0DD2E6C12684031300A7D764 /* voidhost.gen.m in Sources */,
0DD2E6BB2684031300A7D764 /* list.gen.m in Sources */,
978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */, 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */,
0D50126D23FF759100CD5B95 /* messages.m in Sources */, 0DD2E6C32684031300A7D764 /* void_arg_flutter.gen.m in Sources */,
0DD2E6C22684031300A7D764 /* voidflutter.gen.m in Sources */,
0DD2E6C02684031300A7D764 /* all_datatypes.gen.m in Sources */,
97C146F31CF9000F007C117D /* main.m in Sources */, 97C146F31CF9000F007C117D /* main.m in Sources */,
0DF4E5C3266ECF0400AEA855 /* all_datatypes.m in Sources */, 0DD2E6BC2684031300A7D764 /* host2flutter.gen.m in Sources */,
0DD2E6BE2684031300A7D764 /* message.gen.m in Sources */,
0DD2E6BA2684031300A7D764 /* void_arg_host.gen.m in Sources */,
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */,
0DD2E690266FDB7000A7D764 /* enum.m in Sources */, 0DD2E6BF2684031300A7D764 /* enum.gen.m in Sources */,
0D8C35E825D45A3000B76435 /* async_handlers.m in Sources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };

View File

@ -0,0 +1,2 @@
*.gen.h
*.gen.m

View File

@ -1,41 +0,0 @@
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Autogenerated from Pigeon (v0.2.1), do not edit directly.
// See also: https://pub.dev/packages/pigeon
#import <Foundation/Foundation.h>
@protocol FlutterBinaryMessenger;
@class FlutterError;
@class FlutterStandardTypedData;
NS_ASSUME_NONNULL_BEGIN
@class Everything;
@interface Everything : NSObject
@property(nonatomic, strong, nullable) NSNumber *aBool;
@property(nonatomic, strong, nullable) NSNumber *anInt;
@property(nonatomic, strong, nullable) NSNumber *aDouble;
@property(nonatomic, copy, nullable) NSString *aString;
@property(nonatomic, strong, nullable) FlutterStandardTypedData *aByteArray;
@property(nonatomic, strong, nullable) FlutterStandardTypedData *a4ByteArray;
@property(nonatomic, strong, nullable) FlutterStandardTypedData *a8ByteArray;
@property(nonatomic, strong, nullable) FlutterStandardTypedData *aFloatArray;
@property(nonatomic, strong, nullable) NSArray *aList;
@property(nonatomic, strong, nullable) NSDictionary *aMap;
@end
@interface FlutterEverything : NSObject
- (instancetype)initWithBinaryMessenger:(id<FlutterBinaryMessenger>)binaryMessenger;
- (void)giveMeEverything:(void (^)(Everything *, NSError *_Nullable))completion;
- (void)echo:(Everything *)input completion:(void (^)(Everything *, NSError *_Nullable))completion;
@end
@protocol HostEverything
- (nullable Everything *)giveMeEverything:(FlutterError *_Nullable *_Nonnull)error;
@end
extern void HostEverythingSetup(id<FlutterBinaryMessenger> binaryMessenger,
id<HostEverything> _Nullable api);
NS_ASSUME_NONNULL_END

View File

@ -1,149 +0,0 @@
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Autogenerated from Pigeon (v0.2.1), do not edit directly.
// See also: https://pub.dev/packages/pigeon
#import "all_datatypes.h"
#import <Flutter/Flutter.h>
#if !__has_feature(objc_arc)
#error File requires ARC to be enabled.
#endif
static NSDictionary<NSString *, id> *wrapResult(NSDictionary *result, FlutterError *error) {
NSDictionary *errorDict = (NSDictionary *)[NSNull null];
if (error) {
errorDict = @{
@"code" : (error.code ? error.code : [NSNull null]),
@"message" : (error.message ? error.message : [NSNull null]),
@"details" : (error.details ? error.details : [NSNull null]),
};
}
return @{
@"result" : (result ? result : [NSNull null]),
@"error" : errorDict,
};
}
@interface Everything ()
+ (Everything *)fromMap:(NSDictionary *)dict;
- (NSDictionary *)toMap;
@end
@implementation Everything
+ (Everything *)fromMap:(NSDictionary *)dict {
Everything *result = [[Everything alloc] init];
result.aBool = dict[@"aBool"];
if ((NSNull *)result.aBool == [NSNull null]) {
result.aBool = nil;
}
result.anInt = dict[@"anInt"];
if ((NSNull *)result.anInt == [NSNull null]) {
result.anInt = nil;
}
result.aDouble = dict[@"aDouble"];
if ((NSNull *)result.aDouble == [NSNull null]) {
result.aDouble = nil;
}
result.aString = dict[@"aString"];
if ((NSNull *)result.aString == [NSNull null]) {
result.aString = nil;
}
result.aByteArray = dict[@"aByteArray"];
if ((NSNull *)result.aByteArray == [NSNull null]) {
result.aByteArray = nil;
}
result.a4ByteArray = dict[@"a4ByteArray"];
if ((NSNull *)result.a4ByteArray == [NSNull null]) {
result.a4ByteArray = nil;
}
result.a8ByteArray = dict[@"a8ByteArray"];
if ((NSNull *)result.a8ByteArray == [NSNull null]) {
result.a8ByteArray = nil;
}
result.aFloatArray = dict[@"aFloatArray"];
if ((NSNull *)result.aFloatArray == [NSNull null]) {
result.aFloatArray = nil;
}
result.aList = dict[@"aList"];
if ((NSNull *)result.aList == [NSNull null]) {
result.aList = nil;
}
result.aMap = dict[@"aMap"];
if ((NSNull *)result.aMap == [NSNull null]) {
result.aMap = nil;
}
return result;
}
- (NSDictionary *)toMap {
return [NSDictionary
dictionaryWithObjectsAndKeys:(self.aBool ? self.aBool : [NSNull null]), @"aBool",
(self.anInt ? self.anInt : [NSNull null]), @"anInt",
(self.aDouble ? self.aDouble : [NSNull null]), @"aDouble",
(self.aString ? self.aString : [NSNull null]), @"aString",
(self.aByteArray ? self.aByteArray : [NSNull null]),
@"aByteArray",
(self.a4ByteArray ? self.a4ByteArray : [NSNull null]),
@"a4ByteArray",
(self.a8ByteArray ? self.a8ByteArray : [NSNull null]),
@"a8ByteArray",
(self.aFloatArray ? self.aFloatArray : [NSNull null]),
@"aFloatArray", (self.aList ? self.aList : [NSNull null]),
@"aList", (self.aMap ? self.aMap : [NSNull null]), @"aMap", nil];
}
@end
@interface FlutterEverything ()
@property(nonatomic, strong) NSObject<FlutterBinaryMessenger> *binaryMessenger;
@end
@implementation FlutterEverything
- (instancetype)initWithBinaryMessenger:(NSObject<FlutterBinaryMessenger> *)binaryMessenger {
self = [super init];
if (self) {
_binaryMessenger = binaryMessenger;
}
return self;
}
- (void)giveMeEverything:(void (^)(Everything *, NSError *_Nullable))completion {
FlutterBasicMessageChannel *channel = [FlutterBasicMessageChannel
messageChannelWithName:@"dev.flutter.pigeon.FlutterEverything.giveMeEverything"
binaryMessenger:self.binaryMessenger];
[channel sendMessage:nil
reply:^(id reply) {
NSDictionary *outputMap = reply;
Everything *output = [Everything fromMap:outputMap];
completion(output, nil);
}];
}
- (void)echo:(Everything *)input completion:(void (^)(Everything *, NSError *_Nullable))completion {
FlutterBasicMessageChannel *channel = [FlutterBasicMessageChannel
messageChannelWithName:@"dev.flutter.pigeon.FlutterEverything.echo"
binaryMessenger:self.binaryMessenger];
NSDictionary *inputMap = [input toMap];
[channel sendMessage:inputMap
reply:^(id reply) {
NSDictionary *outputMap = reply;
Everything *output = [Everything fromMap:outputMap];
completion(output, nil);
}];
}
@end
void HostEverythingSetup(id<FlutterBinaryMessenger> binaryMessenger, id<HostEverything> api) {
{
FlutterBasicMessageChannel *channel = [FlutterBasicMessageChannel
messageChannelWithName:@"dev.flutter.pigeon.HostEverything.giveMeEverything"
binaryMessenger:binaryMessenger];
if (api) {
[channel setMessageHandler:^(id _Nullable message, FlutterReply callback) {
FlutterError *error;
Everything *output = [api giveMeEverything:&error];
callback(wrapResult([output toMap], error));
}];
} else {
[channel setMessageHandler:nil];
}
}
}

View File

@ -1,32 +0,0 @@
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Autogenerated from Pigeon (v0.2.1), do not edit directly.
// See also: https://pub.dev/packages/pigeon
#import <Foundation/Foundation.h>
@protocol FlutterBinaryMessenger;
@class FlutterError;
@class FlutterStandardTypedData;
NS_ASSUME_NONNULL_BEGIN
@class Value;
@interface Value : NSObject
@property(nonatomic, strong, nullable) NSNumber *number;
@end
@interface Api2Flutter : NSObject
- (instancetype)initWithBinaryMessenger:(id<FlutterBinaryMessenger>)binaryMessenger;
- (void)calculate:(Value *)input completion:(void (^)(Value *, NSError *_Nullable))completion;
@end
@protocol Api2Host
- (void)calculate:(nullable Value *)input
completion:(void (^)(Value *_Nullable, FlutterError *_Nullable))completion;
- (void)voidVoid:(void (^)(FlutterError *_Nullable))completion;
@end
extern void Api2HostSetup(id<FlutterBinaryMessenger> binaryMessenger, id<Api2Host> _Nullable api);
NS_ASSUME_NONNULL_END

View File

@ -1,106 +0,0 @@
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Autogenerated from Pigeon (v0.2.1), do not edit directly.
// See also: https://pub.dev/packages/pigeon
#import "async_handlers.h"
#import <Flutter/Flutter.h>
#if !__has_feature(objc_arc)
#error File requires ARC to be enabled.
#endif
static NSDictionary<NSString *, id> *wrapResult(NSDictionary *result, FlutterError *error) {
NSDictionary *errorDict = (NSDictionary *)[NSNull null];
if (error) {
errorDict = @{
@"code" : (error.code ? error.code : [NSNull null]),
@"message" : (error.message ? error.message : [NSNull null]),
@"details" : (error.details ? error.details : [NSNull null]),
};
}
return @{
@"result" : (result ? result : [NSNull null]),
@"error" : errorDict,
};
}
@interface Value ()
+ (Value *)fromMap:(NSDictionary *)dict;
- (NSDictionary *)toMap;
@end
@implementation Value
+ (Value *)fromMap:(NSDictionary *)dict {
Value *result = [[Value alloc] init];
result.number = dict[@"number"];
if ((NSNull *)result.number == [NSNull null]) {
result.number = nil;
}
return result;
}
- (NSDictionary *)toMap {
return [NSDictionary
dictionaryWithObjectsAndKeys:(self.number ? self.number : [NSNull null]), @"number", nil];
}
@end
@interface Api2Flutter ()
@property(nonatomic, strong) NSObject<FlutterBinaryMessenger> *binaryMessenger;
@end
@implementation Api2Flutter
- (instancetype)initWithBinaryMessenger:(NSObject<FlutterBinaryMessenger> *)binaryMessenger {
self = [super init];
if (self) {
_binaryMessenger = binaryMessenger;
}
return self;
}
- (void)calculate:(Value *)input completion:(void (^)(Value *, NSError *_Nullable))completion {
FlutterBasicMessageChannel *channel =
[FlutterBasicMessageChannel messageChannelWithName:@"dev.flutter.pigeon.Api2Flutter.calculate"
binaryMessenger:self.binaryMessenger];
NSDictionary *inputMap = [input toMap];
[channel sendMessage:inputMap
reply:^(id reply) {
NSDictionary *outputMap = reply;
Value *output = [Value fromMap:outputMap];
completion(output, nil);
}];
}
@end
void Api2HostSetup(id<FlutterBinaryMessenger> binaryMessenger, id<Api2Host> api) {
{
FlutterBasicMessageChannel *channel =
[FlutterBasicMessageChannel messageChannelWithName:@"dev.flutter.pigeon.Api2Host.calculate"
binaryMessenger:binaryMessenger];
if (api) {
[channel setMessageHandler:^(id _Nullable message, FlutterReply callback) {
Value *input = [Value fromMap:message];
[api calculate:input
completion:^(Value *_Nullable output, FlutterError *_Nullable error) {
callback(wrapResult([output toMap], error));
}];
}];
} else {
[channel setMessageHandler:nil];
}
}
{
FlutterBasicMessageChannel *channel =
[FlutterBasicMessageChannel messageChannelWithName:@"dev.flutter.pigeon.Api2Host.voidVoid"
binaryMessenger:binaryMessenger];
if (api) {
[channel setMessageHandler:^(id _Nullable message, FlutterReply callback) {
[api voidVoid:^(FlutterError *_Nullable error) {
callback(error);
}];
}];
} else {
[channel setMessageHandler:nil];
}
}
}

View File

@ -1,37 +0,0 @@
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Autogenerated from Pigeon (v0.2.1), do not edit directly.
// See also: https://pub.dev/packages/pigeon
#import <Foundation/Foundation.h>
@protocol FlutterBinaryMessenger;
@class FlutterError;
@class FlutterStandardTypedData;
NS_ASSUME_NONNULL_BEGIN
typedef NS_ENUM(NSUInteger, ACState) {
ACStatePending = 0,
ACStateSuccess = 1,
ACStateError = 2,
};
@class ACData;
@interface ACData : NSObject
@property(nonatomic, assign) ACState state;
@end
@protocol ACEnumApi2Host
- (nullable ACData *)echo:(ACData *)input error:(FlutterError *_Nullable *_Nonnull)error;
@end
extern void ACEnumApi2HostSetup(id<FlutterBinaryMessenger> binaryMessenger,
id<ACEnumApi2Host> _Nullable api);
@interface ACEnumApi2Flutter : NSObject
- (instancetype)initWithBinaryMessenger:(id<FlutterBinaryMessenger>)binaryMessenger;
- (void)echo:(ACData *)input completion:(void (^)(ACData *, NSError *_Nullable))completion;
@end
NS_ASSUME_NONNULL_END

View File

@ -1,87 +0,0 @@
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Autogenerated from Pigeon (v0.2.1), do not edit directly.
// See also: https://pub.dev/packages/pigeon
#import "enum.h"
#import <Flutter/Flutter.h>
#if !__has_feature(objc_arc)
#error File requires ARC to be enabled.
#endif
static NSDictionary<NSString *, id> *wrapResult(NSDictionary *result, FlutterError *error) {
NSDictionary *errorDict = (NSDictionary *)[NSNull null];
if (error) {
errorDict = @{
@"code" : (error.code ? error.code : [NSNull null]),
@"message" : (error.message ? error.message : [NSNull null]),
@"details" : (error.details ? error.details : [NSNull null]),
};
}
return @{
@"result" : (result ? result : [NSNull null]),
@"error" : errorDict,
};
}
@interface ACData ()
+ (ACData *)fromMap:(NSDictionary *)dict;
- (NSDictionary *)toMap;
@end
@implementation ACData
+ (ACData *)fromMap:(NSDictionary *)dict {
ACData *result = [[ACData alloc] init];
result.state = [dict[@"state"] integerValue];
return result;
}
- (NSDictionary *)toMap {
return [NSDictionary dictionaryWithObjectsAndKeys:@(self.state), @"state", nil];
}
@end
void ACEnumApi2HostSetup(id<FlutterBinaryMessenger> binaryMessenger, id<ACEnumApi2Host> api) {
{
FlutterBasicMessageChannel *channel =
[FlutterBasicMessageChannel messageChannelWithName:@"dev.flutter.pigeon.EnumApi2Host.echo"
binaryMessenger:binaryMessenger];
if (api) {
[channel setMessageHandler:^(id _Nullable message, FlutterReply callback) {
ACData *input = [ACData fromMap:message];
FlutterError *error;
ACData *output = [api echo:input error:&error];
callback(wrapResult([output toMap], error));
}];
} else {
[channel setMessageHandler:nil];
}
}
}
@interface ACEnumApi2Flutter ()
@property(nonatomic, strong) NSObject<FlutterBinaryMessenger> *binaryMessenger;
@end
@implementation ACEnumApi2Flutter
- (instancetype)initWithBinaryMessenger:(NSObject<FlutterBinaryMessenger> *)binaryMessenger {
self = [super init];
if (self) {
_binaryMessenger = binaryMessenger;
}
return self;
}
- (void)echo:(ACData *)input completion:(void (^)(ACData *, NSError *_Nullable))completion {
FlutterBasicMessageChannel *channel =
[FlutterBasicMessageChannel messageChannelWithName:@"dev.flutter.pigeon.EnumApi2Flutter.echo"
binaryMessenger:self.binaryMessenger];
NSDictionary *inputMap = [input toMap];
[channel sendMessage:inputMap
reply:^(id reply) {
NSDictionary *outputMap = reply;
ACData *output = [ACData fromMap:outputMap];
completion(output, nil);
}];
}
@end

View File

@ -5,7 +5,7 @@
#import <Flutter/Flutter.h> #import <Flutter/Flutter.h>
#import <XCTest/XCTest.h> #import <XCTest/XCTest.h>
#import "EchoMessenger.h" #import "EchoMessenger.h"
#import "all_datatypes.h" #import "all_datatypes.gen.h"
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
@interface AllDatatypesTest : XCTestCase @interface AllDatatypesTest : XCTestCase

View File

@ -4,7 +4,7 @@
#import <Flutter/Flutter.h> #import <Flutter/Flutter.h>
#import <XCTest/XCTest.h> #import <XCTest/XCTest.h>
#import "async_handlers.h" #import "async_handlers.gen.h"
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
@interface Value () @interface Value ()

View File

@ -5,7 +5,7 @@
#import <Flutter/Flutter.h> #import <Flutter/Flutter.h>
#import <XCTest/XCTest.h> #import <XCTest/XCTest.h>
#import "EchoMessenger.h" #import "EchoMessenger.h"
#import "enum.h" #import "enum.gen.h"
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
@interface EnumTest : XCTestCase @interface EnumTest : XCTestCase

View File

@ -3,7 +3,7 @@
// found in the LICENSE file. // found in the LICENSE file.
#import <XCTest/XCTest.h> #import <XCTest/XCTest.h>
#import "messages.h" #import "message.gen.h"
@interface ACSearchReply () @interface ACSearchReply ()
+ (ACSearchReply*)fromMap:(NSDictionary*)dict; + (ACSearchReply*)fromMap:(NSDictionary*)dict;

View File

@ -53,35 +53,6 @@ mktmpdir() {
mktemp -d flutter_pigeon.XXXXXX 2>/dev/null || mktemp -d -t flutter_pigeon. mktemp -d flutter_pigeon.XXXXXX 2>/dev/null || mktemp -d -t flutter_pigeon.
} }
# test_pigeon_ios(<path to pigeon file>)
#
# Compiles the pigeon file to a temp directory and attempts to compile the objc
# code.
test_pigeon_ios() {
echo "test_pigeon_ios($1)"
temp_dir=$(mktmpdir)
$run_pigeon \
--no-dart_null_safety \
--input $1 \
--dart_out $temp_dir/pigeon.dart \
--objc_header_out $temp_dir/pigeon.h \
--objc_source_out $temp_dir/pigeon.m
xcrun clang \
-arch arm64 \
-isysroot $(xcrun --sdk iphoneos --show-sdk-path) \
-F $framework_path/Flutter.xcframework/ios-armv7_arm64 \
-F $framework_path/Flutter.xcframework/ios-armv7 \
-F $framework_path/Flutter.xcframework/ios-arm64_armv7 \
-Werror \
-fobjc-arc \
-c $temp_dir/pigeon.m \
-o $temp_dir/pigeon.o
rm -rf $temp_dir
}
# test_pigeon_android(<path to pigeon file>) # test_pigeon_android(<path to pigeon file>)
# #
# Compiles the pigeon file to a temp directory and attempts to compile the java # Compiles the pigeon file to a temp directory and attempts to compile the java
@ -158,6 +129,33 @@ flags:
" "
} }
gen_ios_unittests_code() {
local input=$1
local prefix=$2
local filename=${input##*/}
local name="${filename%.dart}"
$run_pigeon \
--input $input \
--objc_prefix "$prefix" \
--dart_out /dev/null \
--objc_header_out platform_tests/ios_unit_tests/ios/Runner/$name.gen.h \
--objc_source_out platform_tests/ios_unit_tests/ios/Runner/$name.gen.m
}
gen_android_unittests_code() {
local input=$1
local javaName=$2
local javaOut="platform_tests/android_unit_tests/android/app/src/main/java/com/example/android_unit_tests/$javaName.java"
$run_pigeon \
--input $input \
--dart_out /dev/null \
--java_out $javaOut \
--java_package "com.example.android_unit_tests"
java -jar ci/$java_formatter --replace $javaOut
java -jar ci/$java_linter -c "ci/$google_checks" "$javaOut"
}
############################################################################### ###############################################################################
# Stages # Stages
############################################################################### ###############################################################################
@ -242,74 +240,17 @@ run_dart_compilation_tests() {
test_pigeon_dart ./pigeons/voidhost.dart test_pigeon_dart ./pigeons/voidhost.dart
} }
run_java_compilation_tests() {
# DEPRECATED: These tests are deprecated, use run_android_unittests instead.
# Make sure the artifacts are present.
flutter precache
# Make sure flutter dependencies are available.
pushd $PWD
# We use e2e_tests/test_objc in order to get access to Flutter.
cd e2e_tests/test_objc/
flutter pub get
popd
test_pigeon_android ./pigeons/async_handlers.dart
test_pigeon_android ./pigeons/host2flutter.dart
test_pigeon_android ./pigeons/java_double_host_api.dart
test_pigeon_android ./pigeons/list.dart
test_pigeon_android ./pigeons/message.dart
test_pigeon_android ./pigeons/void_arg_flutter.dart
test_pigeon_android ./pigeons/void_arg_host.dart
test_pigeon_android ./pigeons/voidflutter.dart
test_pigeon_android ./pigeons/voidhost.dart
}
run_objc_compilation_tests() {
# DEPRECATED: These tests are deprecated, use run_ios_unittests instead.
# Make sure the artifacts are present.
flutter precache
test_pigeon_ios ./pigeons/async_handlers.dart
test_pigeon_ios ./pigeons/host2flutter.dart
test_pigeon_ios ./pigeons/list.dart
test_pigeon_ios ./pigeons/message.dart
test_pigeon_ios ./pigeons/void_arg_flutter.dart
test_pigeon_ios ./pigeons/void_arg_host.dart
test_pigeon_ios ./pigeons/voidflutter.dart
test_pigeon_ios ./pigeons/voidhost.dart
}
run_ios_unittests() { run_ios_unittests() {
$run_pigeon \ gen_ios_unittests_code ./pigeons/all_datatypes.dart ""
--no-dart_null_safety \ gen_ios_unittests_code ./pigeons/async_handlers.dart ""
--input pigeons/message.dart \ gen_ios_unittests_code ./pigeons/enum.dart "AC"
--dart_out /dev/null \ gen_ios_unittests_code ./pigeons/host2flutter.dart ""
--objc_header_out platform_tests/ios_unit_tests/ios/Runner/messages.h \ gen_ios_unittests_code ./pigeons/list.dart "LST"
--objc_source_out platform_tests/ios_unit_tests/ios/Runner/messages.m gen_ios_unittests_code ./pigeons/message.dart ""
clang-format -i platform_tests/ios_unit_tests/ios/Runner/messages.h gen_ios_unittests_code ./pigeons/void_arg_flutter.dart "VAF"
clang-format -i platform_tests/ios_unit_tests/ios/Runner/messages.m gen_ios_unittests_code ./pigeons/void_arg_host.dart "VAH"
$run_pigeon \ gen_ios_unittests_code ./pigeons/voidflutter.dart "VF"
--no-dart_null_safety \ gen_ios_unittests_code ./pigeons/voidhost.dart "VH"
--input pigeons/async_handlers.dart \
--dart_out /dev/null \
--objc_header_out platform_tests/ios_unit_tests/ios/Runner/async_handlers.h \
--objc_source_out platform_tests/ios_unit_tests/ios/Runner/async_handlers.m
clang-format -i platform_tests/ios_unit_tests/ios/Runner/async_handlers.h
clang-format -i platform_tests/ios_unit_tests/ios/Runner/async_handlers.m
$run_pigeon \
--no-dart_null_safety \
--input pigeons/all_datatypes.dart \
--dart_out /dev/null \
--objc_header_out platform_tests/ios_unit_tests/ios/Runner/all_datatypes.h \
--objc_source_out platform_tests/ios_unit_tests/ios/Runner/all_datatypes.m
clang-format -i platform_tests/ios_unit_tests/ios/Runner/all_datatypes.h
clang-format -i platform_tests/ios_unit_tests/ios/Runner/all_datatypes.m
$run_pigeon \
--input pigeons/enum.dart \
--objc_prefix AC \
--dart_out /dev/null \
--objc_header_out platform_tests/ios_unit_tests/ios/Runner/enum.h \
--objc_source_out platform_tests/ios_unit_tests/ios/Runner/enum.m
clang-format -i platform_tests/ios_unit_tests/ios/Runner/enum.h
clang-format -i platform_tests/ios_unit_tests/ios/Runner/enum.m
pushd $PWD pushd $PWD
cd platform_tests/ios_unit_tests cd platform_tests/ios_unit_tests
flutter build ios --simulator flutter build ios --simulator
@ -356,16 +297,17 @@ run_formatter() {
run_android_unittests() { run_android_unittests() {
pushd $PWD pushd $PWD
$run_pigeon \ gen_android_unittests_code ./pigeons/all_datatypes.dart AllDatatypes
--input pigeons/android_unittests.dart \ gen_android_unittests_code ./pigeons/android_unittests.dart Pigeon
--dart_out /dev/null \ gen_android_unittests_code ./pigeons/async_handlers.dart AsyncHandlers
--java_out platform_tests/android_unit_tests/android/app/src/main/java/com/example/android_unit_tests/Pigeon.java \ gen_android_unittests_code ./pigeons/host2flutter.dart Host2Flutter
--java_package "com.example.android_unit_tests" gen_android_unittests_code ./pigeons/java_double_host_api.dart JavaDoubleHostApi
$run_pigeon \ gen_android_unittests_code ./pigeons/list.dart PigeonList
--input pigeons/all_datatypes.dart \ gen_android_unittests_code ./pigeons/message.dart MessagePigeon
--dart_out /dev/null \ gen_android_unittests_code ./pigeons/void_arg_flutter.dart VoidArgFlutter
--java_out platform_tests/android_unit_tests/android/app/src/main/java/com/example/android_unit_tests/AllDatatypes.java \ gen_android_unittests_code ./pigeons/void_arg_host.dart VoidArgHost
--java_package "com.example.android_unit_tests" gen_android_unittests_code ./pigeons/voidflutter.dart VoidFlutter
gen_android_unittests_code ./pigeons/voidhost.dart VoidHost
cd platform_tests/android_unit_tests cd platform_tests/android_unit_tests
if [ ! -f "android/gradlew" ]; then if [ ! -f "android/gradlew" ]; then
flutter build apk --debug flutter build apk --debug
@ -385,9 +327,7 @@ should_run_flutter_unittests=true
should_run_formatter=true should_run_formatter=true
should_run_ios_e2e_tests=true should_run_ios_e2e_tests=true
should_run_ios_unittests=true should_run_ios_unittests=true
should_run_java_compilation_tests=true
should_run_mock_handler_tests=true should_run_mock_handler_tests=true
should_run_objc_compilation_tests=true
while getopts "t:l?h" opt; do while getopts "t:l?h" opt; do
case $opt in case $opt in
t) t)
@ -398,9 +338,7 @@ while getopts "t:l?h" opt; do
should_run_formatter=false should_run_formatter=false
should_run_ios_e2e_tests=false should_run_ios_e2e_tests=false
should_run_ios_unittests=false should_run_ios_unittests=false
should_run_java_compilation_tests=false
should_run_mock_handler_tests=false should_run_mock_handler_tests=false
should_run_objc_compilation_tests=false
case $OPTARG in case $OPTARG in
android_unittests) should_run_android_unittests=true ;; android_unittests) should_run_android_unittests=true ;;
dart_compilation_tests) should_run_dart_compilation_tests=true ;; dart_compilation_tests) should_run_dart_compilation_tests=true ;;
@ -408,9 +346,7 @@ while getopts "t:l?h" opt; do
flutter_unittests) should_run_flutter_unittests=true ;; flutter_unittests) should_run_flutter_unittests=true ;;
ios_e2e_tests) should_run_ios_e2e_tests=true ;; ios_e2e_tests) should_run_ios_e2e_tests=true ;;
ios_unittests) should_run_ios_unittests=true ;; ios_unittests) should_run_ios_unittests=true ;;
java_compilation_tests) should_run_java_compilation_tests=true ;;
mock_handler_tests) should_run_mock_handler_tests=true ;; mock_handler_tests) should_run_mock_handler_tests=true ;;
objc_compilation_tests) should_run_objc_compilation_tests=true ;;
*) *)
echo "unrecognized test: $OPTARG" echo "unrecognized test: $OPTARG"
exit 1 exit 1
@ -425,9 +361,7 @@ while getopts "t:l?h" opt; do
flutter_unittests - Unit tests on generated Dart code. flutter_unittests - Unit tests on generated Dart code.
ios_e2e_tests - End-to-end objc tests run on iOS Simulator ios_e2e_tests - End-to-end objc tests run on iOS Simulator
ios_unittests - Unit tests on generated Objc code. ios_unittests - Unit tests on generated Objc code.
java_compilation_tests - Compilation tests on generated Java code.
mock_handler_tests - Unit tests on generated Dart mock handler code. mock_handler_tests - Unit tests on generated Dart mock handler code.
objc_compilation_tests - Compilation tests on generated Objc code.
" "
exit 1 exit 1
;; ;;
@ -449,7 +383,7 @@ done
############################################################################## ##############################################################################
pub get pub get
dart --snapshot-kind=kernel --snapshot=bin/pigeon.dart.dill bin/pigeon.dart dart --snapshot-kind=kernel --snapshot=bin/pigeon.dart.dill bin/pigeon.dart
if [ "$should_run_java_compilation_tests" = true ]; then if [ "$should_run_android_unittests" = true ]; then
get_java_linter_formatter get_java_linter_formatter
fi fi
test_running_without_arguments test_running_without_arguments
@ -465,12 +399,6 @@ fi
if [ "$should_run_dart_compilation_tests" = true ]; then if [ "$should_run_dart_compilation_tests" = true ]; then
run_dart_compilation_tests run_dart_compilation_tests
fi fi
if [ "$should_run_java_compilation_tests" = true ]; then
run_java_compilation_tests
fi
if [ "$should_run_objc_compilation_tests" = true ]; then
run_objc_compilation_tests
fi
if [ "$should_run_ios_unittests" = true ]; then if [ "$should_run_ios_unittests" = true ]; then
run_ios_unittests run_ios_unittests
fi fi