yandexads-flutter
329 строк · 12.9 Кб
1// Autogenerated from Pigeon (v17.0.0), do not edit directly.
2// See also: https://pub.dev/packages/pigeon
3
4import Foundation
5
6#if os(iOS)
7import Flutter
8#elseif os(macOS)
9import FlutterMacOS
10#else
11#error("Unsupported platform.")
12#endif
13
14private func wrapResult(_ result: Any?) -> [Any?] {
15return [result]
16}
17
18private func wrapError(_ error: Any) -> [Any?] {
19if let flutterError = error as? FlutterError {
20return [
21flutterError.code,
22flutterError.message,
23flutterError.details,
24]
25}
26return [
27"\(error)",
28"\(type(of: error))",
29"Stacktrace: \(Thread.callStackSymbols)",
30]
31}
32
33private func createConnectionError(withChannelName channelName: String) -> FlutterError {
34return FlutterError(code: "channel-error", message: "Unable to establish connection on channel: '\(channelName)'.", details: "")
35}
36
37private func isNullish(_ value: Any?) -> Bool {
38return value is NSNull || value == nil
39}
40
41private func nilOrValue<T>(_ value: Any?) -> T? {
42if value is NSNull { return nil }
43return value as! T?
44}
45
46/// Generated class from Pigeon that represents data sent in messages.
47struct InterstitialError {
48var code: Int64
49var description: String
50
51static func fromList(_ list: [Any?]) -> InterstitialError? {
52let code = list[0] is Int64 ? list[0] as! Int64 : Int64(list[0] as! Int32)
53let description = list[1] as! String
54
55return InterstitialError(
56code: code,
57description: description
58)
59}
60func toList() -> [Any?] {
61return [
62code,
63description,
64]
65}
66}
67
68/// Generated class from Pigeon that represents data sent in messages.
69struct InterstitialImpression {
70var data: String
71
72static func fromList(_ list: [Any?]) -> InterstitialImpression? {
73let data = list[0] as! String
74
75return InterstitialImpression(
76data: data
77)
78}
79func toList() -> [Any?] {
80return [
81data
82]
83}
84}
85/// Generated protocol from Pigeon that represents a handler of messages from Flutter.
86protocol YandexAdsInterstitial {
87func make(id: String) throws
88func load(id: String) throws
89func show(id: String) throws
90}
91
92/// Generated setup class from Pigeon to handle messages through the `binaryMessenger`.
93class YandexAdsInterstitialSetup {
94/// The codec used by YandexAdsInterstitial.
95/// Sets up an instance of `YandexAdsInterstitial` to handle messages through the `binaryMessenger`.
96static func setUp(binaryMessenger: FlutterBinaryMessenger, api: YandexAdsInterstitial?) {
97let makeChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_yandex_ads.YandexAdsInterstitial.make", binaryMessenger: binaryMessenger)
98if let api = api {
99makeChannel.setMessageHandler { message, reply in
100let args = message as! [Any?]
101let idArg = args[0] as! String
102do {
103try api.make(id: idArg)
104reply(wrapResult(nil))
105} catch {
106reply(wrapError(error))
107}
108}
109} else {
110makeChannel.setMessageHandler(nil)
111}
112let loadChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_yandex_ads.YandexAdsInterstitial.load", binaryMessenger: binaryMessenger)
113if let api = api {
114loadChannel.setMessageHandler { message, reply in
115let args = message as! [Any?]
116let idArg = args[0] as! String
117do {
118try api.load(id: idArg)
119reply(wrapResult(nil))
120} catch {
121reply(wrapError(error))
122}
123}
124} else {
125loadChannel.setMessageHandler(nil)
126}
127let showChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_yandex_ads.YandexAdsInterstitial.show", binaryMessenger: binaryMessenger)
128if let api = api {
129showChannel.setMessageHandler { message, reply in
130let args = message as! [Any?]
131let idArg = args[0] as! String
132do {
133try api.show(id: idArg)
134reply(wrapResult(nil))
135} catch {
136reply(wrapError(error))
137}
138}
139} else {
140showChannel.setMessageHandler(nil)
141}
142}
143}
144private class FlutterYandexAdsInterstitialCodecReader: FlutterStandardReader {
145override func readValue(ofType type: UInt8) -> Any? {
146switch type {
147case 128:
148return InterstitialError.fromList(self.readValue() as! [Any?])
149case 129:
150return InterstitialImpression.fromList(self.readValue() as! [Any?])
151default:
152return super.readValue(ofType: type)
153}
154}
155}
156
157private class FlutterYandexAdsInterstitialCodecWriter: FlutterStandardWriter {
158override func writeValue(_ value: Any) {
159if let value = value as? InterstitialError {
160super.writeByte(128)
161super.writeValue(value.toList())
162} else if let value = value as? InterstitialImpression {
163super.writeByte(129)
164super.writeValue(value.toList())
165} else {
166super.writeValue(value)
167}
168}
169}
170
171private class FlutterYandexAdsInterstitialCodecReaderWriter: FlutterStandardReaderWriter {
172override func reader(with data: Data) -> FlutterStandardReader {
173return FlutterYandexAdsInterstitialCodecReader(data: data)
174}
175
176override func writer(with data: NSMutableData) -> FlutterStandardWriter {
177return FlutterYandexAdsInterstitialCodecWriter(data: data)
178}
179}
180
181class FlutterYandexAdsInterstitialCodec: FlutterStandardMessageCodec {
182static let shared = FlutterYandexAdsInterstitialCodec(readerWriter: FlutterYandexAdsInterstitialCodecReaderWriter())
183}
184
185/// Generated protocol from Pigeon that represents Flutter messages that can be called from Swift.
186protocol FlutterYandexAdsInterstitialProtocol {
187func onAdLoaded(id idArg: String, completion: @escaping (Result<Void, FlutterError>) -> Void)
188func onAdFailedToLoad(id idArg: String, err errArg: InterstitialError, completion: @escaping (Result<Void, FlutterError>) -> Void)
189func onAdFailedToShow(id idArg: String, err errArg: InterstitialError, completion: @escaping (Result<Void, FlutterError>) -> Void)
190func onAdShown(id idArg: String, completion: @escaping (Result<Void, FlutterError>) -> Void)
191func onAdDismissed(id idArg: String, completion: @escaping (Result<Void, FlutterError>) -> Void)
192func onAdClicked(id idArg: String, completion: @escaping (Result<Void, FlutterError>) -> Void)
193func onImpression(id idArg: String, data dataArg: InterstitialImpression, completion: @escaping (Result<Void, FlutterError>) -> Void)
194}
195class FlutterYandexAdsInterstitial: FlutterYandexAdsInterstitialProtocol {
196private let binaryMessenger: FlutterBinaryMessenger
197init(binaryMessenger: FlutterBinaryMessenger) {
198self.binaryMessenger = binaryMessenger
199}
200var codec: FlutterStandardMessageCodec {
201return FlutterYandexAdsInterstitialCodec.shared
202}
203func onAdLoaded(id idArg: String, completion: @escaping (Result<Void, FlutterError>) -> Void) {
204let channelName: String = "dev.flutter.pigeon.flutter_yandex_ads.FlutterYandexAdsInterstitial.onAdLoaded"
205let channel = FlutterBasicMessageChannel(name: channelName, binaryMessenger: binaryMessenger, codec: codec)
206channel.sendMessage([idArg] as [Any?]) { response in
207guard let listResponse = response as? [Any?] else {
208completion(.failure(createConnectionError(withChannelName: channelName)))
209return
210}
211if listResponse.count > 1 {
212let code: String = listResponse[0] as! String
213let message: String? = nilOrValue(listResponse[1])
214let details: String? = nilOrValue(listResponse[2])
215completion(.failure(FlutterError(code: code, message: message, details: details)))
216} else {
217completion(.success(Void()))
218}
219}
220}
221func onAdFailedToLoad(id idArg: String, err errArg: InterstitialError, completion: @escaping (Result<Void, FlutterError>) -> Void) {
222let channelName: String = "dev.flutter.pigeon.flutter_yandex_ads.FlutterYandexAdsInterstitial.onAdFailedToLoad"
223let channel = FlutterBasicMessageChannel(name: channelName, binaryMessenger: binaryMessenger, codec: codec)
224channel.sendMessage([idArg, errArg] as [Any?]) { response in
225guard let listResponse = response as? [Any?] else {
226completion(.failure(createConnectionError(withChannelName: channelName)))
227return
228}
229if listResponse.count > 1 {
230let code: String = listResponse[0] as! String
231let message: String? = nilOrValue(listResponse[1])
232let details: String? = nilOrValue(listResponse[2])
233completion(.failure(FlutterError(code: code, message: message, details: details)))
234} else {
235completion(.success(Void()))
236}
237}
238}
239func onAdFailedToShow(id idArg: String, err errArg: InterstitialError, completion: @escaping (Result<Void, FlutterError>) -> Void) {
240let channelName: String = "dev.flutter.pigeon.flutter_yandex_ads.FlutterYandexAdsInterstitial.onAdFailedToShow"
241let channel = FlutterBasicMessageChannel(name: channelName, binaryMessenger: binaryMessenger, codec: codec)
242channel.sendMessage([idArg, errArg] as [Any?]) { response in
243guard let listResponse = response as? [Any?] else {
244completion(.failure(createConnectionError(withChannelName: channelName)))
245return
246}
247if listResponse.count > 1 {
248let code: String = listResponse[0] as! String
249let message: String? = nilOrValue(listResponse[1])
250let details: String? = nilOrValue(listResponse[2])
251completion(.failure(FlutterError(code: code, message: message, details: details)))
252} else {
253completion(.success(Void()))
254}
255}
256}
257func onAdShown(id idArg: String, completion: @escaping (Result<Void, FlutterError>) -> Void) {
258let channelName: String = "dev.flutter.pigeon.flutter_yandex_ads.FlutterYandexAdsInterstitial.onAdShown"
259let channel = FlutterBasicMessageChannel(name: channelName, binaryMessenger: binaryMessenger, codec: codec)
260channel.sendMessage([idArg] as [Any?]) { response in
261guard let listResponse = response as? [Any?] else {
262completion(.failure(createConnectionError(withChannelName: channelName)))
263return
264}
265if listResponse.count > 1 {
266let code: String = listResponse[0] as! String
267let message: String? = nilOrValue(listResponse[1])
268let details: String? = nilOrValue(listResponse[2])
269completion(.failure(FlutterError(code: code, message: message, details: details)))
270} else {
271completion(.success(Void()))
272}
273}
274}
275func onAdDismissed(id idArg: String, completion: @escaping (Result<Void, FlutterError>) -> Void) {
276let channelName: String = "dev.flutter.pigeon.flutter_yandex_ads.FlutterYandexAdsInterstitial.onAdDismissed"
277let channel = FlutterBasicMessageChannel(name: channelName, binaryMessenger: binaryMessenger, codec: codec)
278channel.sendMessage([idArg] as [Any?]) { response in
279guard let listResponse = response as? [Any?] else {
280completion(.failure(createConnectionError(withChannelName: channelName)))
281return
282}
283if listResponse.count > 1 {
284let code: String = listResponse[0] as! String
285let message: String? = nilOrValue(listResponse[1])
286let details: String? = nilOrValue(listResponse[2])
287completion(.failure(FlutterError(code: code, message: message, details: details)))
288} else {
289completion(.success(Void()))
290}
291}
292}
293func onAdClicked(id idArg: String, completion: @escaping (Result<Void, FlutterError>) -> Void) {
294let channelName: String = "dev.flutter.pigeon.flutter_yandex_ads.FlutterYandexAdsInterstitial.onAdClicked"
295let channel = FlutterBasicMessageChannel(name: channelName, binaryMessenger: binaryMessenger, codec: codec)
296channel.sendMessage([idArg] as [Any?]) { response in
297guard let listResponse = response as? [Any?] else {
298completion(.failure(createConnectionError(withChannelName: channelName)))
299return
300}
301if listResponse.count > 1 {
302let code: String = listResponse[0] as! String
303let message: String? = nilOrValue(listResponse[1])
304let details: String? = nilOrValue(listResponse[2])
305completion(.failure(FlutterError(code: code, message: message, details: details)))
306} else {
307completion(.success(Void()))
308}
309}
310}
311func onImpression(id idArg: String, data dataArg: InterstitialImpression, completion: @escaping (Result<Void, FlutterError>) -> Void) {
312let channelName: String = "dev.flutter.pigeon.flutter_yandex_ads.FlutterYandexAdsInterstitial.onImpression"
313let channel = FlutterBasicMessageChannel(name: channelName, binaryMessenger: binaryMessenger, codec: codec)
314channel.sendMessage([idArg, dataArg] as [Any?]) { response in
315guard let listResponse = response as? [Any?] else {
316completion(.failure(createConnectionError(withChannelName: channelName)))
317return
318}
319if listResponse.count > 1 {
320let code: String = listResponse[0] as! String
321let message: String? = nilOrValue(listResponse[1])
322let details: String? = nilOrValue(listResponse[2])
323completion(.failure(FlutterError(code: code, message: message, details: details)))
324} else {
325completion(.success(Void()))
326}
327}
328}
329}
330