diff --git a/plugins/2018.3326/android/corona.gradle b/plugins/2018.3326/android/corona.gradle index 86f42a0..2305d67 100644 --- a/plugins/2018.3326/android/corona.gradle +++ b/plugins/2018.3326/android/corona.gradle @@ -1,3 +1,3 @@ dependencies { - implementation 'com.appodeal.ads.sdk.networks:admob:3.1.3.1' + implementation 'com.appodeal.ads.sdk.networks:admob:3.2.1.0' } diff --git a/plugins/2018.3326/iphone-sim/libAPDGoogleAdMobAdapter.a b/plugins/2018.3326/iphone-sim/libAPDGoogleAdMobAdapter.a index ad7fe89..5428610 100644 Binary files a/plugins/2018.3326/iphone-sim/libAPDGoogleAdMobAdapter.a and b/plugins/2018.3326/iphone-sim/libAPDGoogleAdMobAdapter.a differ diff --git a/plugins/2018.3326/iphone/.DS_Store b/plugins/2018.3326/iphone/.DS_Store new file mode 100644 index 0000000..bbce1a3 Binary files /dev/null and b/plugins/2018.3326/iphone/.DS_Store differ diff --git a/plugins/2018.3326/iphone/FBLPromises.framework/.DS_Store b/plugins/2018.3326/iphone/FBLPromises.framework/.DS_Store new file mode 100644 index 0000000..16ad308 Binary files /dev/null and b/plugins/2018.3326/iphone/FBLPromises.framework/.DS_Store differ diff --git a/plugins/2018.3326/iphone/FBLPromises.framework/FBLPromises b/plugins/2018.3326/iphone/FBLPromises.framework/FBLPromises new file mode 100644 index 0000000..0bfeb0e Binary files /dev/null and b/plugins/2018.3326/iphone/FBLPromises.framework/FBLPromises differ diff --git a/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+All.h b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+All.h new file mode 100644 index 0000000..9c0090e --- /dev/null +++ b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+All.h @@ -0,0 +1,63 @@ +/** + Copyright 2018 Google Inc. All rights reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at: + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + */ + +#import "FBLPromise.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface FBLPromise(AllAdditions) + +/** + Wait until all of the given promises are fulfilled. + If one of the given promises is rejected, then the returned promise is rejected with same error. + If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`, + it's implicitly considered a pre-fulfilled or pre-rejected `FBLPromise` correspondingly. + Promises resolved with `nil` become `NSNull` instances in the resulting array. + + @param promises Promises to wait for. + @return Promise of an array containing the values of input promises in the same order. + */ ++ (FBLPromise *)all:(NSArray *)promises NS_SWIFT_UNAVAILABLE(""); + +/** + Wait until all of the given promises are fulfilled. + If one of the given promises is rejected, then the returned promise is rejected with same error. + If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`, + it's implicitly considered a pre-fulfilled or pre-rejected FBLPromise correspondingly. + Promises resolved with `nil` become `NSNull` instances in the resulting array. + + @param queue A queue to dispatch on. + @param promises Promises to wait for. + @return Promise of an array containing the values of input promises in the same order. + */ ++ (FBLPromise *)onQueue:(dispatch_queue_t)queue + all:(NSArray *)promises NS_REFINED_FOR_SWIFT; + +@end + +/** + Convenience dot-syntax wrappers for `FBLPromise` `all` operators. + Usage: FBLPromise.all(@[ ... ]) + */ +@interface FBLPromise(DotSyntax_AllAdditions) + ++ (FBLPromise * (^)(NSArray *))all FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE(""); ++ (FBLPromise * (^)(dispatch_queue_t, NSArray *))allOn FBL_PROMISES_DOT_SYNTAX + NS_SWIFT_UNAVAILABLE(""); + +@end + +NS_ASSUME_NONNULL_END diff --git a/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Always.h b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Always.h new file mode 100644 index 0000000..13000f5 --- /dev/null +++ b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Always.h @@ -0,0 +1,54 @@ +/** + Copyright 2018 Google Inc. All rights reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at: + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + */ + +#import "FBLPromise.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface FBLPromise(AlwaysAdditions) + +typedef void (^FBLPromiseAlwaysWorkBlock)(void) NS_SWIFT_UNAVAILABLE(""); + +/** + @param work A block that always executes, no matter if the receiver is rejected or fulfilled. + @return A new pending promise to be resolved with same resolution as the receiver. + */ +- (FBLPromise *)always:(FBLPromiseAlwaysWorkBlock)work NS_SWIFT_UNAVAILABLE(""); + +/** + @param queue A queue to dispatch on. + @param work A block that always executes, no matter if the receiver is rejected or fulfilled. + @return A new pending promise to be resolved with same resolution as the receiver. + */ +- (FBLPromise *)onQueue:(dispatch_queue_t)queue + always:(FBLPromiseAlwaysWorkBlock)work NS_REFINED_FOR_SWIFT; + +@end + +/** + Convenience dot-syntax wrappers for `FBLPromise` `always` operators. + Usage: promise.always(^{...}) + */ +@interface FBLPromise(DotSyntax_AlwaysAdditions) + +- (FBLPromise* (^)(FBLPromiseAlwaysWorkBlock))always FBL_PROMISES_DOT_SYNTAX + NS_SWIFT_UNAVAILABLE(""); +- (FBLPromise* (^)(dispatch_queue_t, FBLPromiseAlwaysWorkBlock))alwaysOn FBL_PROMISES_DOT_SYNTAX + NS_SWIFT_UNAVAILABLE(""); + +@end + +NS_ASSUME_NONNULL_END diff --git a/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Any.h b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Any.h new file mode 100644 index 0000000..82875bf --- /dev/null +++ b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Any.h @@ -0,0 +1,69 @@ +/** + Copyright 2018 Google Inc. All rights reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at: + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + */ + +#import "FBLPromise.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface FBLPromise(AnyAdditions) + +/** + Waits until all of the given promises are either fulfilled or rejected. + If all promises are rejected, then the returned promise is rejected with same error + as the last one rejected. + If at least one of the promises is fulfilled, the resulting promise is fulfilled with an array of + values or `NSErrors`, matching the original order of fulfilled or rejected promises respectively. + If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`, + it's implicitly considered a pre-fulfilled or pre-rejected `FBLPromise` correspondingly. + Promises resolved with `nil` become `NSNull` instances in the resulting array. + + @param promises Promises to wait for. + @return Promise of array containing the values or `NSError`s of input promises in the same order. + */ ++ (FBLPromise *)any:(NSArray *)promises NS_SWIFT_UNAVAILABLE(""); + +/** + Waits until all of the given promises are either fulfilled or rejected. + If all promises are rejected, then the returned promise is rejected with same error + as the last one rejected. + If at least one of the promises is fulfilled, the resulting promise is fulfilled with an array of + values or `NSError`s, matching the original order of fulfilled or rejected promises respectively. + If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`, + it's implicitly considered a pre-fulfilled or pre-rejected `FBLPromise` correspondingly. + Promises resolved with `nil` become `NSNull` instances in the resulting array. + + @param queue A queue to dispatch on. + @param promises Promises to wait for. + @return Promise of array containing the values or `NSError`s of input promises in the same order. + */ ++ (FBLPromise *)onQueue:(dispatch_queue_t)queue + any:(NSArray *)promises NS_REFINED_FOR_SWIFT; + +@end + +/** + Convenience dot-syntax wrappers for `FBLPromise` `any` operators. + Usage: FBLPromise.any(@[ ... ]) + */ +@interface FBLPromise(DotSyntax_AnyAdditions) + ++ (FBLPromise * (^)(NSArray *))any FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE(""); ++ (FBLPromise * (^)(dispatch_queue_t, NSArray *))anyOn FBL_PROMISES_DOT_SYNTAX + NS_SWIFT_UNAVAILABLE(""); + +@end + +NS_ASSUME_NONNULL_END diff --git a/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Async.h b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Async.h new file mode 100644 index 0000000..0588a9e --- /dev/null +++ b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Async.h @@ -0,0 +1,60 @@ +/** + Copyright 2018 Google Inc. All rights reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at: + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + */ + +#import "FBLPromise.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface FBLPromise(AsyncAdditions) + +typedef void (^FBLPromiseFulfillBlock)(Value __nullable value) NS_SWIFT_UNAVAILABLE(""); +typedef void (^FBLPromiseRejectBlock)(NSError *error) NS_SWIFT_UNAVAILABLE(""); +typedef void (^FBLPromiseAsyncWorkBlock)(FBLPromiseFulfillBlock fulfill, + FBLPromiseRejectBlock reject) NS_SWIFT_UNAVAILABLE(""); + +/** + Creates a pending promise and executes `work` block asynchronously. + + @param work A block to perform any operations needed to resolve the promise. + @return A new pending promise. + */ ++ (instancetype)async:(FBLPromiseAsyncWorkBlock)work NS_SWIFT_UNAVAILABLE(""); + +/** + Creates a pending promise and executes `work` block asynchronously on the given queue. + + @param queue A queue to invoke the `work` block on. + @param work A block to perform any operations needed to resolve the promise. + @return A new pending promise. + */ ++ (instancetype)onQueue:(dispatch_queue_t)queue + async:(FBLPromiseAsyncWorkBlock)work NS_REFINED_FOR_SWIFT; + +@end + +/** + Convenience dot-syntax wrappers for `FBLPromise` `async` operators. + Usage: FBLPromise.async(^(FBLPromiseFulfillBlock fulfill, FBLPromiseRejectBlock reject) { ... }) + */ +@interface FBLPromise(DotSyntax_AsyncAdditions) + ++ (FBLPromise* (^)(FBLPromiseAsyncWorkBlock))async FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE(""); ++ (FBLPromise* (^)(dispatch_queue_t, FBLPromiseAsyncWorkBlock))asyncOn FBL_PROMISES_DOT_SYNTAX + NS_SWIFT_UNAVAILABLE(""); + +@end + +NS_ASSUME_NONNULL_END diff --git a/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Await.h b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Await.h new file mode 100644 index 0000000..c97a1ba --- /dev/null +++ b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Await.h @@ -0,0 +1,32 @@ +/** + Copyright 2018 Google Inc. All rights reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at: + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + */ + +#import "FBLPromise.h" + +NS_ASSUME_NONNULL_BEGIN + +/** + Waits for promise resolution. The current thread blocks until the promise is resolved. + + @param promise Promise to wait for. + @param error Error the promise was rejected with, or `nil` if the promise was fulfilled. + @return Value the promise was fulfilled with. If the promise was rejected, the return value + is always `nil`, but the error out arg is not. + */ +FOUNDATION_EXTERN id __nullable FBLPromiseAwait(FBLPromise *promise, + NSError **error) NS_REFINED_FOR_SWIFT; + +NS_ASSUME_NONNULL_END diff --git a/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Catch.h b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Catch.h new file mode 100644 index 0000000..a9ff170 --- /dev/null +++ b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Catch.h @@ -0,0 +1,59 @@ +/** + Copyright 2018 Google Inc. All rights reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at: + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + */ + +#import "FBLPromise.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface FBLPromise(CatchAdditions) + +typedef void (^FBLPromiseCatchWorkBlock)(NSError *error) NS_SWIFT_UNAVAILABLE(""); + +/** + Creates a pending promise which eventually gets resolved with same resolution as the receiver. + If receiver is rejected, then `reject` block is executed asynchronously. + + @param reject A block to handle the error that receiver was rejected with. + @return A new pending promise. + */ +- (FBLPromise *)catch:(FBLPromiseCatchWorkBlock)reject NS_SWIFT_UNAVAILABLE(""); + +/** + Creates a pending promise which eventually gets resolved with same resolution as the receiver. + If receiver is rejected, then `reject` block is executed asynchronously on the given queue. + + @param queue A queue to invoke the `reject` block on. + @param reject A block to handle the error that receiver was rejected with. + @return A new pending promise. + */ +- (FBLPromise *)onQueue:(dispatch_queue_t)queue + catch:(FBLPromiseCatchWorkBlock)reject NS_REFINED_FOR_SWIFT; + +@end + +/** + Convenience dot-syntax wrappers for `FBLPromise` `catch` operators. + Usage: promise.catch(^(NSError *error) { ... }) + */ +@interface FBLPromise(DotSyntax_CatchAdditions) + +- (FBLPromise* (^)(FBLPromiseCatchWorkBlock))catch FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE(""); +- (FBLPromise* (^)(dispatch_queue_t, FBLPromiseCatchWorkBlock))catchOn FBL_PROMISES_DOT_SYNTAX + NS_SWIFT_UNAVAILABLE(""); + +@end + +NS_ASSUME_NONNULL_END diff --git a/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Delay.h b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Delay.h new file mode 100644 index 0000000..557df48 --- /dev/null +++ b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Delay.h @@ -0,0 +1,59 @@ +/** + Copyright 2018 Google Inc. All rights reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at: + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + */ + +#import "FBLPromise.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface FBLPromise(DelayAdditions) + +/** + Creates a new pending promise that fulfills with the same value as `self` after the `delay`, or + rejects with the same error immediately. + + @param interval Time to wait in seconds. + @return A new pending promise that fulfills at least `delay` seconds later than `self`, or rejects + with the same error immediately. + */ +- (FBLPromise *)delay:(NSTimeInterval)interval NS_SWIFT_UNAVAILABLE(""); + +/** + Creates a new pending promise that fulfills with the same value as `self` after the `delay`, or + rejects with the same error immediately. + + @param queue A queue to dispatch on. + @param interval Time to wait in seconds. + @return A new pending promise that fulfills at least `delay` seconds later than `self`, or rejects + with the same error immediately. + */ +- (FBLPromise *)onQueue:(dispatch_queue_t)queue + delay:(NSTimeInterval)interval NS_REFINED_FOR_SWIFT; + +@end + +/** + Convenience dot-syntax wrappers for `FBLPromise` `delay` operators. + Usage: promise.delay(...) + */ +@interface FBLPromise(DotSyntax_DelayAdditions) + +- (FBLPromise * (^)(NSTimeInterval))delay FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE(""); +- (FBLPromise * (^)(dispatch_queue_t, NSTimeInterval))delayOn FBL_PROMISES_DOT_SYNTAX + NS_SWIFT_UNAVAILABLE(""); + +@end + +NS_ASSUME_NONNULL_END diff --git a/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Do.h b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Do.h new file mode 100644 index 0000000..6838e0a --- /dev/null +++ b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Do.h @@ -0,0 +1,55 @@ +/** + Copyright 2018 Google Inc. All rights reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at: + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + */ + +#import "FBLPromise.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface FBLPromise(DoAdditions) + +typedef id __nullable (^FBLPromiseDoWorkBlock)(void) NS_SWIFT_UNAVAILABLE(""); + +/** + Creates a pending promise and executes `work` block asynchronously. + + @param work A block that returns a value or an error used to resolve the promise. + @return A new pending promise. + */ ++ (instancetype)do:(FBLPromiseDoWorkBlock)work NS_SWIFT_UNAVAILABLE(""); + +/** + Creates a pending promise and executes `work` block asynchronously on the given queue. + + @param queue A queue to invoke the `work` block on. + @param work A block that returns a value or an error used to resolve the promise. + @return A new pending promise. + */ ++ (instancetype)onQueue:(dispatch_queue_t)queue do:(FBLPromiseDoWorkBlock)work NS_REFINED_FOR_SWIFT; + +@end + +/** + Convenience dot-syntax wrappers for `FBLPromise` `do` operators. + Usage: FBLPromise.doOn(queue, ^(NSError *error) { ... }) + */ +@interface FBLPromise(DotSyntax_DoAdditions) + ++ (FBLPromise * (^)(dispatch_queue_t, FBLPromiseDoWorkBlock))doOn FBL_PROMISES_DOT_SYNTAX + NS_SWIFT_UNAVAILABLE(""); + +@end + +NS_ASSUME_NONNULL_END diff --git a/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Race.h b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Race.h new file mode 100644 index 0000000..2f67258 --- /dev/null +++ b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Race.h @@ -0,0 +1,62 @@ +/** + Copyright 2018 Google Inc. All rights reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at: + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + */ + +#import "FBLPromise.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface FBLPromise(RaceAdditions) + +/** + Wait until any of the given promises are fulfilled. + If one of the promises is rejected, then the returned promise is rejected with same error. + If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`, + it's implicitly considered a pre-fulfilled or pre-rejected `FBLPromise` correspondingly. + + @param promises Promises to wait for. + @return A new pending promise to be resolved with the same resolution as the first promise, among + the given ones, which was resolved. + */ ++ (instancetype)race:(NSArray *)promises NS_SWIFT_UNAVAILABLE(""); + +/** + Wait until any of the given promises are fulfilled. + If one of the promises is rejected, then the returned promise is rejected with same error. + If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`, + it's implicitly considered a pre-fulfilled or pre-rejected `FBLPromise` correspondingly. + + @param queue A queue to dispatch on. + @param promises Promises to wait for. + @return A new pending promise to be resolved with the same resolution as the first promise, among + the given ones, which was resolved. + */ ++ (instancetype)onQueue:(dispatch_queue_t)queue race:(NSArray *)promises NS_REFINED_FOR_SWIFT; + +@end + +/** + Convenience dot-syntax wrappers for `FBLPromise` `race` operators. + Usage: FBLPromise.race(@[ ... ]) + */ +@interface FBLPromise(DotSyntax_RaceAdditions) + ++ (FBLPromise * (^)(NSArray *))race FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE(""); ++ (FBLPromise * (^)(dispatch_queue_t, NSArray *))raceOn FBL_PROMISES_DOT_SYNTAX + NS_SWIFT_UNAVAILABLE(""); + +@end + +NS_ASSUME_NONNULL_END diff --git a/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Recover.h b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Recover.h new file mode 100644 index 0000000..bb7df7e --- /dev/null +++ b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Recover.h @@ -0,0 +1,60 @@ +/** + Copyright 2018 Google Inc. All rights reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at: + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + */ + +#import "FBLPromise.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface FBLPromise(RecoverAdditions) + +typedef id __nullable (^FBLPromiseRecoverWorkBlock)(NSError *error) NS_SWIFT_UNAVAILABLE(""); + +/** + Provides a new promise to recover in case the receiver gets rejected. + + @param recovery A block to handle the error that the receiver was rejected with. + @return A new pending promise to use instead of the rejected one that gets resolved with resolution + returned from `recovery` block. + */ +- (FBLPromise *)recover:(FBLPromiseRecoverWorkBlock)recovery NS_SWIFT_UNAVAILABLE(""); + +/** + Provides a new promise to recover in case the receiver gets rejected. + + @param queue A queue to dispatch on. + @param recovery A block to handle the error that the receiver was rejected with. + @return A new pending promise to use instead of the rejected one that gets resolved with resolution + returned from `recovery` block. + */ +- (FBLPromise *)onQueue:(dispatch_queue_t)queue + recover:(FBLPromiseRecoverWorkBlock)recovery NS_REFINED_FOR_SWIFT; + +@end + +/** + Convenience dot-syntax wrappers for `FBLPromise` `recover` operators. + Usage: promise.recover(^id(NSError *error) {...}) + */ +@interface FBLPromise(DotSyntax_RecoverAdditions) + +- (FBLPromise * (^)(FBLPromiseRecoverWorkBlock))recover FBL_PROMISES_DOT_SYNTAX + NS_SWIFT_UNAVAILABLE(""); +- (FBLPromise * (^)(dispatch_queue_t, FBLPromiseRecoverWorkBlock))recoverOn FBL_PROMISES_DOT_SYNTAX + NS_SWIFT_UNAVAILABLE(""); + +@end + +NS_ASSUME_NONNULL_END diff --git a/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Reduce.h b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Reduce.h new file mode 100644 index 0000000..5bb1eee --- /dev/null +++ b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Reduce.h @@ -0,0 +1,71 @@ +/** + Copyright 2018 Google Inc. All rights reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at: + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + */ + +#import "FBLPromise.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface FBLPromise(ReduceAdditions) + +typedef id __nullable (^FBLPromiseReducerBlock)(Value __nullable partial, id next) + NS_SWIFT_UNAVAILABLE(""); + +/** + Sequentially reduces a collection of values to a single promise using a given combining block + and the value `self` resolves with as initial value. + + @param items An array of values to process in order. + @param reducer A block to combine an accumulating value and an element of the sequence into + the new accumulating value or a promise resolved with it, to be used in the next + call of the `reducer` or returned to the caller. + @return A new pending promise returned from the last `reducer` invocation. + Or `self` if `items` is empty. + */ +- (FBLPromise *)reduce:(NSArray *)items + combine:(FBLPromiseReducerBlock)reducer NS_SWIFT_UNAVAILABLE(""); + +/** + Sequentially reduces a collection of values to a single promise using a given combining block + and the value `self` resolves with as initial value. + + @param queue A queue to dispatch on. + @param items An array of values to process in order. + @param reducer A block to combine an accumulating value and an element of the sequence into + the new accumulating value or a promise resolved with it, to be used in the next + call of the `reducer` or returned to the caller. + @return A new pending promise returned from the last `reducer` invocation. + Or `self` if `items` is empty. + */ +- (FBLPromise *)onQueue:(dispatch_queue_t)queue + reduce:(NSArray *)items + combine:(FBLPromiseReducerBlock)reducer NS_SWIFT_UNAVAILABLE(""); + +@end + +/** + Convenience dot-syntax wrappers for `FBLPromise` `reduce` operators. + Usage: promise.reduce(values, ^id(id partial, id next) { ... }) + */ +@interface FBLPromise(DotSyntax_ReduceAdditions) + +- (FBLPromise * (^)(NSArray *, FBLPromiseReducerBlock))reduce FBL_PROMISES_DOT_SYNTAX + NS_SWIFT_UNAVAILABLE(""); +- (FBLPromise * (^)(dispatch_queue_t, NSArray *, FBLPromiseReducerBlock))reduceOn + FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE(""); + +@end + +NS_ASSUME_NONNULL_END diff --git a/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Retry.h b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Retry.h new file mode 100644 index 0000000..414a17a --- /dev/null +++ b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Retry.h @@ -0,0 +1,165 @@ +/** + Copyright 2018 Google Inc. All rights reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at: + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + */ + +#import "FBLPromise.h" + +NS_ASSUME_NONNULL_BEGIN + +/** The default number of retry attempts is 1. */ +FOUNDATION_EXTERN NSInteger const FBLPromiseRetryDefaultAttemptsCount NS_REFINED_FOR_SWIFT; + +/** The default delay interval before making a retry attempt is 1.0 second. */ +FOUNDATION_EXTERN NSTimeInterval const FBLPromiseRetryDefaultDelayInterval NS_REFINED_FOR_SWIFT; + +@interface FBLPromise(RetryAdditions) + +typedef id __nullable (^FBLPromiseRetryWorkBlock)(void) NS_SWIFT_UNAVAILABLE(""); +typedef BOOL (^FBLPromiseRetryPredicateBlock)(NSInteger, NSError *) NS_SWIFT_UNAVAILABLE(""); + +/** + Creates a pending promise that fulfills with the same value as the promise returned from `work` + block, which executes asynchronously, or rejects with the same error after all retry attempts have + been exhausted. Defaults to `FBLPromiseRetryDefaultAttemptsCount` attempt(s) on rejection where the + `work` block is retried after a delay of `FBLPromiseRetryDefaultDelayInterval` second(s). + + @param work A block that executes asynchronously on the default queue and returns a value or an + error used to resolve the promise. + @return A new pending promise that fulfills with the same value as the promise returned from `work` + block, or rejects with the same error after all retry attempts have been exhausted. + */ ++ (instancetype)retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE(""); + +/** + Creates a pending promise that fulfills with the same value as the promise returned from `work` + block, which executes asynchronously on the given `queue`, or rejects with the same error after all + retry attempts have been exhausted. Defaults to `FBLPromiseRetryDefaultAttemptsCount` attempt(s) on + rejection where the `work` block is retried on the given `queue` after a delay of + `FBLPromiseRetryDefaultDelayInterval` second(s). + + @param queue A queue to invoke the `work` block on. + @param work A block that executes asynchronously on the given `queue` and returns a value or an + error used to resolve the promise. + @return A new pending promise that fulfills with the same value as the promise returned from `work` + block, or rejects with the same error after all retry attempts have been exhausted. + */ ++ (instancetype)onQueue:(dispatch_queue_t)queue + retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE(""); + +/** + Creates a pending promise that fulfills with the same value as the promise returned from `work` + block, which executes asynchronously, or rejects with the same error after all retry attempts have + been exhausted. + + @param count Max number of retry attempts. The `work` block will be executed once if the specified + count is less than or equal to zero. + @param work A block that executes asynchronously on the default queue and returns a value or an + error used to resolve the promise. + @return A new pending promise that fulfills with the same value as the promise returned from `work` + block, or rejects with the same error after all retry attempts have been exhausted. + */ ++ (instancetype)attempts:(NSInteger)count + retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE(""); + +/** + Creates a pending promise that fulfills with the same value as the promise returned from `work` + block, which executes asynchronously on the given `queue`, or rejects with the same error after all + retry attempts have been exhausted. + + @param queue A queue to invoke the `work` block on. + @param count Max number of retry attempts. The `work` block will be executed once if the specified + count is less than or equal to zero. + @param work A block that executes asynchronously on the given `queue` and returns a value or an + error used to resolve the promise. + @return A new pending promise that fulfills with the same value as the promise returned from `work` + block, or rejects with the same error after all retry attempts have been exhausted. + */ ++ (instancetype)onQueue:(dispatch_queue_t)queue + attempts:(NSInteger)count + retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE(""); + +/** + Creates a pending promise that fulfills with the same value as the promise returned from `work` + block, which executes asynchronously, or rejects with the same error after all retry attempts have + been exhausted. On rejection, the `work` block is retried after the given delay `interval` and will + continue to retry until the number of specified attempts have been exhausted or will bail early if + the given condition is not met. + + @param count Max number of retry attempts. The `work` block will be executed once if the specified + count is less than or equal to zero. + @param interval Time to wait before the next retry attempt. + @param predicate Condition to check before the next retry attempt. The predicate block provides the + the number of remaining retry attempts and the error that the promise was rejected + with. + @param work A block that executes asynchronously on the default queue and returns a value or an + error used to resolve the promise. + @return A new pending promise that fulfills with the same value as the promise returned from `work` + block, or rejects with the same error after all retry attempts have been exhausted or if + the given condition is not met. + */ ++ (instancetype)attempts:(NSInteger)count + delay:(NSTimeInterval)interval + condition:(nullable FBLPromiseRetryPredicateBlock)predicate + retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE(""); + +/** + Creates a pending promise that fulfills with the same value as the promise returned from `work` + block, which executes asynchronously on the given `queue`, or rejects with the same error after all + retry attempts have been exhausted. On rejection, the `work` block is retried after the given + delay `interval` and will continue to retry until the number of specified attempts have been + exhausted or will bail early if the given condition is not met. + + @param queue A queue to invoke the `work` block on. + @param count Max number of retry attempts. The `work` block will be executed once if the specified + count is less than or equal to zero. + @param interval Time to wait before the next retry attempt. + @param predicate Condition to check before the next retry attempt. The predicate block provides the + the number of remaining retry attempts and the error that the promise was rejected + with. + @param work A block that executes asynchronously on the given `queue` and returns a value or an + error used to resolve the promise. + @return A new pending promise that fulfills with the same value as the promise returned from `work` + block, or rejects with the same error after all retry attempts have been exhausted or if + the given condition is not met. + */ ++ (instancetype)onQueue:(dispatch_queue_t)queue + attempts:(NSInteger)count + delay:(NSTimeInterval)interval + condition:(nullable FBLPromiseRetryPredicateBlock)predicate + retry:(FBLPromiseRetryWorkBlock)work NS_REFINED_FOR_SWIFT; + +@end + +/** + Convenience dot-syntax wrappers for `FBLPromise+Retry` operators. + Usage: FBLPromise.retry(^id { ... }) + */ +@interface FBLPromise(DotSyntax_RetryAdditions) + ++ (FBLPromise * (^)(FBLPromiseRetryWorkBlock))retry FBL_PROMISES_DOT_SYNTAX + NS_SWIFT_UNAVAILABLE(""); ++ (FBLPromise * (^)(dispatch_queue_t, FBLPromiseRetryWorkBlock))retryOn FBL_PROMISES_DOT_SYNTAX + NS_SWIFT_UNAVAILABLE(""); ++ (FBLPromise * (^)(NSInteger, NSTimeInterval, FBLPromiseRetryPredicateBlock __nullable, + FBLPromiseRetryWorkBlock))retryAgain FBL_PROMISES_DOT_SYNTAX + NS_SWIFT_UNAVAILABLE(""); ++ (FBLPromise * (^)(dispatch_queue_t, NSInteger, NSTimeInterval, + FBLPromiseRetryPredicateBlock __nullable, + FBLPromiseRetryWorkBlock))retryAgainOn FBL_PROMISES_DOT_SYNTAX + NS_SWIFT_UNAVAILABLE(""); + +@end + +NS_ASSUME_NONNULL_END diff --git a/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Testing.h b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Testing.h new file mode 100644 index 0000000..8478ae2 --- /dev/null +++ b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Testing.h @@ -0,0 +1,57 @@ +/** + Copyright 2018 Google Inc. All rights reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at: + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + */ + +#import "FBLPromise.h" + +NS_ASSUME_NONNULL_BEGIN + +/** + Waits for all scheduled promises blocks. + + @param timeout Maximum time to wait. + @return YES if all promises blocks have completed before the timeout and NO otherwise. + */ +FOUNDATION_EXTERN BOOL FBLWaitForPromisesWithTimeout(NSTimeInterval timeout) NS_REFINED_FOR_SWIFT; + +@interface FBLPromise(TestingAdditions) + +/** + Dispatch group for promises that is typically used to wait for all scheduled blocks. + */ +@property(class, nonatomic, readonly) dispatch_group_t dispatchGroup NS_REFINED_FOR_SWIFT; + +/** + Properties to get the current state of the promise. + */ +@property(nonatomic, readonly) BOOL isPending NS_REFINED_FOR_SWIFT; +@property(nonatomic, readonly) BOOL isFulfilled NS_REFINED_FOR_SWIFT; +@property(nonatomic, readonly) BOOL isRejected NS_REFINED_FOR_SWIFT; + +/** + Value the promise was fulfilled with. + Can be nil if the promise is still pending, was resolved with nil or after it has been rejected. + */ +@property(nonatomic, readonly, nullable) Value value NS_REFINED_FOR_SWIFT; + +/** + Error the promise was rejected with. + Can be nil if the promise is still pending or after it has been fulfilled. + */ +@property(nonatomic, readonly, nullable) NSError *error NS_REFINED_FOR_SWIFT; + +@end + +NS_ASSUME_NONNULL_END diff --git a/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Then.h b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Then.h new file mode 100644 index 0000000..32027e6 --- /dev/null +++ b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Then.h @@ -0,0 +1,63 @@ +/** + Copyright 2018 Google Inc. All rights reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at: + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + */ + +#import "FBLPromise.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface FBLPromise(ThenAdditions) + +typedef id __nullable (^FBLPromiseThenWorkBlock)(Value __nullable value) NS_SWIFT_UNAVAILABLE(""); + +/** + Creates a pending promise which eventually gets resolved with resolution returned from `work` + block: either value, error or another promise. The `work` block is executed asynchronously only + when the receiver is fulfilled. If receiver is rejected, the returned promise is also rejected with + the same error. + + @param work A block to handle the value that receiver was fulfilled with. + @return A new pending promise to be resolved with resolution returned from the `work` block. + */ +- (FBLPromise *)then:(FBLPromiseThenWorkBlock)work NS_SWIFT_UNAVAILABLE(""); + +/** + Creates a pending promise which eventually gets resolved with resolution returned from `work` + block: either value, error or another promise. The `work` block is executed asynchronously when the + receiver is fulfilled. If receiver is rejected, the returned promise is also rejected with the same + error. + + @param queue A queue to invoke the `work` block on. + @param work A block to handle the value that receiver was fulfilled with. + @return A new pending promise to be resolved with resolution returned from the `work` block. + */ +- (FBLPromise *)onQueue:(dispatch_queue_t)queue + then:(FBLPromiseThenWorkBlock)work NS_REFINED_FOR_SWIFT; + +@end + +/** + Convenience dot-syntax wrappers for `FBLPromise` `then` operators. + Usage: promise.then(^id(id value) { ... }) + */ +@interface FBLPromise(DotSyntax_ThenAdditions) + +- (FBLPromise* (^)(FBLPromiseThenWorkBlock))then FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE(""); +- (FBLPromise* (^)(dispatch_queue_t, FBLPromiseThenWorkBlock))thenOn FBL_PROMISES_DOT_SYNTAX + NS_SWIFT_UNAVAILABLE(""); + +@end + +NS_ASSUME_NONNULL_END diff --git a/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Timeout.h b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Timeout.h new file mode 100644 index 0000000..184ba16 --- /dev/null +++ b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Timeout.h @@ -0,0 +1,57 @@ +/** + Copyright 2018 Google Inc. All rights reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at: + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + */ + +#import "FBLPromise.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface FBLPromise(TimeoutAdditions) + +/** + Waits for a promise with the specified `timeout`. + + @param interval Time to wait in seconds. + @return A new pending promise that gets either resolved with same resolution as the receiver or + rejected with `FBLPromiseErrorCodeTimedOut` error code in `FBLPromiseErrorDomain`. + */ +- (FBLPromise *)timeout:(NSTimeInterval)interval NS_SWIFT_UNAVAILABLE(""); + +/** + Waits for a promise with the specified `timeout`. + + @param queue A queue to dispatch on. + @param interval Time to wait in seconds. + @return A new pending promise that gets either resolved with same resolution as the receiver or + rejected with `FBLPromiseErrorCodeTimedOut` error code in `FBLPromiseErrorDomain`. + */ +- (FBLPromise *)onQueue:(dispatch_queue_t)queue + timeout:(NSTimeInterval)interval NS_REFINED_FOR_SWIFT; + +@end + +/** + Convenience dot-syntax wrappers for `FBLPromise` `timeout` operators. + Usage: promise.timeout(...) + */ +@interface FBLPromise(DotSyntax_TimeoutAdditions) + +- (FBLPromise* (^)(NSTimeInterval))timeout FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE(""); +- (FBLPromise* (^)(dispatch_queue_t, NSTimeInterval))timeoutOn FBL_PROMISES_DOT_SYNTAX + NS_SWIFT_UNAVAILABLE(""); + +@end + +NS_ASSUME_NONNULL_END diff --git a/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Validate.h b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Validate.h new file mode 100644 index 0000000..9dfa2f1 --- /dev/null +++ b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Validate.h @@ -0,0 +1,60 @@ +/** + Copyright 2018 Google Inc. All rights reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at: + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + */ + +#import "FBLPromise.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface FBLPromise(ValidateAdditions) + +typedef BOOL (^FBLPromiseValidateWorkBlock)(Value __nullable value) NS_SWIFT_UNAVAILABLE(""); + +/** + Validates a fulfilled value or rejects the value if it can not be validated. + + @param predicate An expression to validate. + @return A new pending promise that gets either resolved with same resolution as the receiver or + rejected with `FBLPromiseErrorCodeValidationFailure` error code in `FBLPromiseErrorDomain`. + */ +- (FBLPromise *)validate:(FBLPromiseValidateWorkBlock)predicate NS_SWIFT_UNAVAILABLE(""); + +/** + Validates a fulfilled value or rejects the value if it can not be validated. + + @param queue A queue to dispatch on. + @param predicate An expression to validate. + @return A new pending promise that gets either resolved with same resolution as the receiver or + rejected with `FBLPromiseErrorCodeValidationFailure` error code in `FBLPromiseErrorDomain`. + */ +- (FBLPromise *)onQueue:(dispatch_queue_t)queue + validate:(FBLPromiseValidateWorkBlock)predicate NS_REFINED_FOR_SWIFT; + +@end + +/** + Convenience dot-syntax wrappers for `FBLPromise` `validate` operators. + Usage: promise.validate(^BOOL(id value) { ... }) + */ +@interface FBLPromise(DotSyntax_ValidateAdditions) + +- (FBLPromise * (^)(FBLPromiseValidateWorkBlock))validate FBL_PROMISES_DOT_SYNTAX + NS_SWIFT_UNAVAILABLE(""); +- (FBLPromise * (^)(dispatch_queue_t, FBLPromiseValidateWorkBlock))validateOn + FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE(""); + +@end + +NS_ASSUME_NONNULL_END diff --git a/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Wrap.h b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Wrap.h new file mode 100644 index 0000000..664e1bb --- /dev/null +++ b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise+Wrap.h @@ -0,0 +1,316 @@ +/** + Copyright 2018 Google Inc. All rights reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at: + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + */ + +#import "FBLPromise.h" + +NS_ASSUME_NONNULL_BEGIN + +/** + Different types of completion handlers available to be wrapped with promise. + */ +typedef void (^FBLPromiseCompletion)(void) NS_SWIFT_UNAVAILABLE(""); +typedef void (^FBLPromiseObjectCompletion)(id __nullable) NS_SWIFT_UNAVAILABLE(""); +typedef void (^FBLPromiseErrorCompletion)(NSError* __nullable) NS_SWIFT_UNAVAILABLE(""); +typedef void (^FBLPromiseObjectOrErrorCompletion)(id __nullable, NSError* __nullable) + NS_SWIFT_UNAVAILABLE(""); +typedef void (^FBLPromiseErrorOrObjectCompletion)(NSError* __nullable, id __nullable) + NS_SWIFT_UNAVAILABLE(""); +typedef void (^FBLPromise2ObjectsOrErrorCompletion)(id __nullable, id __nullable, + NSError* __nullable) NS_SWIFT_UNAVAILABLE(""); +typedef void (^FBLPromiseBoolCompletion)(BOOL) NS_SWIFT_UNAVAILABLE(""); +typedef void (^FBLPromiseBoolOrErrorCompletion)(BOOL, NSError* __nullable) NS_SWIFT_UNAVAILABLE(""); +typedef void (^FBLPromiseIntegerCompletion)(NSInteger) NS_SWIFT_UNAVAILABLE(""); +typedef void (^FBLPromiseIntegerOrErrorCompletion)(NSInteger, NSError* __nullable) + NS_SWIFT_UNAVAILABLE(""); +typedef void (^FBLPromiseDoubleCompletion)(double) NS_SWIFT_UNAVAILABLE(""); +typedef void (^FBLPromiseDoubleOrErrorCompletion)(double, NSError* __nullable) + NS_SWIFT_UNAVAILABLE(""); + +/** + Provides an easy way to convert methods that use common callback patterns into promises. + */ +@interface FBLPromise(WrapAdditions) + +/** + @param work A block to perform any operations needed to resolve the promise. + @returns A promise that resolves with `nil` when completion handler is invoked. + */ ++ (instancetype)wrapCompletion:(void (^)(FBLPromiseCompletion handler))work + NS_SWIFT_UNAVAILABLE(""); + +/** + @param queue A queue to invoke the `work` block on. + @param work A block to perform any operations needed to resolve the promise. + @returns A promise that resolves with `nil` when completion handler is invoked. + */ ++ (instancetype)onQueue:(dispatch_queue_t)queue + wrapCompletion:(void (^)(FBLPromiseCompletion handler))work NS_SWIFT_UNAVAILABLE(""); + +/** + @param work A block to perform any operations needed to resolve the promise. + @returns A promise that resolves with an object provided by completion handler. + */ ++ (instancetype)wrapObjectCompletion:(void (^)(FBLPromiseObjectCompletion handler))work + NS_SWIFT_UNAVAILABLE(""); + +/** + @param queue A queue to invoke the `work` block on. + @param work A block to perform any operations needed to resolve the promise. + @returns A promise that resolves with an object provided by completion handler. + */ ++ (instancetype)onQueue:(dispatch_queue_t)queue + wrapObjectCompletion:(void (^)(FBLPromiseObjectCompletion handler))work + NS_SWIFT_UNAVAILABLE(""); + +/** + @param work A block to perform any operations needed to resolve the promise. + @returns A promise that resolves with an error provided by completion handler. + If error is `nil`, fulfills with `nil`, otherwise rejects with the error. + */ ++ (instancetype)wrapErrorCompletion:(void (^)(FBLPromiseErrorCompletion handler))work + NS_SWIFT_UNAVAILABLE(""); + +/** + @param queue A queue to invoke the `work` block on. + @param work A block to perform any operations needed to resolve the promise. + @returns A promise that resolves with an error provided by completion handler. + If error is `nil`, fulfills with `nil`, otherwise rejects with the error. + */ ++ (instancetype)onQueue:(dispatch_queue_t)queue + wrapErrorCompletion:(void (^)(FBLPromiseErrorCompletion handler))work NS_SWIFT_UNAVAILABLE(""); + +/** + @param work A block to perform any operations needed to resolve the promise. + @returns A promise that resolves with an object provided by completion handler if error is `nil`. + Otherwise, rejects with the error. + */ ++ (instancetype)wrapObjectOrErrorCompletion: + (void (^)(FBLPromiseObjectOrErrorCompletion handler))work NS_SWIFT_UNAVAILABLE(""); + +/** + @param queue A queue to invoke the `work` block on. + @param work A block to perform any operations needed to resolve the promise. + @returns A promise that resolves with an object provided by completion handler if error is `nil`. + Otherwise, rejects with the error. + */ ++ (instancetype)onQueue:(dispatch_queue_t)queue + wrapObjectOrErrorCompletion:(void (^)(FBLPromiseObjectOrErrorCompletion handler))work + NS_SWIFT_UNAVAILABLE(""); + +/** + @param work A block to perform any operations needed to resolve the promise. + @returns A promise that resolves with an error or object provided by completion handler. If error + is not `nil`, rejects with the error. + */ ++ (instancetype)wrapErrorOrObjectCompletion: + (void (^)(FBLPromiseErrorOrObjectCompletion handler))work NS_SWIFT_UNAVAILABLE(""); + +/** + @param queue A queue to invoke the `work` block on. + @param work A block to perform any operations needed to resolve the promise. + @returns A promise that resolves with an error or object provided by completion handler. If error + is not `nil`, rejects with the error. + */ ++ (instancetype)onQueue:(dispatch_queue_t)queue + wrapErrorOrObjectCompletion:(void (^)(FBLPromiseErrorOrObjectCompletion handler))work + NS_SWIFT_UNAVAILABLE(""); + +/** + @param work A block to perform any operations needed to resolve the promise. + @returns A promise that resolves with an array of objects provided by completion handler in order + if error is `nil`. Otherwise, rejects with the error. + */ ++ (FBLPromise*)wrap2ObjectsOrErrorCompletion: + (void (^)(FBLPromise2ObjectsOrErrorCompletion handler))work NS_SWIFT_UNAVAILABLE(""); + +/** + @param queue A queue to invoke the `work` block on. + @param work A block to perform any operations needed to resolve the promise. + @returns A promise that resolves with an array of objects provided by completion handler in order + if error is `nil`. Otherwise, rejects with the error. + */ ++ (FBLPromise*)onQueue:(dispatch_queue_t)queue + wrap2ObjectsOrErrorCompletion:(void (^)(FBLPromise2ObjectsOrErrorCompletion handler))work + NS_SWIFT_UNAVAILABLE(""); + +/** + @param work A block to perform any operations needed to resolve the promise. + @returns A promise that resolves with an `NSNumber` wrapping YES/NO. + */ ++ (FBLPromise*)wrapBoolCompletion:(void (^)(FBLPromiseBoolCompletion handler))work + NS_SWIFT_UNAVAILABLE(""); + +/** + @param queue A queue to invoke the `work` block on. + @param work A block to perform any operations needed to resolve the promise. + @returns A promise that resolves with an `NSNumber` wrapping YES/NO. + */ ++ (FBLPromise*)onQueue:(dispatch_queue_t)queue + wrapBoolCompletion:(void (^)(FBLPromiseBoolCompletion handler))work + NS_SWIFT_UNAVAILABLE(""); + +/** + @param work A block to perform any operations needed to resolve the promise. + @returns A promise that resolves with an `NSNumber` wrapping YES/NO when error is `nil`. + Otherwise rejects with the error. + */ ++ (FBLPromise*)wrapBoolOrErrorCompletion: + (void (^)(FBLPromiseBoolOrErrorCompletion handler))work NS_SWIFT_UNAVAILABLE(""); + +/** + @param queue A queue to invoke the `work` block on. + @param work A block to perform any operations needed to resolve the promise. + @returns A promise that resolves with an `NSNumber` wrapping YES/NO when error is `nil`. + Otherwise rejects with the error. + */ ++ (FBLPromise*)onQueue:(dispatch_queue_t)queue + wrapBoolOrErrorCompletion:(void (^)(FBLPromiseBoolOrErrorCompletion handler))work + NS_SWIFT_UNAVAILABLE(""); + +/** + @param work A block to perform any operations needed to resolve the promise. + @returns A promise that resolves with an `NSNumber` wrapping an integer. + */ ++ (FBLPromise*)wrapIntegerCompletion:(void (^)(FBLPromiseIntegerCompletion handler))work + NS_SWIFT_UNAVAILABLE(""); + +/** + @param queue A queue to invoke the `work` block on. + @param work A block to perform any operations needed to resolve the promise. + @returns A promise that resolves with an `NSNumber` wrapping an integer. + */ ++ (FBLPromise*)onQueue:(dispatch_queue_t)queue + wrapIntegerCompletion:(void (^)(FBLPromiseIntegerCompletion handler))work + NS_SWIFT_UNAVAILABLE(""); + +/** + @param work A block to perform any operations needed to resolve the promise. + @returns A promise that resolves with an `NSNumber` wrapping an integer when error is `nil`. + Otherwise rejects with the error. + */ ++ (FBLPromise*)wrapIntegerOrErrorCompletion: + (void (^)(FBLPromiseIntegerOrErrorCompletion handler))work NS_SWIFT_UNAVAILABLE(""); + +/** + @param queue A queue to invoke the `work` block on. + @param work A block to perform any operations needed to resolve the promise. + @returns A promise that resolves with an `NSNumber` wrapping an integer when error is `nil`. + Otherwise rejects with the error. + */ ++ (FBLPromise*)onQueue:(dispatch_queue_t)queue + wrapIntegerOrErrorCompletion:(void (^)(FBLPromiseIntegerOrErrorCompletion handler))work + NS_SWIFT_UNAVAILABLE(""); + +/** + @param work A block to perform any operations needed to resolve the promise. + @returns A promise that resolves with an `NSNumber` wrapping a double. + */ ++ (FBLPromise*)wrapDoubleCompletion:(void (^)(FBLPromiseDoubleCompletion handler))work + NS_SWIFT_UNAVAILABLE(""); + +/** + @param queue A queue to invoke the `work` block on. + @param work A block to perform any operations needed to resolve the promise. + @returns A promise that resolves with an `NSNumber` wrapping a double. + */ ++ (FBLPromise*)onQueue:(dispatch_queue_t)queue + wrapDoubleCompletion:(void (^)(FBLPromiseDoubleCompletion handler))work + NS_SWIFT_UNAVAILABLE(""); + +/** + @param work A block to perform any operations needed to resolve the promise. + @returns A promise that resolves with an `NSNumber` wrapping a double when error is `nil`. + Otherwise rejects with the error. + */ ++ (FBLPromise*)wrapDoubleOrErrorCompletion: + (void (^)(FBLPromiseDoubleOrErrorCompletion handler))work NS_SWIFT_UNAVAILABLE(""); + +/** + @param queue A queue to invoke the `work` block on. + @param work A block to perform any operations needed to resolve the promise. + @returns A promise that resolves with an `NSNumber` wrapping a double when error is `nil`. + Otherwise rejects with the error. + */ ++ (FBLPromise*)onQueue:(dispatch_queue_t)queue + wrapDoubleOrErrorCompletion:(void (^)(FBLPromiseDoubleOrErrorCompletion handler))work + NS_SWIFT_UNAVAILABLE(""); + +@end + +/** + Convenience dot-syntax wrappers for `FBLPromise` `wrap` operators. + Usage: FBLPromise.wrapCompletion(^(FBLPromiseCompletion handler) {...}) + */ +@interface FBLPromise(DotSyntax_WrapAdditions) + ++ (FBLPromise* (^)(void (^)(FBLPromiseCompletion)))wrapCompletion FBL_PROMISES_DOT_SYNTAX + NS_SWIFT_UNAVAILABLE(""); ++ (FBLPromise* (^)(dispatch_queue_t, void (^)(FBLPromiseCompletion)))wrapCompletionOn + FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE(""); ++ (FBLPromise* (^)(void (^)(FBLPromiseObjectCompletion)))wrapObjectCompletion + FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE(""); ++ (FBLPromise* (^)(dispatch_queue_t, void (^)(FBLPromiseObjectCompletion)))wrapObjectCompletionOn + FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE(""); ++ (FBLPromise* (^)(void (^)(FBLPromiseErrorCompletion)))wrapErrorCompletion FBL_PROMISES_DOT_SYNTAX + NS_SWIFT_UNAVAILABLE(""); ++ (FBLPromise* (^)(dispatch_queue_t, void (^)(FBLPromiseErrorCompletion)))wrapErrorCompletionOn + FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE(""); ++ (FBLPromise* (^)(void (^)(FBLPromiseObjectOrErrorCompletion)))wrapObjectOrErrorCompletion + FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE(""); ++ (FBLPromise* (^)(dispatch_queue_t, + void (^)(FBLPromiseObjectOrErrorCompletion)))wrapObjectOrErrorCompletionOn + FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE(""); ++ (FBLPromise* (^)(void (^)(FBLPromiseErrorOrObjectCompletion)))wrapErrorOrObjectCompletion + FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE(""); ++ (FBLPromise* (^)(dispatch_queue_t, + void (^)(FBLPromiseErrorOrObjectCompletion)))wrapErrorOrObjectCompletionOn + FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE(""); ++ (FBLPromise* (^)(void (^)(FBLPromise2ObjectsOrErrorCompletion))) + wrap2ObjectsOrErrorCompletion FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE(""); ++ (FBLPromise* (^)(dispatch_queue_t, void (^)(FBLPromise2ObjectsOrErrorCompletion))) + wrap2ObjectsOrErrorCompletionOn FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE(""); ++ (FBLPromise* (^)(void (^)(FBLPromiseBoolCompletion)))wrapBoolCompletion + FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE(""); ++ (FBLPromise* (^)(dispatch_queue_t, + void (^)(FBLPromiseBoolCompletion)))wrapBoolCompletionOn + FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE(""); ++ (FBLPromise* (^)(void (^)(FBLPromiseBoolOrErrorCompletion)))wrapBoolOrErrorCompletion + FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE(""); ++ (FBLPromise* (^)(dispatch_queue_t, + void (^)(FBLPromiseBoolOrErrorCompletion)))wrapBoolOrErrorCompletionOn + FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE(""); ++ (FBLPromise* (^)(void (^)(FBLPromiseIntegerCompletion)))wrapIntegerCompletion + FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE(""); ++ (FBLPromise* (^)(dispatch_queue_t, + void (^)(FBLPromiseIntegerCompletion)))wrapIntegerCompletionOn + FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE(""); ++ (FBLPromise* (^)(void (^)(FBLPromiseIntegerOrErrorCompletion))) + wrapIntegerOrErrorCompletion FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE(""); ++ (FBLPromise* (^)(dispatch_queue_t, void (^)(FBLPromiseIntegerOrErrorCompletion))) + wrapIntegerOrErrorCompletionOn FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE(""); ++ (FBLPromise* (^)(void (^)(FBLPromiseDoubleCompletion)))wrapDoubleCompletion + FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE(""); ++ (FBLPromise* (^)(dispatch_queue_t, + void (^)(FBLPromiseDoubleCompletion)))wrapDoubleCompletionOn + FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE(""); ++ (FBLPromise* (^)(void (^)(FBLPromiseDoubleOrErrorCompletion))) + wrapDoubleOrErrorCompletion FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE(""); ++ (FBLPromise* (^)(dispatch_queue_t, void (^)(FBLPromiseDoubleOrErrorCompletion))) + wrapDoubleOrErrorCompletionOn FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE(""); + +@end + +NS_ASSUME_NONNULL_END diff --git a/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise.h b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise.h new file mode 100644 index 0000000..98c813b --- /dev/null +++ b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromise.h @@ -0,0 +1,93 @@ +/** + Copyright 2018 Google Inc. All rights reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at: + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + */ + +#import "FBLPromiseError.h" + +NS_ASSUME_NONNULL_BEGIN + +/** + Promises synchronization construct in Objective-C. + */ +@interface FBLPromise<__covariant Value> : NSObject + +/** + Default dispatch queue used for `FBLPromise`, which is `main` if a queue is not specified. + */ +@property(class) dispatch_queue_t defaultDispatchQueue NS_REFINED_FOR_SWIFT; + +/** + Creates a pending promise. + */ ++ (instancetype)pendingPromise NS_REFINED_FOR_SWIFT; + +/** + Creates a resolved promise. + + @param resolution An object to resolve the promise with: either a value or an error. + @return A new resolved promise. + */ ++ (instancetype)resolvedWith:(nullable id)resolution NS_REFINED_FOR_SWIFT; + +/** + Synchronously fulfills the promise with a value. + + @param value An arbitrary value to fulfill the promise with, including `nil`. + */ +- (void)fulfill:(nullable Value)value NS_REFINED_FOR_SWIFT; + +/** + Synchronously rejects the promise with an error. + + @param error An error to reject the promise with. + */ +- (void)reject:(NSError *)error NS_REFINED_FOR_SWIFT; + ++ (instancetype)new NS_UNAVAILABLE; +- (instancetype)init NS_UNAVAILABLE; +@end + +@interface FBLPromise() + +/** + Adds an object to the set of pending objects to keep strongly while the promise is pending. + Used by the Swift wrappers to keep them alive until the underlying ObjC promise is resolved. + + @param object An object to add. + */ +- (void)addPendingObject:(id)object NS_REFINED_FOR_SWIFT; + +@end + +#ifdef FBL_PROMISES_DOT_SYNTAX_IS_DEPRECATED +#define FBL_PROMISES_DOT_SYNTAX __attribute__((deprecated)) +#else +#define FBL_PROMISES_DOT_SYNTAX +#endif + +@interface FBLPromise(DotSyntaxAdditions) + +/** + Convenience dot-syntax wrappers for FBLPromise. + Usage: FBLPromise.pending() + FBLPromise.resolved(value) + + */ ++ (FBLPromise * (^)(void))pending FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE(""); ++ (FBLPromise * (^)(id __nullable))resolved FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE(""); + +@end + +NS_ASSUME_NONNULL_END diff --git a/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromiseError.h b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromiseError.h new file mode 100644 index 0000000..d37af53 --- /dev/null +++ b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromiseError.h @@ -0,0 +1,43 @@ +/** + Copyright 2018 Google Inc. All rights reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at: + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + */ + +#import + +NS_ASSUME_NONNULL_BEGIN + +FOUNDATION_EXTERN NSErrorDomain const FBLPromiseErrorDomain NS_REFINED_FOR_SWIFT; + +/** + Possible error codes in `FBLPromiseErrorDomain`. + */ +typedef NS_ENUM(NSInteger, FBLPromiseErrorCode) { + /** Promise failed to resolve in time. */ + FBLPromiseErrorCodeTimedOut = 1, + /** Validation predicate returned false. */ + FBLPromiseErrorCodeValidationFailure = 2, +} NS_REFINED_FOR_SWIFT; + +NS_INLINE BOOL FBLPromiseErrorIsTimedOut(NSError *error) NS_SWIFT_UNAVAILABLE("") { + return error.domain == FBLPromiseErrorDomain && + error.code == FBLPromiseErrorCodeTimedOut; +} + +NS_INLINE BOOL FBLPromiseErrorIsValidationFailure(NSError *error) NS_SWIFT_UNAVAILABLE("") { + return error.domain == FBLPromiseErrorDomain && + error.code == FBLPromiseErrorCodeValidationFailure; +} + +NS_ASSUME_NONNULL_END diff --git a/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromises.h b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromises.h new file mode 100644 index 0000000..2d90bad --- /dev/null +++ b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/FBLPromises.h @@ -0,0 +1,32 @@ +/** + Copyright 2018 Google Inc. All rights reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at: + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + */ + +#import "FBLPromise+All.h" +#import "FBLPromise+Always.h" +#import "FBLPromise+Any.h" +#import "FBLPromise+Async.h" +#import "FBLPromise+Await.h" +#import "FBLPromise+Catch.h" +#import "FBLPromise+Delay.h" +#import "FBLPromise+Do.h" +#import "FBLPromise+Race.h" +#import "FBLPromise+Recover.h" +#import "FBLPromise+Reduce.h" +#import "FBLPromise+Retry.h" +#import "FBLPromise+Then.h" +#import "FBLPromise+Timeout.h" +#import "FBLPromise+Validate.h" +#import "FBLPromise+Wrap.h" diff --git a/plugins/2018.3326/iphone/FBLPromises.framework/Headers/PromisesObjC-umbrella.h b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/PromisesObjC-umbrella.h new file mode 100644 index 0000000..5b014a8 --- /dev/null +++ b/plugins/2018.3326/iphone/FBLPromises.framework/Headers/PromisesObjC-umbrella.h @@ -0,0 +1,36 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + +#import "FBLPromise+All.h" +#import "FBLPromise+Always.h" +#import "FBLPromise+Any.h" +#import "FBLPromise+Async.h" +#import "FBLPromise+Await.h" +#import "FBLPromise+Catch.h" +#import "FBLPromise+Delay.h" +#import "FBLPromise+Do.h" +#import "FBLPromise+Race.h" +#import "FBLPromise+Recover.h" +#import "FBLPromise+Reduce.h" +#import "FBLPromise+Retry.h" +#import "FBLPromise+Testing.h" +#import "FBLPromise+Then.h" +#import "FBLPromise+Timeout.h" +#import "FBLPromise+Validate.h" +#import "FBLPromise+Wrap.h" +#import "FBLPromise.h" +#import "FBLPromiseError.h" +#import "FBLPromises.h" + +FOUNDATION_EXPORT double FBLPromisesVersionNumber; +FOUNDATION_EXPORT const unsigned char FBLPromisesVersionString[]; + diff --git a/plugins/2018.3326/iphone/FBLPromises.framework/Info.plist b/plugins/2018.3326/iphone/FBLPromises.framework/Info.plist new file mode 100644 index 0000000..344ecb7 Binary files /dev/null and b/plugins/2018.3326/iphone/FBLPromises.framework/Info.plist differ diff --git a/plugins/2018.3326/iphone/FBLPromises.framework/Modules/module.modulemap b/plugins/2018.3326/iphone/FBLPromises.framework/Modules/module.modulemap new file mode 100644 index 0000000..7d485cd --- /dev/null +++ b/plugins/2018.3326/iphone/FBLPromises.framework/Modules/module.modulemap @@ -0,0 +1,6 @@ +framework module FBLPromises { + umbrella header "PromisesObjC-umbrella.h" + + export * + module * { export * } +} diff --git a/plugins/2018.3326/iphone/FBLPromises.framework/PrivateHeaders/FBLPromisePrivate.h b/plugins/2018.3326/iphone/FBLPromises.framework/PrivateHeaders/FBLPromisePrivate.h new file mode 100644 index 0000000..7a132f2 --- /dev/null +++ b/plugins/2018.3326/iphone/FBLPromises.framework/PrivateHeaders/FBLPromisePrivate.h @@ -0,0 +1,66 @@ +/** + Copyright 2018 Google Inc. All rights reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at: + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + */ + +#import "FBLPromise+Testing.h" + +NS_ASSUME_NONNULL_BEGIN + +/** + Miscellaneous low-level private interfaces available to extend standard FBLPromise functionality. + */ +@interface FBLPromise() + +typedef void (^FBLPromiseOnFulfillBlock)(Value __nullable value) NS_SWIFT_UNAVAILABLE(""); +typedef void (^FBLPromiseOnRejectBlock)(NSError *error) NS_SWIFT_UNAVAILABLE(""); +typedef id __nullable (^__nullable FBLPromiseChainedFulfillBlock)(Value __nullable value) + NS_SWIFT_UNAVAILABLE(""); +typedef id __nullable (^__nullable FBLPromiseChainedRejectBlock)(NSError *error) + NS_SWIFT_UNAVAILABLE(""); + +/** + Creates a pending promise. + */ +- (instancetype)initPending NS_SWIFT_UNAVAILABLE(""); + +/** + Creates a resolved promise. + + @param resolution An object to resolve the promise with: either a value or an error. + @return A new resolved promise. + */ +- (instancetype)initWithResolution:(nullable id)resolution NS_SWIFT_UNAVAILABLE(""); + +/** + Invokes `fulfill` and `reject` blocks on `queue` when the receiver gets either fulfilled or + rejected respectively. + */ +- (void)observeOnQueue:(dispatch_queue_t)queue + fulfill:(FBLPromiseOnFulfillBlock)onFulfill + reject:(FBLPromiseOnRejectBlock)onReject NS_SWIFT_UNAVAILABLE(""); + +/** + Returns a new promise which gets resolved with the return value of `chainedFulfill` or + `chainedReject` blocks respectively. The blocks are invoked when the receiver gets either + fulfilled or rejected. If `nil` is passed to either block arg, the returned promise is resolved + with the same resolution as the receiver. + */ +- (FBLPromise *)chainOnQueue:(dispatch_queue_t)queue + chainedFulfill:(FBLPromiseChainedFulfillBlock)chainedFulfill + chainedReject:(FBLPromiseChainedRejectBlock)chainedReject NS_SWIFT_UNAVAILABLE(""); + +@end + +NS_ASSUME_NONNULL_END diff --git a/plugins/2018.3326/iphone/GoogleAppMeasurement.framework/GoogleAppMeasurement b/plugins/2018.3326/iphone/GoogleAppMeasurement.framework/GoogleAppMeasurement old mode 100755 new mode 100644 index 11e3f51..58d8ef0 Binary files a/plugins/2018.3326/iphone/GoogleAppMeasurement.framework/GoogleAppMeasurement and b/plugins/2018.3326/iphone/GoogleAppMeasurement.framework/GoogleAppMeasurement differ diff --git a/plugins/2018.3326/iphone/GoogleAppMeasurement.framework/Info.plist b/plugins/2018.3326/iphone/GoogleAppMeasurement.framework/Info.plist index da08178..b44329c 100644 --- a/plugins/2018.3326/iphone/GoogleAppMeasurement.framework/Info.plist +++ b/plugins/2018.3326/iphone/GoogleAppMeasurement.framework/Info.plist @@ -13,7 +13,7 @@ CFBundlePackageType FMWK CFBundleVersion - 8.9.1 + 10.20.0 DTSDKName iphonesimulator11.2 diff --git a/plugins/2018.3326/iphone/GoogleAppMeasurement.framework/Modules/module.modulemap b/plugins/2018.3326/iphone/GoogleAppMeasurement.framework/Modules/module.modulemap new file mode 100644 index 0000000..d3499f0 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleAppMeasurement.framework/Modules/module.modulemap @@ -0,0 +1,10 @@ +framework module GoogleAppMeasurement { +umbrella header "GoogleAppMeasurement-umbrella.h" +export * +module * { export * } + link framework "Security" + link framework "SystemConfiguration" + link "c++" + link "sqlite3" + link "z" +} diff --git a/plugins/2018.3326/iphone/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport b/plugins/2018.3326/iphone/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport old mode 100755 new mode 100644 index f53be16..5bbde0a Binary files a/plugins/2018.3326/iphone/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport and b/plugins/2018.3326/iphone/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport differ diff --git a/plugins/2018.3326/iphone/GoogleAppMeasurementIdentitySupport.framework/Info.plist b/plugins/2018.3326/iphone/GoogleAppMeasurementIdentitySupport.framework/Info.plist index f80bfd1..a882b91 100644 --- a/plugins/2018.3326/iphone/GoogleAppMeasurementIdentitySupport.framework/Info.plist +++ b/plugins/2018.3326/iphone/GoogleAppMeasurementIdentitySupport.framework/Info.plist @@ -13,7 +13,7 @@ CFBundlePackageType FMWK CFBundleVersion - 8.9.1 + 10.20.0 DTSDKName iphonesimulator11.2 diff --git a/plugins/2018.3326/iphone/GoogleAppMeasurementIdentitySupport.framework/Modules/module.modulemap b/plugins/2018.3326/iphone/GoogleAppMeasurementIdentitySupport.framework/Modules/module.modulemap new file mode 100644 index 0000000..4a42c5d --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleAppMeasurementIdentitySupport.framework/Modules/module.modulemap @@ -0,0 +1,5 @@ +framework module GoogleAppMeasurementIdentitySupport { +umbrella header "GoogleAppMeasurementIdentitySupport-umbrella.h" +export * +module * { export * } +} diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/.DS_Store b/plugins/2018.3326/iphone/GoogleMobileAds.framework/.DS_Store new file mode 100644 index 0000000..dcdca39 Binary files /dev/null and b/plugins/2018.3326/iphone/GoogleMobileAds.framework/.DS_Store differ diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/GoogleMobileAds b/plugins/2018.3326/iphone/GoogleMobileAds.framework/GoogleMobileAds index 1176a37..ef8b3a2 100755 Binary files a/plugins/2018.3326/iphone/GoogleMobileAds.framework/GoogleMobileAds and b/plugins/2018.3326/iphone/GoogleMobileAds.framework/GoogleMobileAds differ diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/.DS_Store b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/.DS_Store new file mode 100644 index 0000000..33b0cb1 Binary files /dev/null and b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/.DS_Store differ diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAdChoicesView.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAdChoicesView.h new file mode 100755 index 0000000..6bc2d93 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAdChoicesView.h @@ -0,0 +1,16 @@ +// +// GADAdChoicesView.h +// Google Mobile Ads SDK +// +// Copyright 2016 Google LLC. All rights reserved. +// + +#import + +/// Displays AdChoices content. +/// +/// If a GADAdChoicesView is set on GADNativeAdView prior to calling -setNativeAd:, AdChoices +/// content will render inside the GADAdChoicesView. By default, AdChoices is placed in the top +/// right corner of GADNativeAdView. +@interface GADAdChoicesView : UIView +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAdFormat.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAdFormat.h new file mode 100755 index 0000000..39c6a10 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAdFormat.h @@ -0,0 +1,20 @@ +// +// GADAdFormat.h +// Google Mobile Ads SDK +// +// Copyright 2018-2022 Google LLC. All rights reserved. +// + +#import +#import + +/// Requested ad format. +typedef NS_ENUM(NSInteger, GADAdFormat) { + GADAdFormatBanner = 0, ///< Banner. + GADAdFormatInterstitial = 1, ///< Interstitial. + GADAdFormatRewarded = 2, ///< Rewarded. + GADAdFormatNative = 3, ///< Native. + GADAdFormatRewardedInterstitial = 4, ///< Rewarded interstitial. + GADAdFormatUnknown GAD_DEPRECATED_MSG_ATTRIBUTE("Deprecated. No replacement.") = 5, ///< Unknown. + GADAdFormatAppOpen = 6, ///< App open. +}; diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAdLoader.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAdLoader.h new file mode 100755 index 0000000..aaadacd --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAdLoader.h @@ -0,0 +1,46 @@ +// +// GADAdLoader.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google LLC. All rights reserved. +// + +#import +#import +#import +#import +#import + +/// Ad loader options base class. See each ad type's header for available GADAdLoaderOptions +/// subclasses. +@interface GADAdLoaderOptions : NSObject +@end + +/// Loads ads. See GADAdLoaderAdTypes.h for available ad types. +@interface GADAdLoader : NSObject + +/// Object notified when an ad request succeeds or fails. Must conform to requested ad types' +/// delegate protocols. +@property(nonatomic, weak, nullable) id delegate; + +/// The ad loader's ad unit ID. +@property(nonatomic, readonly, nonnull) NSString *adUnitID; + +/// Indicates whether the ad loader is loading. +@property(nonatomic, getter=isLoading, readonly) BOOL loading; + +/// Returns an initialized ad loader configured to load the specified ad types. +/// +/// @param rootViewController The root view controller is used to present ad click actions. +/// @param adTypes An array of ad types. See GADAdLoaderAdTypes.h for available ad types. +/// @param options An array of GADAdLoaderOptions objects to configure how ads are loaded, or nil +/// to use default options. See each ad type's header for available GADAdLoaderOptions subclasses. +- (nonnull instancetype)initWithAdUnitID:(nonnull NSString *)adUnitID + rootViewController:(nullable UIViewController *)rootViewController + adTypes:(nonnull NSArray *)adTypes + options:(nullable NSArray *)options; + +/// Loads the ad and informs the delegate of the outcome. +- (void)loadRequest:(nullable GADRequest *)request; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAdLoaderAdTypes.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAdLoaderAdTypes.h new file mode 100755 index 0000000..f31dfb0 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAdLoaderAdTypes.h @@ -0,0 +1,23 @@ +// +// GADAdLoaderAdTypes.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google LLC. All rights reserved. +// + +#import +#import + +typedef NSString *GADAdLoaderAdType NS_TYPED_ENUM; + +/// Use with GADAdLoader to request native custom template ads. To receive ads, the ad loader's +/// delegate must conform to the GADCustomNativeAdLoaderDelegate protocol. See GADCustomNativeAd.h. +FOUNDATION_EXPORT GADAdLoaderAdType _Nonnull const GADAdLoaderAdTypeCustomNative; + +/// Use with GADAdLoader to request Google Ad Manager banner ads. To receive ads, the ad loader's +/// delegate must conform to the GAMBannerAdLoaderDelegate protocol. See GAMBannerView.h. +FOUNDATION_EXPORT GADAdLoaderAdType _Nonnull const GADAdLoaderAdTypeGAMBanner; + +/// Use with GADAdLoader to request native ads. To receive ads, the ad loader's delegate must +/// conform to the GADNativeAdLoaderDelegate protocol. See GADNativeAd.h. +FOUNDATION_EXPORT GADAdLoaderAdType _Nonnull const GADAdLoaderAdTypeNative; diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAdLoaderDelegate.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAdLoaderDelegate.h new file mode 100755 index 0000000..559b337 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAdLoaderDelegate.h @@ -0,0 +1,25 @@ +// +// GADAdLoaderDelegate.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google LLC. All rights reserved. +// + +#import + +@class GADAdLoader; + +/// Base ad loader delegate protocol. Ad types provide extended protocols that declare methods to +/// handle successful ad loads. +@protocol GADAdLoaderDelegate + +/// Called when adLoader fails to load an ad. +- (void)adLoader:(nonnull GADAdLoader *)adLoader + didFailToReceiveAdWithError:(nonnull NSError *)error; + +@optional + +/// Called after adLoader has finished loading. +- (void)adLoaderDidFinishLoading:(nonnull GADAdLoader *)adLoader; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAdMetadata.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAdMetadata.h new file mode 100755 index 0000000..3634413 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAdMetadata.h @@ -0,0 +1,33 @@ +// +// GADAdMetadata.h +// Google Mobile Ads SDK +// +// Copyright 2017 Google LLC. All rights reserved. +// + +#import + +/// Ad metadata key type. +typedef NSString *GADAdMetadataKey NS_TYPED_ENUM; + +@protocol GADAdMetadataDelegate; + +/// Protocol for ads that provide ad metadata. +@protocol GADAdMetadataProvider + +/// The ad's metadata. Use adMetadataDelegate to receive ad metadata change messages. +@property(nonatomic, readonly, nullable) NSDictionary *adMetadata; + +/// Delegate for receiving ad metadata changes. +@property(nonatomic, weak, nullable) id adMetadataDelegate; + +@end + +/// Delegate protocol for receiving ad metadata change messages from a GADAdMetadataProvider. +@protocol GADAdMetadataDelegate + +/// Tells the delegate that the ad's metadata changed. Called when an ad loads and when a loaded +/// ad's metadata changes. +- (void)adMetadataDidChange:(nonnull id)ad; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAdNetworkExtras.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAdNetworkExtras.h new file mode 100755 index 0000000..d9e2b78 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAdNetworkExtras.h @@ -0,0 +1,16 @@ +// +// GADAdNetworkExtras.h +// Google Mobile Ads SDK +// +// Copyright 2012 Google LLC. All rights reserved. +// + +#import + +/// An object implementing this protocol contains information set by the publisher on the client +/// device for a particular ad network. +/// +/// Ad networks should create an 'extras' object implementing this protocol for their publishers to +/// use. +@protocol GADAdNetworkExtras +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAdReward.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAdReward.h new file mode 100755 index 0000000..62d3f8a --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAdReward.h @@ -0,0 +1,27 @@ +// +// GADAdReward.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google LLC. All rights reserved. +// + +#import + +/// A block to be executed when the user earns a reward. +typedef void (^GADUserDidEarnRewardHandler)(void); + +/// Ad reward information. +@interface GADAdReward : NSObject + +/// Type of the reward. +@property(nonatomic, readonly, nonnull) NSString *type; + +/// Amount rewarded to the user. +@property(nonatomic, readonly, nonnull) NSDecimalNumber *amount; + +/// Returns an initialized GADAdReward with the provided reward type and reward amount. +- (nonnull instancetype)initWithRewardType:(nullable NSString *)rewardType + rewardAmount:(nullable NSDecimalNumber *)rewardAmount + NS_DESIGNATED_INITIALIZER; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAdSize.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAdSize.h new file mode 100755 index 0000000..6073d9c --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAdSize.h @@ -0,0 +1,165 @@ +// +// GADAdSize.h +// Google Mobile Ads SDK +// +// Copyright 2012 Google LLC. All rights reserved. +// + +#import +#import +#import + +/// A valid GADAdSize is considered to be one of the predefined GADAdSize constants or a GADAdSize +/// constructed by GADAdSizeFromCGSize, GADAdSizeFullWidthPortraitWithHeight, +/// GADAdSizeFullWidthLandscapeWithHeight. +/// +/// Do not create a GADAdSize manually. Use one of the GADAdSize constants. Treat GADAdSize as an +/// opaque type. Do not access any fields directly. To obtain a concrete CGSize, use the function +/// CGSizeFromGADAdSize(). +typedef struct GAD_BOXABLE GADAdSize GADAdSize; + +/// Ad size. +/// +/// @see typedef GADAdSize +struct GAD_BOXABLE GADAdSize { + /// The ad size. Don't modify this value directly. + CGSize size; + /// Reserved. + NSUInteger flags; +}; + +#pragma mark Standard Sizes + +/// iPhone and iPod Touch ad size. Typically 320x50. +FOUNDATION_EXPORT GADAdSize const GADAdSizeBanner; + +/// Taller version of GADAdSizeBanner. Typically 320x100. +FOUNDATION_EXPORT GADAdSize const GADAdSizeLargeBanner; + +/// Medium Rectangle size for the iPad (especially in a UISplitView's left pane). Typically 300x250. +FOUNDATION_EXPORT GADAdSize const GADAdSizeMediumRectangle; + +/// Full Banner size for the iPad (especially in a UIPopoverController or in +/// UIModalPresentationFormSheet). Typically 468x60. +FOUNDATION_EXPORT GADAdSize const GADAdSizeFullBanner; + +/// Leaderboard size for the iPad. Typically 728x90. +FOUNDATION_EXPORT GADAdSize const GADAdSizeLeaderboard; + +/// Skyscraper size for the iPad. Mediation only. AdMob/Google does not offer this size. Typically +/// 120x600. +FOUNDATION_EXPORT GADAdSize const GADAdSizeSkyscraper; + +/// An ad size that spans the full width of its container, with a height dynamically determined by +/// the ad. +FOUNDATION_EXPORT GADAdSize const GADAdSizeFluid; + +/// Invalid ad size marker. +FOUNDATION_EXPORT GADAdSize const GADAdSizeInvalid; + +#pragma mark Inline Adaptive Sizes + +/// Returns a GADAdSize with the given width and the device's portrait height. This ad size +/// allows Google servers to choose an optimal ad size less than or equal to the returned size. The +/// exact size of the ad returned is passed through the banner's ad size delegate and is indicated +/// by the banner's intrinsicContentSize. This ad size is most suitable for ads intended for scroll +/// views. +FOUNDATION_EXPORT GADAdSize GADPortraitInlineAdaptiveBannerAdSizeWithWidth(CGFloat width); + +/// Returns a GADAdSize with the given width and the device's landscape height. This ad size +/// allows Google servers to choose an optimal ad size less than or equal to the returned size. The +/// exact size of the ad returned is passed through the banner's ad size delegate and is indicated +/// by the banner's intrinsicContentSize. This ad size is most suitable for ads intended for scroll +/// views. +FOUNDATION_EXPORT GADAdSize GADLandscapeInlineAdaptiveBannerAdSizeWithWidth(CGFloat width); + +/// Returns a GADAdSize with the given width and the device's height. This is a convenience +/// function to return GADPortraitInlineAdaptiveBannerAdSizeWithWidth or +/// GADLandscapeInlineAdaptiveBannerAdSizeWithWidth based on the current interface orientation. +/// This function must be called on the main queue. +FOUNDATION_EXPORT GADAdSize GADCurrentOrientationInlineAdaptiveBannerAdSizeWithWidth(CGFloat width); + +/// Returns a GADAdSize with the given width and max height. This ad size allows Google servers to +/// choose an optimal ad size less than or equal to the returned size. The exact size of the ad +/// returned is passed through the banner's ad size delegate and is indicated by the banner's +/// intrinsicContentSize. This ad size is most suitable for ads intended for scroll views. +/// +/// @param width The ad width. +/// @param maxHeight The maximum height a loaded ad will have. Must be at least 32 px, but a max +/// height of 50 px or higher is recommended. +FOUNDATION_EXPORT GADAdSize GADInlineAdaptiveBannerAdSizeWithWidthAndMaxHeight(CGFloat width, + CGFloat maxHeight); + +#pragma mark Anchored Adaptive Sizes + +/// Returns a GADAdSize with the given width and a Google-optimized height to create a banner ad. +/// The size returned has an aspect ratio similar to that of GADAdSizeBanner, suitable for +/// anchoring near the top or bottom of your app. The height is never larger than 15% of the +/// device's portrait height and is always between 50-90 points. This function always returns the +/// same height for any width / device combination. +FOUNDATION_EXPORT GADAdSize GADPortraitAnchoredAdaptiveBannerAdSizeWithWidth(CGFloat width); + +/// Returns a GADAdSize with the given width and a Google-optimized height to create a banner ad. +/// The size returned is suitable for use in a banner ad anchored near the top or bottom of your +/// app, similar to use of GADAdSizeBanner. The height is never larger than 15% of the devices's +/// landscape height and is always between 50-90 points. This function always returns the same +/// height for any width / device combination. +FOUNDATION_EXPORT GADAdSize GADLandscapeAnchoredAdaptiveBannerAdSizeWithWidth(CGFloat width); + +/// Returns a GADAdSize with the given width and a Google-optimized height. This is a convenience +/// function to return GADPortraitAnchoredAdaptiveBannerAdSizeWithWidth or +/// GADLandscapeAnchoredAdaptiveBannerAdSizeWithWidth based on the current interface orientation. +/// This function must be called on the main queue. +FOUNDATION_EXPORT GADAdSize +GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(CGFloat width); + +#pragma mark Custom Sizes + +/// Returns a custom GADAdSize for the provided CGSize. Use this only if you require a non-standard +/// size. Otherwise, use one of the standard size constants above. +FOUNDATION_EXPORT GADAdSize GADAdSizeFromCGSize(CGSize size); + +/// Returns a custom GADAdSize that spans the full width of the application in portrait orientation +/// with the height provided. +FOUNDATION_EXPORT GADAdSize GADAdSizeFullWidthPortraitWithHeight(CGFloat height); + +/// Returns a custom GADAdSize that spans the full width of the application in landscape orientation +/// with the height provided. +FOUNDATION_EXPORT GADAdSize GADAdSizeFullWidthLandscapeWithHeight(CGFloat height); + +#pragma mark Convenience Functions + +/// Returns YES if the two GADAdSizes are equal, otherwise returns NO. +FOUNDATION_EXPORT BOOL GADAdSizeEqualToSize(GADAdSize size1, GADAdSize size2); + +/// Returns a CGSize for the provided a GADAdSize constant. If the GADAdSize is unknown, returns +/// CGSizeZero. +FOUNDATION_EXPORT CGSize CGSizeFromGADAdSize(GADAdSize size); + +/// Returns YES if |size| is one of the predefined constants or is a custom GADAdSize generated by +/// GADAdSizeFromCGSize. +FOUNDATION_EXPORT BOOL IsGADAdSizeValid(GADAdSize size); + +/// Returns YES if |size| is a fluid ad size. +FOUNDATION_EXPORT BOOL GADAdSizeIsFluid(GADAdSize size); + +/// Returns a NSString describing the provided GADAdSize. +FOUNDATION_EXPORT NSString *_Nonnull NSStringFromGADAdSize(GADAdSize size); + +/// Returns an NSValue representing the GADAdSize. +FOUNDATION_EXPORT NSValue *_Nonnull NSValueFromGADAdSize(GADAdSize size); + +/// Returns a GADAdSize from an NSValue. Returns GADAdSizeInvalid if the value is not a GADAdSize. +FOUNDATION_EXPORT GADAdSize GADAdSizeFromNSValue(NSValue *_Nonnull value); + +#pragma mark Deprecated + +/// An ad size that spans the full width of the application in portrait orientation. The height is +/// typically 50 points on an iPhone/iPod UI, and 90 points tall on an iPad UI. +FOUNDATION_EXPORT GADAdSize const kGADAdSizeSmartBannerPortrait + GAD_DEPRECATED_MSG_ATTRIBUTE("Use GADPortraitAnchoredAdaptiveBannerAdSizeWithWidth."); + +/// An ad size that spans the full width of the application in landscape orientation. The height is +/// typically 32 points on an iPhone/iPod UI, and 90 points tall on an iPad UI. +FOUNDATION_EXPORT GADAdSize const kGADAdSizeSmartBannerLandscape + GAD_DEPRECATED_MSG_ATTRIBUTE("Use GADLandscapeAnchoredAdaptiveBannerAdSizeWithWidth"); diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAdSizeDelegate.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAdSizeDelegate.h new file mode 100755 index 0000000..43a62fd --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAdSizeDelegate.h @@ -0,0 +1,20 @@ +// +// GADAdSizeDelegate.h +// Google Mobile Ads SDK +// +// Copyright 2012 Google LLC. All rights reserved. +// + +#import +#import + +@class GADBannerView; + +/// The class implementing this protocol will be notified when the GADBannerView's ad content +/// changes size. Any views that may be affected by the banner size change will have time to adjust. +@protocol GADAdSizeDelegate + +/// Called before the ad view changes to the new size. +- (void)adView:(nonnull GADBannerView *)bannerView willChangeAdSizeTo:(GADAdSize)size; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAdValue.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAdValue.h new file mode 100755 index 0000000..e823547 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAdValue.h @@ -0,0 +1,38 @@ +// +// GADAdValue.h +// Google Mobile Ads SDK +// +// Copyright 2019 Google LLC. All rights reserved. +// + +#import + +typedef NS_ENUM(NSInteger, GADAdValuePrecision) { + /// An ad value with unknown precision. + GADAdValuePrecisionUnknown = 0, + /// An ad value estimated from aggregated data. + GADAdValuePrecisionEstimated = 1, + /// A publisher-provided ad value, such as manual CPMs in a mediation group. + GADAdValuePrecisionPublisherProvided = 2, + /// The precise value paid for this ad. + GADAdValuePrecisionPrecise = 3 +}; + +@class GADAdValue; + +/// Handles ad events that are estimated to have earned money. +typedef void (^GADPaidEventHandler)(GADAdValue *_Nonnull value); + +/// The monetary value earned from an ad. +@interface GADAdValue : NSObject + +/// The precision of the reported ad value. +@property(nonatomic, readonly) GADAdValuePrecision precision; + +/// The ad's value. +@property(nonatomic, nonnull, readonly) NSDecimalNumber *value; + +/// The value's currency code. +@property(nonatomic, nonnull, readonly) NSString *currencyCode; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAppEventDelegate.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAppEventDelegate.h new file mode 100755 index 0000000..119eebe --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAppEventDelegate.h @@ -0,0 +1,29 @@ +// +// GADAppEventDelegate.h +// Google Mobile Ads SDK +// +// Copyright 2020 Google LLC. All rights reserved. +// + +#import + +@class GADBannerView; +@class GADInterstitialAd; + +/// Implement your app event within these methods. The delegate will be notified when the SDK +/// receives an app event message from the ad. +@protocol GADAppEventDelegate + +@optional + +/// Called when the banner receives an app event. +- (void)adView:(nonnull GADBannerView *)banner + didReceiveAppEvent:(nonnull NSString *)name + withInfo:(nullable NSString *)info; + +/// Called when the interstitial receives an app event. +- (void)interstitialAd:(nonnull GADInterstitialAd *)interstitialAd + didReceiveAppEvent:(nonnull NSString *)name + withInfo:(nullable NSString *)info; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAppOpenAd.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAppOpenAd.h new file mode 100755 index 0000000..28e81b8 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAppOpenAd.h @@ -0,0 +1,64 @@ +// +// GADAppOpenAd.h +// Google Mobile Ads SDK +// +// Copyright 2020 Google LLC. All rights reserved. +// + +#import +#import +#import +#import +#import + +#pragma mark - App Open Ad + +@class GADAppOpenAd; + +/// The handler block to execute when the ad load operation completes. On failure, the +/// appOpenAd is nil and the |error| is non-nil. On success, the appOpenAd is non-nil and the +/// |error| is nil. +typedef void (^GADAppOpenAdLoadCompletionHandler)(GADAppOpenAd *_Nullable appOpenAd, + NSError *_Nullable error); + +/// An app open ad. Used to monetize app load screens. +@interface GADAppOpenAd : NSObject + +/// Loads an app open ad. +/// +/// @param adUnitID An ad unit ID created in the AdMob or Ad Manager UI. +/// @param request An ad request object. If nil, a default ad request object is used. +/// @param completionHandler A handler to execute when the load operation finishes or times out. ++ (void)loadWithAdUnitID:(nonnull NSString *)adUnitID + request:(nullable GADRequest *)request + completionHandler:(nonnull GADAppOpenAdLoadCompletionHandler)completionHandler; + +/// Optional delegate object that receives notifications about presentation and dismissal of full +/// screen content from this ad. Full screen content covers your application's content. The delegate +/// may want to pause animations and time sensitive interactions. Set this delegate before +/// presenting the ad. +@property(nonatomic, weak, nullable) id fullScreenContentDelegate; + +/// Information about the ad response that returned the ad. +@property(nonatomic, readonly, nonnull) GADResponseInfo *responseInfo; + +/// Called when the ad is estimated to have earned money. Available for allowlisted accounts only. +@property(nonatomic, nullable, copy) GADPaidEventHandler paidEventHandler; + +/// Returns whether the app open ad can be presented from the provided root view controller. Sets +/// the error out parameter if the app open ad can't be presented. Must be called on the main +/// thread. +- (BOOL)canPresentFromRootViewController:(nonnull UIViewController *)rootViewController + error:(NSError *_Nullable __autoreleasing *_Nullable)error; + +/// Presents the app open ad with the provided view controller. Must be called on the main thread. +- (void)presentFromRootViewController:(nonnull UIViewController *)rootViewController; + +#pragma mark - Deprecated +/// Deprecated. Use +loadWithAdUnitID:request:completionHandler instead. ++ (void)loadWithAdUnitID:(nonnull NSString *)adUnitID + request:(nullable GADRequest *)request + orientation:(UIInterfaceOrientation)orientation + completionHandler:(nonnull GADAppOpenAdLoadCompletionHandler)completionHandler; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAudioVideoManager.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAudioVideoManager.h new file mode 100755 index 0000000..7814bef --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAudioVideoManager.h @@ -0,0 +1,29 @@ +// +// GADAudioVideoManager.h +// Google Mobile Ads SDK +// +// Copyright 2016 Google LLC. All rights reserved. +// + +#import +#import + +/// Provides audio and video notifications and configurations management. +/// +/// Don't create an instance of this class and use the one available from GADMobileAds +/// sharedInstance's audioVideoManager. +@interface GADAudioVideoManager : NSObject + +/// Delegate for receiving video and audio updates. +@property(nonatomic, weak, nullable) id delegate; + +/// Indicates whether the application wishes to manage audio session. If set as YES, the Google +/// Mobile Ads SDK will stop managing AVAudioSession during the video playback lifecycle. If set as +/// NO, the Google Mobile Ads SDK will control AVAudioSession. That may include: setting +/// AVAudioSession's category to AVAudioSessionCategoryAmbient when all videos are muted, setting +/// AVAudioSession's category to AVAudioSessionCategorySoloAmbient when any playing video becomes +/// unmuted, and allowing background apps to continue playing sound when all videos rendered by +/// Google Mobile Ads SDK are muted or have stopped playing. Must be accessed on main thread only. +@property(nonatomic, assign) BOOL audioSessionIsApplicationManaged; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAudioVideoManagerDelegate.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAudioVideoManagerDelegate.h new file mode 100755 index 0000000..04d538a --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADAudioVideoManagerDelegate.h @@ -0,0 +1,36 @@ +// +// GADAudioVideoManagerDelegate.h +// Google Mobile Ads SDK +// +// Copyright 2016 Google LLC. All rights reserved. +// + +#import + +@class GADAudioVideoManager; + +/// A set of methods to inform the delegate of audio video manager events. +@protocol GADAudioVideoManagerDelegate + +@optional + +/// Tells the delegate that the Google Mobile Ads SDK will start playing a video. This method isn't +/// called if another video rendered by Google Mobile Ads SDK is already playing. +- (void)audioVideoManagerWillPlayVideo:(nonnull GADAudioVideoManager *)audioVideoManager; + +/// Tells the delegate that the Google Mobile Ads SDK has paused/stopped all video playback. +- (void)audioVideoManagerDidPauseAllVideo:(nonnull GADAudioVideoManager *)audioVideoManager; + +/// Tells the delegate that at least one video rendered by the Google Mobile Ads SDK will play +/// sound. Your app should stop playing sound when this method is called. +- (void)audioVideoManagerWillPlayAudio:(nonnull GADAudioVideoManager *)audioVideoManager; + +/// Tells the delegate that all the video rendered by the Google Mobile Ads SDK has stopped playing +/// sound. Your app can now resume any music playback or produce any kind of sound. Note that this +/// message doesn't mean that all the video has stopped playing, just audio, so you shouldn't +/// deactivate AVAudioSession's instance. Doing so can lead to unexpected video playback behavior. +/// You may deactivate AVAudioSession only when all rendered video ads are paused or have finished +/// playing, and 'audioVideoDidPauseAllVideo:' is called. +- (void)audioVideoManagerDidStopPlayingAudio:(nonnull GADAudioVideoManager *)audioVideoManager; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADBannerView.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADBannerView.h new file mode 100755 index 0000000..f60ade0 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADBannerView.h @@ -0,0 +1,76 @@ +// +// GADBannerView.h +// Google Mobile Ads SDK +// +// Copyright 2011 Google LLC. All rights reserved. +// + +#import +#import +#import +#import +#import +#import +#import + +/// A view that displays banner ads. See https://developers.google.com/admob/ios/banner to get +/// started. +@interface GADBannerView : UIView + +#pragma mark Initialization + +/// Initializes and returns a banner view with the specified ad size and origin relative to the +/// banner's superview. +- (nonnull instancetype)initWithAdSize:(GADAdSize)adSize origin:(CGPoint)origin; + +/// Initializes and returns a banner view with the specified ad size placed at its superview's +/// origin. +- (nonnull instancetype)initWithAdSize:(GADAdSize)adSize; + +#pragma mark Pre-Request + +/// Required value created on the AdMob website. Create a new ad unit for every unique placement of +/// an ad in your application. Set this to the ID assigned for this placement. Ad units are +/// important for targeting and statistics. +/// +/// Example AdMob ad unit ID: @"ca-app-pub-0123456789012345/0123456789" +@property(nonatomic, copy, nullable) IBInspectable NSString *adUnitID; + +/// Required reference to a root view controller that is used by the banner to present full screen +/// content after the user interacts with the ad. The root view controller is most commonly the view +/// controller displaying the banner. +@property(nonatomic, weak, nullable) IBOutlet UIViewController *rootViewController; + +/// Required to set this banner view to a proper size. Never create your own GADAdSize directly. +/// Use one of the predefined standard ad sizes (such as GADAdSizeBanner), or create one using the +/// GADAdSizeFromCGSize method. If not using mediation, then changing the adSize after an ad has +/// been shown will cause a new request (for an ad of the new size) to be sent. If using mediation, +/// then a new request may not be sent. +@property(nonatomic, assign) GADAdSize adSize; + +/// Optional delegate object that receives state change notifications from this GADBannerView. +/// Typically this is a UIViewController. +@property(nonatomic, weak, nullable) IBOutlet id delegate; + +/// Optional delegate that is notified when creatives cause the banner to change size. +@property(nonatomic, weak, nullable) IBOutlet id adSizeDelegate; + +#pragma mark Making an Ad Request + +/// Requests an ad. The request object supplies targeting information. +- (void)loadRequest:(nullable GADRequest *)request; + +/// A Boolean value that determines whether autoloading of ads in the receiver is enabled. If +/// enabled, you do not need to call the loadRequest: method to load ads. +@property(nonatomic, assign, getter=isAutoloadEnabled) IBInspectable BOOL autoloadEnabled; + +#pragma mark Response + +/// Information about the ad response that returned the current ad or an error. Nil until the first +/// ad request succeeds or fails. +@property(nonatomic, readonly, nullable) GADResponseInfo *responseInfo; + +/// Called when ad is estimated to have earned money. Available for allowlisted accounts only. +@property(nonatomic, nullable, copy) GADPaidEventHandler paidEventHandler; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADBannerViewDelegate.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADBannerViewDelegate.h new file mode 100755 index 0000000..8a2cce8 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADBannerViewDelegate.h @@ -0,0 +1,48 @@ +// +// GADBannerViewDelegate.h +// Google Mobile Ads SDK +// +// Copyright 2011 Google LLC. All rights reserved. +// + +#import + +@class GADBannerView; + +/// Delegate methods for receiving GADBannerView state change messages such as ad request status +/// and ad click lifecycle. +@protocol GADBannerViewDelegate + +@optional + +#pragma mark Ad Request Lifecycle Notifications + +/// Tells the delegate that an ad request successfully received an ad. The delegate may want to add +/// the banner view to the view hierarchy if it hasn't been added yet. +- (void)bannerViewDidReceiveAd:(nonnull GADBannerView *)bannerView; + +/// Tells the delegate that an ad request failed. The failure is normally due to network +/// connectivity or ad availablility (for example, no fill). +- (void)bannerView:(nonnull GADBannerView *)bannerView + didFailToReceiveAdWithError:(nonnull NSError *)error; + +/// Tells the delegate that an impression has been recorded for an ad. +- (void)bannerViewDidRecordImpression:(nonnull GADBannerView *)bannerView; + +/// Tells the delegate that a click has been recorded for the ad. +- (void)bannerViewDidRecordClick:(nonnull GADBannerView *)bannerView; + +#pragma mark Click-Time Lifecycle Notifications + +/// Tells the delegate that a full screen view will be presented in response to the user clicking on +/// an ad. The delegate may want to pause animations and time sensitive interactions. +- (void)bannerViewWillPresentScreen:(nonnull GADBannerView *)bannerView; + +/// Tells the delegate that the full screen view will be dismissed. +- (void)bannerViewWillDismissScreen:(nonnull GADBannerView *)bannerView; + +/// Tells the delegate that the full screen view has been dismissed. The delegate should restart +/// anything paused while handling bannerViewWillPresentScreen:. +- (void)bannerViewDidDismissScreen:(nonnull GADBannerView *)bannerView; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADCustomEventBanner.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADCustomEventBanner.h new file mode 100755 index 0000000..a083e32 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADCustomEventBanner.h @@ -0,0 +1,38 @@ +// +// GADCustomEventBanner.h +// Google Mobile Ads SDK +// +// Copyright 2012 Google LLC. All rights reserved. +// + +#import +#import +#import +#import + +/// The banner custom event protocol. Your banner custom event handler must implement this protocol. +GAD_DEPRECATED_MSG_ATTRIBUTE("Use GADMediationBannerAd and GADMediationAdapter instead.") +@protocol GADCustomEventBanner + +/// Inform |delegate| with the custom event execution results to ensure mediation behaves correctly. +/// +/// In your class, define the -delegate and -setDelegate: methods or use "@synthesize delegate". The +/// Google Mobile Ads SDK sets this property on instances of your class. +@property(nonatomic, weak, nullable) id delegate; + +/// Returns an initialized custom event banner. +- (nonnull instancetype)init; + +/// Called by mediation when your custom event is scheduled to be executed. Report execution results +/// to the delegate. +/// +/// @param adSize The size of the ad as configured in the mediation UI for the mediation placement. +/// @param serverParameter Parameter configured in the mediation UI. +/// @param serverLabel Label configured in the mediation UI. +/// @param request Contains ad request information. +- (void)requestBannerAd:(GADAdSize)adSize + parameter:(nullable NSString *)serverParameter + label:(nullable NSString *)serverLabel + request:(nonnull GADCustomEventRequest *)request; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADCustomEventBannerDelegate.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADCustomEventBannerDelegate.h new file mode 100755 index 0000000..484349f --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADCustomEventBannerDelegate.h @@ -0,0 +1,67 @@ +// +// GADCustomEventBannerDelegate.h +// Google Mobile Ads SDK +// +// Copyright 2012 Google LLC. All rights reserved. +// + +#import +#import + +#import + +@protocol GADCustomEventBanner; + +/// Call back to this delegate in your custom event. You must call customEventBanner:didReceiveAd: +/// when there is an ad to show, or customEventBanner:didFailAd: when there is no ad to show. +/// Otherwise, if enough time passed (several seconds) after the SDK called the requestBannerAd: +/// method of your custom event, the mediation SDK will consider the request timed out, and move on +/// to the next ad network. +GAD_DEPRECATED_MSG_ATTRIBUTE("Use GADMediationBannerAdEventDelegate instead.") +@protocol GADCustomEventBannerDelegate + +/// Your Custom Event object must call this when it receives or creates an ad view. +- (void)customEventBanner:(nonnull id)customEvent + didReceiveAd:(nonnull UIView *)view; + +/// Your Custom Event object must call this when it fails to receive or create the ad view. Pass +/// along any error object sent from the ad network's SDK, or an NSError describing the error. Pass +/// nil if not available. +- (void)customEventBanner:(nonnull id)customEvent + didFailAd:(nullable NSError *)error; + +/// Your Custom Event object should call this when the user touches or "clicks" the ad to initiate +/// an action. When the SDK receives this callback, it reports the click back to the mediation +/// server. +- (void)customEventBannerWasClicked:(nonnull id)customEvent; + +/// The rootViewController that you set in GADBannerView. Use this UIViewController to show a modal +/// view when a user taps on the ad. +@property(nonatomic, readonly, nonnull) UIViewController *viewControllerForPresentingModalView; + +/// When you call the following methods, the call will be propagated back to the +/// GADBannerViewDelegate that you implemented and passed to GADBannerView. + +/// Your Custom Event should call this when the user taps an ad and a modal view appears. +- (void)customEventBannerWillPresentModal:(nonnull id)customEvent; + +/// Your Custom Event should call this when the user dismisses the modal view and the modal view is +/// about to go away. +- (void)customEventBannerWillDismissModal:(nonnull id)customEvent; + +/// Your Custom Event should call this when the user dismisses the modal view and the modal view has +/// gone away. +- (void)customEventBannerDidDismissModal:(nonnull id)customEvent; + +#pragma mark Deprecated + +/// Deprecated. Use customEventBannerWasClicked:. +- (void)customEventBanner:(nonnull id)customEvent + clickDidOccurInAd:(nonnull UIView *)view + GAD_DEPRECATED_MSG_ATTRIBUTE("Use customEventBannerWasClicked:."); + +/// Deprecated. No replacement. +- (void)customEventBannerWillLeaveApplication:(nonnull id)customEvent + GAD_DEPRECATED_MSG_ATTRIBUTE("Deprecated. No replacement."); + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADCustomEventExtras.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADCustomEventExtras.h new file mode 100755 index 0000000..9452467 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADCustomEventExtras.h @@ -0,0 +1,29 @@ +// +// GADCustomEventExtras.h +// Google Mobile Ads SDK +// +// Copyright 2012 Google LLC. All rights reserved. +// + +#import +#import + +/// Create an instance of this class to set additional parameters for each custom event object. The +/// additional parameters for a custom event are keyed by the custom event label. These extras are +/// passed to your implementation of GADCustomEventBanner or GADCustomEventInterstitial. +@interface GADCustomEventExtras : NSObject + +/// Set additional parameters for the custom event with label |label|. To remove additional +/// parameters associated with |label|, pass in nil for |extras|. +- (void)setExtras:(nullable NSDictionary *)extras forLabel:(nonnull NSString *)label; + +/// Retrieve the extras for |label|. +- (nullable NSDictionary *)extrasForLabel:(nonnull NSString *)label; + +/// Removes all the extras set on this instance. +- (void)removeAllExtras; + +/// Returns all the extras set on this instance. +- (nonnull NSDictionary *)allExtras; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADCustomEventInterstitial.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADCustomEventInterstitial.h new file mode 100755 index 0000000..8c1c926 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADCustomEventInterstitial.h @@ -0,0 +1,41 @@ +// +// GADCustomEventInterstitial.h +// Google Mobile Ads SDK +// +// Copyright 2012 Google LLC. All rights reserved. +// + +#import +#import +#import + +/// The interstitial custom event protocol. Your interstitial custom event handler must implement +/// this protocol. +GAD_DEPRECATED_MSG_ATTRIBUTE("Use GADMediationInterstitialAd and GADMediationAdapter instead.") +@protocol GADCustomEventInterstitial + +/// Inform |delegate| with the custom event execution results to ensure mediation behaves correctly. +/// +/// In your class, define the -delegate and -setDelegate: methods or use "@synthesize delegate". The +/// Google Mobile Ads SDK sets this property on instances of your class. +@property(nonatomic, weak, nullable) id delegate; + +/// Returns an initialized custom event interstitial. +- (nonnull instancetype)init; + +/// Called by mediation when your custom event is scheduled to be executed. Your implementation +/// should start retrieving the interstitial ad. Report execution results to the delegate. You must +/// wait until -presentFromRootViewController is called before displaying the interstitial ad. +/// +/// @param serverParameter Parameter configured in the mediation UI. +/// @param serverLabel Label configured in the mediation UI. +/// @param request Contains ad request information. +- (void)requestInterstitialAdWithParameter:(nullable NSString *)serverParameter + label:(nullable NSString *)serverLabel + request:(nonnull GADCustomEventRequest *)request; + +/// Present the interstitial ad as a modal view using the provided view controller. Called only +/// after your class calls -customEventInterstitialDidReceiveAd: on its custom event delegate. +- (void)presentFromRootViewController:(nonnull UIViewController *)rootViewController; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADCustomEventInterstitialDelegate.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADCustomEventInterstitialDelegate.h new file mode 100755 index 0000000..0525587 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADCustomEventInterstitialDelegate.h @@ -0,0 +1,60 @@ +// +// GADCustomEventInterstitialDelegate.h +// Google Mobile Ads SDK +// +// Copyright 2012 Google LLC. All rights reserved. +// + +#import +#import + +@protocol GADCustomEventInterstitial; + +/// Call back to this delegate in your custom event. You must call +/// customEventInterstitialDidReceiveAd: when there is an ad to show, or +/// customEventInterstitial:didFailAd: when there is no ad to show. Otherwise, if enough time passed +/// (several seconds) after the SDK called the requestInterstitialAdWithParameter: method of your +/// custom event, the mediation SDK will consider the request timed out, and move on to the next ad +/// network. +GAD_DEPRECATED_MSG_ATTRIBUTE("Use GADMediationInterstitialAdEventDelegate instead.") +@protocol GADCustomEventInterstitialDelegate + +/// Your Custom Event object must call this when it receives or creates an interstitial ad. +- (void)customEventInterstitialDidReceiveAd:(nonnull id)customEvent; + +/// Your Custom Event object must call this when it fails to receive or create the ad. Pass along +/// any error object sent from the ad network's SDK, or an NSError describing the error. Pass nil if +/// not available. +- (void)customEventInterstitial:(nonnull id)customEvent + didFailAd:(nullable NSError *)error; + +/// Your Custom Event object should call this when the user touches or "clicks" the ad to initiate +/// an action. When the SDK receives this callback, it reports the click back to the mediation +/// server. +- (void)customEventInterstitialWasClicked:(nonnull id)customEvent; + +// When you call any of the following methods, the call will be propagated back to the +// GADInterstitialDelegate that you implemented and passed to GADInterstitial. + +/// Your Custom Event should call this when the interstitial is being displayed. +- (void)customEventInterstitialWillPresent:(nonnull id)customEvent; + +/// Your Custom Event should call this when the interstitial is about to be dismissed. +- (void)customEventInterstitialWillDismiss:(nonnull id)customEvent; + +/// Your Custom Event should call this when the interstitial has been dismissed. +- (void)customEventInterstitialDidDismiss:(nonnull id)customEvent; + +#pragma mark Deprecated + +/// Deprecated. Use customEventInterstitialDidReceiveAd:. +- (void)customEventInterstitial:(nonnull id)customEvent + didReceiveAd:(nonnull NSObject *)ad + GAD_DEPRECATED_MSG_ATTRIBUTE("Use customEventInterstitialDidReceiveAd:."); + +/// Deprecated. No replacement. +- (void)customEventInterstitialWillLeaveApplication: + (nonnull id)customEvent + GAD_DEPRECATED_MSG_ATTRIBUTE("Deprecated. No replacement."); + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADCustomEventNativeAd.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADCustomEventNativeAd.h new file mode 100755 index 0000000..3c7b80e --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADCustomEventNativeAd.h @@ -0,0 +1,56 @@ +// +// GADCustomEventNativeAd.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google LLC. All rights reserved. +// + +#import +#import + +@protocol GADCustomEventNativeAdDelegate; + +/// Native ad custom event protocol. Your native ad custom event handler class must conform to this +/// protocol. +GAD_DEPRECATED_MSG_ATTRIBUTE("Use GADMediationNativeAd and GADMediationAdapter instead.") +@protocol GADCustomEventNativeAd + +/// Delegate object used for receiving custom native ad load request progress. +@property(nonatomic, weak, nullable) id delegate; + +/// Returns an initialized custom event native ad. +- (nonnull instancetype)init; + +/// Called when the custom event is scheduled to be executed. +/// +/// @param serverParameter A value configured in the mediation UI for the custom event. +/// @param request Ad targeting information. +/// @param adTypes List of requested native ad types. See GADAdLoaderAdTypes.h for available ad +/// types. +/// @param options Additional options configured by the publisher for requesting a native ad. See +/// GADNativeAdImageAdLoaderOptions.h for available image options. +/// @param rootViewController Publisher-provided view controller. +- (void)requestNativeAdWithParameter:(nonnull NSString *)serverParameter + request:(nonnull GADCustomEventRequest *)request + adTypes:(nonnull NSArray *)adTypes + options:(nonnull NSArray *)options + rootViewController:(nonnull UIViewController *)rootViewController; + +/// Indicates whether the custom event handles user clicks. Return YES if the custom event should +/// handle user clicks. In this case, the Google Mobile Ads SDK doesn't track user clicks and the +/// custom event must notify the Google Mobile Ads SDK of clicks using +/// +[GADMediatedNativeAdNotificationSource mediatedNativeAdDidRecordClick:]. Return NO if the +/// custom event doesn't handles user clicks. In this case, the Google Mobile Ads SDK tracks user +/// clicks itself and the custom event is notified of user clicks through +/// -[GADMediatedUnifiedNativeAd didRecordClickOnAssetWithName:view:viewController:]. +- (BOOL)handlesUserClicks; + +/// Indicates whether the custom event handles user impressions tracking. If this method returns +/// YES, the Google Mobile Ads SDK will not track user impressions and the custom event must notify +/// the Google Mobile Ads SDK of impressions using +[GADMediatedNativeAdNotificationSource +/// mediatedNativeAdDidRecordImpression:]. If this method returns NO, the Google Mobile Ads SDK +/// tracks user impressions and notifies the custom event of impressions using +/// -[GADMediatedUnifiedNativeAd didRecordImpression]. +- (BOOL)handlesUserImpressions; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADCustomEventNativeAdDelegate.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADCustomEventNativeAdDelegate.h new file mode 100755 index 0000000..fd2eea2 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADCustomEventNativeAdDelegate.h @@ -0,0 +1,27 @@ +// +// GADCustomEventNativeAdDelegate.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google LLC. All rights reserved. +// + +#import +#import +#import + +/// The delegate of the GADCustomEventNativeAd object must adopt the GADCustomEventNativeAdDelegate +/// protocol. Methods in this protocol are used for native ad's custom event communication with the +/// Google Mobile Ads SDK. +GAD_DEPRECATED_MSG_ATTRIBUTE("Use GADMediationNativeAdEventDelegate instead.") +@protocol GADCustomEventNativeAdDelegate + +/// Tells the delegate that the custom event ad request failed. +- (void)customEventNativeAd:(nonnull id)customEventNativeAd + didFailToLoadWithError:(nonnull NSError *)error; + +/// Tells the delegate that the custom event ad request succeeded and loaded a unified native ad. +- (void)customEventNativeAd:(nonnull id)customEventNativeAd + didReceiveMediatedUnifiedNativeAd: + (nonnull id)mediatedUnifiedNativeAd; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADCustomEventParameters.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADCustomEventParameters.h new file mode 100755 index 0000000..6d735b5 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADCustomEventParameters.h @@ -0,0 +1,14 @@ +// +// GADCustomEventParameters.h +// Google Mobile Ads SDK +// +// Copyright 2016 Google LLC. All rights reserved. +// + +#import +#import + +/// Key for getting the server parameter configured in AdMob when mediating to a custom event +/// adapter. +/// Example: NSString *serverParameter = connector.credentials[GADCustomEventParametersServer]. +FOUNDATION_EXPORT NSString *_Nonnull const GADCustomEventParametersServer; diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADCustomEventRequest.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADCustomEventRequest.h new file mode 100755 index 0000000..c7630a8 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADCustomEventRequest.h @@ -0,0 +1,30 @@ +// +// GADCustomEventRequest.h +// Google Mobile Ads SDK +// +// Copyright 2012 Google LLC. All rights reserved. +// + +#import +#import + +@class GADCustomEventExtras; + +/// Specifies optional ad request targeting parameters that are provided by the publisher and are +/// forwarded to custom events for purposes of populating an ad request to a 3rd party ad network. +@interface GADCustomEventRequest : NSObject + +/// Keywords set in GADRequest. Returns nil if no keywords are set. +@property(nonatomic, readonly, copy, nullable) NSArray *userKeywords; + +/// The additional parameters set by the application. This property lets you pass additional +/// information from your application to your Custom Event object. To do so, create an instance of +/// GADCustomEventExtras to pass to GADRequest -registerAdNetworkExtras:. The instance should have +/// an NSDictionary set for a particular custom event label. That NSDictionary becomes the +/// additionalParameters here. +@property(nonatomic, readonly, copy, nullable) NSDictionary *additionalParameters; + +/// Indicates whether the testing property has been set in GADRequest. +@property(nonatomic, readonly, assign) BOOL isTesting; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADCustomNativeAd.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADCustomNativeAd.h new file mode 100755 index 0000000..2022ac0 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADCustomNativeAd.h @@ -0,0 +1,92 @@ +// +// GADCustomNativeAd.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google LLC. All rights reserved. +// + +#import +#import +#import +#import +#import +#import +#import +#import + +/// Native ad custom click handler block. |assetID| is the ID of asset that has received a click. +typedef void (^GADNativeAdCustomClickHandler)(NSString *_Nonnull assetID); + +/// Asset key for the GADMediaView asset view. +FOUNDATION_EXPORT NSString *_Nonnull const GADCustomNativeAdMediaViewKey; + +@protocol GADCustomNativeAdDelegate; + +/// Custom native ad. To request this ad type, you need to pass +/// GADAdLoaderAdTypeCustomNative (see GADAdLoaderAdTypes.h) to the |adTypes| parameter +/// in GADAdLoader's initializer method. If you request this ad type, your delegate must conform to +/// the GADCustomNativeAdLoaderDelegate protocol. +@interface GADCustomNativeAd : NSObject + +/// The ad's format ID. +@property(nonatomic, readonly, nonnull) NSString *formatID; + +/// Array of available asset keys. +@property(nonatomic, readonly, nonnull) NSArray *availableAssetKeys; + +/// Custom click handler. Set this property only if this ad is configured with a custom click +/// action, otherwise set it to nil. If this property is set to a non-nil value, the ad's built-in +/// click actions are ignored and |customClickHandler| is executed when a click on the asset is +/// received. +@property(atomic, copy, nullable) GADNativeAdCustomClickHandler customClickHandler; + +/// The display ad measurement associated with this ad. +@property(nonatomic, readonly, nullable) GADDisplayAdMeasurement *displayAdMeasurement; + +/// Media content. +@property(nonatomic, readonly, nonnull) GADMediaContent *mediaContent; + +/// Optional delegate to receive state change notifications. +@property(nonatomic, weak, nullable) id delegate; + +/// Reference to a root view controller that is used by the ad to present full screen content after +/// the user interacts with the ad. The root view controller is most commonly the view controller +/// displaying the ad. +@property(nonatomic, weak, nullable) UIViewController *rootViewController; + +/// Information about the ad response that returned the ad. +@property(nonatomic, readonly, nonnull) GADResponseInfo *responseInfo; + +/// Returns the native ad image corresponding to the specified key or nil if the image is not +/// available. +- (nullable GADNativeAdImage *)imageForKey:(nonnull NSString *)key; + +/// Returns the string corresponding to the specified key or nil if the string is not available. +- (nullable NSString *)stringForKey:(nonnull NSString *)key; + +/// Call when the user clicks on the ad. Provide the asset key that best matches the asset the user +/// interacted with. If this ad is configured with a custom click action, ensure the receiver's +/// customClickHandler property is set before calling this method. +- (void)performClickOnAssetWithKey:(nonnull NSString *)assetKey; + +/// Call when the ad is displayed on screen to the user. Can be called multiple times. Only the +/// first impression is recorded. +- (void)recordImpression; + +@end + +#pragma mark - Loading Protocol + +/// The delegate of a GADAdLoader object implements this protocol to receive +/// GADCustomNativeAd ads. +@protocol GADCustomNativeAdLoaderDelegate + +/// Called when requesting an ad. Asks the delegate for an array of custom native ad format ID +/// strings. +- (nonnull NSArray *)customNativeAdFormatIDsForAdLoader:(nonnull GADAdLoader *)adLoader; + +/// Tells the delegate that a custom native ad was received. +- (void)adLoader:(nonnull GADAdLoader *)adLoader + didReceiveCustomNativeAd:(nonnull GADCustomNativeAd *)customNativeAd; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADCustomNativeAdDelegate.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADCustomNativeAdDelegate.h new file mode 100755 index 0000000..7cbc8d9 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADCustomNativeAdDelegate.h @@ -0,0 +1,43 @@ +// +// GADCustomNativeAdDelegate.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google LLC. All rights reserved. +// + +#import + +@class GADCustomNativeAd; + +/// Identifies native ad assets. +@protocol GADCustomNativeAdDelegate + +@optional + +#pragma mark Ad Lifecycle Events + +/// Called when an impression is recorded for a custom native ad. +- (void)customNativeAdDidRecordImpression:(nonnull GADCustomNativeAd *)nativeAd; + +/// Called when a click is recorded for a custom native ad. +- (void)customNativeAdDidRecordClick:(nonnull GADCustomNativeAd *)nativeAd; + +#pragma mark Click-Time Lifecycle Notifications + +/// Called just before presenting the user a full screen view, such as a browser, in response to +/// clicking on an ad. Use this opportunity to stop animations, time sensitive interactions, etc. +/// +/// Normally the user looks at the ad, dismisses it, and control returns to your application with +/// the customNativeAdDidDismissScreen: message. However, if the user hits the Home button or clicks +/// on an App Store link, your application will end. The next method called will be the +/// applicationWillResignActive: of your UIApplicationDelegate object. +- (void)customNativeAdWillPresentScreen:(nonnull GADCustomNativeAd *)nativeAd; + +/// Called just before dismissing a full screen view. +- (void)customNativeAdWillDismissScreen:(nonnull GADCustomNativeAd *)nativeAd; + +/// Called just after dismissing a full screen view. Use this opportunity to restart anything you +/// may have stopped as part of customNativeAdWillPresentScreen:. +- (void)customNativeAdDidDismissScreen:(nonnull GADCustomNativeAd *)nativeAd; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADDebugOptionsViewController.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADDebugOptionsViewController.h new file mode 100755 index 0000000..f692109 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADDebugOptionsViewController.h @@ -0,0 +1,32 @@ +// +// GADDebugOptionsViewController.h +// Google Mobile Ads SDK +// +// Copyright 2016 Google LLC. All rights reserved. +// + +#import +#import + +@class GADDebugOptionsViewController; + +/// Delegate for the GADDebugOptionsViewController. +@protocol GADDebugOptionsViewControllerDelegate + +/// Called when the debug options flow is finished. +- (void)debugOptionsViewControllerDidDismiss:(nonnull GADDebugOptionsViewController *)controller; + +@end + +/// Displays debug options to the user. +@interface GADDebugOptionsViewController : UIViewController + +/// Creates and returns a GADDebugOptionsViewController object initialized with the ad unit ID. +/// @param adUnitID An ad unit ID for the Google Ad Manager account that is being configured with +/// debug options. ++ (nonnull instancetype)debugOptionsViewControllerWithAdUnitID:(nonnull NSString *)adUnitID; + +/// Delegate for the debug options view controller. +@property(nonatomic, weak, nullable) IBOutlet id delegate; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADDisplayAdMeasurement.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADDisplayAdMeasurement.h new file mode 100755 index 0000000..097ef7f --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADDisplayAdMeasurement.h @@ -0,0 +1,23 @@ +// +// GADDisplayAdMeasurement.h +// Google Mobile Ads SDK +// +// Copyright 2019 Google LLC. All rights reserved. +// + +#import +#import + +/// Measurement used for display custom native ad formats. +@interface GADDisplayAdMeasurement : NSObject + +/// Ad view used to measure viewability. This property can be modified before or after starting +/// display ad measurement. Must be accessed on the main thread. +@property(nonatomic, weak, nullable) UIView *view; + +/// Starts OMID viewability measurement for display ads. Returns whether OMID viewability was +/// started and sets |error| if unable to start. Once started, all subsequent calls return YES and +/// have no effect. Must be called on the main thread. +- (BOOL)startWithError:(NSError *_Nullable *_Nullable)error; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADDynamicHeightSearchRequest.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADDynamicHeightSearchRequest.h new file mode 100755 index 0000000..7f40f3c --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADDynamicHeightSearchRequest.h @@ -0,0 +1,163 @@ +// +// GADDynamicHeightSearchRequest.h +// GoogleMobileAds +// +// Copyright 2016 Google LLC. All rights reserved. +// + +#import + +/// Use to configure Custom Search Ad (CSA) ad requests. A dynamic height search banner can contain +/// multiple ads and the height is set dynamically based on the ad contents. Cross-reference +/// the property sections and properties with the official reference document: +/// https://developers.google.com/custom-search-ads/docs/reference +@interface GADDynamicHeightSearchRequest : GADRequest + +#pragma mark - Page Level Parameters + +#pragma mark Required + +/// The CSA "query" parameter. +@property(nonatomic, copy, nullable) NSString *query; + +/// The CSA "adPage" parameter. +@property(nonatomic, assign) NSInteger adPage; + +#pragma mark Configuration Settings + +/// Indicates whether the CSA "adTest" parameter is enabled. +@property(nonatomic, assign) BOOL adTestEnabled; + +/// The CSA "channel" parameter. +@property(nonatomic, copy, nullable) NSString *channel; + +/// The CSA "hl" parameter. +@property(nonatomic, copy, nullable) NSString *hostLanguage; + +#pragma mark Layout and Styling + +/// The CSA "colorLocation" parameter. +@property(nonatomic, copy, nullable) NSString *locationExtensionTextColor; + +/// The CSA "fontSizeLocation" parameter. +@property(nonatomic, assign) CGFloat locationExtensionFontSize; + +#pragma mark Ad Extensions + +/// Indicates whether the CSA "clickToCall" parameter is enabled. +@property(nonatomic, assign) BOOL clickToCallExtensionEnabled; + +/// Indicates whether the CSA "location" parameter is enabled. +@property(nonatomic, assign) BOOL locationExtensionEnabled; + +/// Indicates whether the CSA "plusOnes" parameter is enabled. +@property(nonatomic, assign) BOOL plusOnesExtensionEnabled; + +/// Indicates whether the CSA "sellerRatings" parameter is enabled. +@property(nonatomic, assign) BOOL sellerRatingsExtensionEnabled; + +/// Indicates whether the CSA "siteLinks" parameter is enabled. +@property(nonatomic, assign) BOOL siteLinksExtensionEnabled; + +#pragma mark - Unit Level Parameters + +#pragma mark Required + +/// The CSA "width" parameter. +@property(nonatomic, copy, nullable) NSString *CSSWidth; + +/// Configuration Settings + +/// The CSA "number" parameter. +@property(nonatomic, assign) NSInteger numberOfAds; + +#pragma mark Font + +/// The CSA "fontFamily" parameter. +@property(nonatomic, copy, nullable) NSString *fontFamily; + +/// The CSA "fontFamilyAttribution" parameter. +@property(nonatomic, copy, nullable) NSString *attributionFontFamily; + +/// The CSA "fontSizeAnnotation" parameter. +@property(nonatomic, assign) CGFloat annotationFontSize; + +/// The CSA "fontSizeAttribution" parameter. +@property(nonatomic, assign) CGFloat attributionFontSize; + +/// The CSA "fontSizeDescription" parameter. +@property(nonatomic, assign) CGFloat descriptionFontSize; + +/// The CSA "fontSizeDomainLink" parameter. +@property(nonatomic, assign) CGFloat domainLinkFontSize; + +/// The CSA "fontSizeTitle" parameter. +@property(nonatomic, assign) CGFloat titleFontSize; + +#pragma mark Color + +/// The CSA "colorAdBorder" parameter. +@property(nonatomic, copy, nullable) NSString *adBorderColor; + +/// The CSA "colorAdSeparator" parameter. +@property(nonatomic, copy, nullable) NSString *adSeparatorColor; + +/// The CSA "colorAnnotation" parameter. +@property(nonatomic, copy, nullable) NSString *annotationTextColor; + +/// The CSA "colorAttribution" parameter. +@property(nonatomic, copy, nullable) NSString *attributionTextColor; + +/// The CSA "colorBackground" parameter. +@property(nonatomic, copy, nullable) NSString *backgroundColor; + +/// The CSA "colorBorder" parameter. +@property(nonatomic, copy, nullable) NSString *borderColor; + +/// The CSA "colorDomainLink" parameter. +@property(nonatomic, copy, nullable) NSString *domainLinkColor; + +/// The CSA "colorText" parameter. +@property(nonatomic, copy, nullable) NSString *textColor; + +/// The CSA "colorTitleLink" parameter. +@property(nonatomic, copy, nullable) NSString *titleLinkColor; + +#pragma mark General Formatting + +/// The CSA "adBorderSelections" parameter. +@property(nonatomic, copy, nullable) NSString *adBorderCSSSelections; + +/// The CSA "adjustableLineHeight" parameter. +@property(nonatomic, assign) CGFloat adjustableLineHeight; + +/// The CSA "attributionSpacingBelow" parameter. +@property(nonatomic, assign) CGFloat attributionBottomSpacing; + +/// The CSA "borderSelections" parameter. +@property(nonatomic, copy, nullable) NSString *borderCSSSelections; + +/// Indicates whether the CSA "noTitleUnderline" parameter is enabled. +@property(nonatomic, assign) BOOL titleUnderlineHidden; + +/// Indicates whether the CSA "titleBold" parameter is enabled. +@property(nonatomic, assign) BOOL boldTitleEnabled; + +/// The CSA "verticalSpacing" parameter. +@property(nonatomic, assign) CGFloat verticalSpacing; + +#pragma mark Ad Extensions + +/// Indicates whether the CSA "detailedAttribution" parameter is enabled. +@property(nonatomic, assign) BOOL detailedAttributionExtensionEnabled; + +/// Indicates whether the CSA "longerHeadlines" parameter is enabled. +@property(nonatomic, assign) BOOL longerHeadlinesExtensionEnabled; + +/// The CSA "styleId" parameter. +@property(nonatomic, copy, nullable) NSString *styleID; + +/// Sets an advanced option value for a specified key. The value must be an NSString or NSNumber. +- (void)setAdvancedOptionValue:(nonnull id)value forKey:(nonnull NSString *)key; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADExtras.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADExtras.h new file mode 100755 index 0000000..724a841 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADExtras.h @@ -0,0 +1,17 @@ +// +// GADExtras.h +// Google Mobile Ads SDK +// +// Copyright 2012 Google LLC. All rights reserved. +// + +#import +#import + +/// Ad network extras sent to Google networks. +@interface GADExtras : NSObject + +/// Additional parameters to be sent to Google networks. +@property(nonatomic, copy, nullable) NSDictionary *additionalParameters; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADFullScreenContentDelegate.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADFullScreenContentDelegate.h new file mode 100755 index 0000000..87f447e --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADFullScreenContentDelegate.h @@ -0,0 +1,54 @@ +// +// GADFullScreenContentDelegate.h +// Google Mobile Ads SDK +// +// Copyright 2020 Google LLC. All rights reserved. +// + +#import + +@protocol GADFullScreenContentDelegate; + +/// Protocol for ads that present full screen content. +@protocol GADFullScreenPresentingAd + +/// Delegate object that receives full screen content messages. +@property(nonatomic, weak, nullable) id fullScreenContentDelegate; + +@end + +/// Delegate methods for receiving notifications about presentation and dismissal of full screen +/// content. Full screen content covers your application's content. The delegate may want to pause +/// animations or time sensitive interactions. Full screen content may be presented in the following +/// cases: +/// 1. A full screen ad is presented. +/// 2. An ad interaction opens full screen content. +@protocol GADFullScreenContentDelegate + +@optional + +/// Tells the delegate that an impression has been recorded for the ad. +- (void)adDidRecordImpression:(nonnull id)ad; + +/// Tells the delegate that a click has been recorded for the ad. +- (void)adDidRecordClick:(nonnull id)ad; + +/// Tells the delegate that the ad failed to present full screen content. +- (void)ad:(nonnull id)ad + didFailToPresentFullScreenContentWithError:(nonnull NSError *)error; + +/// Tells the delegate that the ad will present full screen content. +- (void)adWillPresentFullScreenContent:(nonnull id)ad; + +/// Tells the delegate that the ad will dismiss full screen content. +- (void)adWillDismissFullScreenContent:(nonnull id)ad; + +/// Tells the delegate that the ad dismissed full screen content. +- (void)adDidDismissFullScreenContent:(nonnull id)ad; + +#pragma mark - Unavailable + +/// Unsupported. Delegates should implement adWillPresentFullScreenContent: instead. +- (void)adDidPresentFullScreenContent:(nonnull id)ad NS_UNAVAILABLE; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADInitializationStatus.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADInitializationStatus.h new file mode 100755 index 0000000..a208443 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADInitializationStatus.h @@ -0,0 +1,39 @@ +// +// GADInitializationStatus.h +// Google Mobile Ads SDK +// +// Copyright 2018 Google LLC. All rights reserved. +// + +#import + +typedef NS_ENUM(NSInteger, GADAdapterInitializationState) { + /// The mediation adapter is less likely to fill ad requests. + GADAdapterInitializationStateNotReady = 0, + /// The mediation adapter is ready to service ad requests. + GADAdapterInitializationStateReady = 1 +}; + +/// An immutable snapshot of a mediation adapter's initialization status. +@interface GADAdapterStatus : NSObject + +/// Initialization state of the adapter. +@property(nonatomic, readonly) GADAdapterInitializationState state; + +/// Detailed description of the status. +@property(nonatomic, readonly, nonnull) NSString *description; + +/// The adapter's initialization latency in seconds. 0 if initialization has not yet ended. +@property(nonatomic, readonly) NSTimeInterval latency; + +@end + +/// An immutable snapshot of the Google Mobile Ads SDK's initialization status, categorized by +/// mediation adapter. +@interface GADInitializationStatus : NSObject +/// Initialization status of each ad network available to the Google Mobile Ads SDK, keyed by its +/// GADMAdapter's class name. The list of available ad networks may be incomplete during early +/// phases of SDK initialization. +@property(nonatomic, readonly, nonnull) + NSDictionary *adapterStatusesByClassName; +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADInterstitialAd.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADInterstitialAd.h new file mode 100755 index 0000000..d9f0ff8 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADInterstitialAd.h @@ -0,0 +1,62 @@ +// +// GADInterstitialAd.h +// Google Mobile Ads SDK +// +// Copyright 2020 Google LLC. All rights reserved. +// + +#import +#import + +#import +#import +#import +#import +#import + +@class GADInterstitialAd; + +/// A block to be executed when the ad request operation completes. On success, +/// interstitialAd is non-nil and |error| is nil. On failure, interstitialAd is nil +/// and |error| is non-nil. +typedef void (^GADInterstitialAdLoadCompletionHandler)(GADInterstitialAd *_Nullable interstitialAd, + NSError *_Nullable error); + +/// An interstitial ad. This is a full-screen advertisement shown at natural transition points in +/// your application such as between game levels or news stories. See +/// https://developers.google.com/admob/ios/interstitial to get started. +@interface GADInterstitialAd : NSObject + +/// The ad unit ID. +@property(nonatomic, readonly, nonnull) NSString *adUnitID; + +/// Information about the ad response that returned the ad. +@property(nonatomic, readonly, nonnull) GADResponseInfo *responseInfo; + +/// Delegate for handling full screen content messages. +@property(nonatomic, weak, nullable) id fullScreenContentDelegate; + +/// Called when the ad is estimated to have earned money. Available for allowlisted accounts only. +@property(nonatomic, nullable, copy) GADPaidEventHandler paidEventHandler; + +/// Loads an interstitial ad. +/// +/// @param adUnitID An ad unit ID created in the AdMob or Ad Manager UI. +/// @param request An ad request object. If nil, a default ad request object is used. +/// @param completionHandler A handler to execute when the load operation finishes or times out. ++ (void)loadWithAdUnitID:(nonnull NSString *)adUnitID + request:(nullable GADRequest *)request + completionHandler:(nonnull GADInterstitialAdLoadCompletionHandler)completionHandler; + +/// Returns whether the interstitial ad can be presented from the provided root view +/// controller. Sets the error out parameter if the ad can't be presented. Must be called on the +/// main thread. +- (BOOL)canPresentFromRootViewController:(nonnull UIViewController *)rootViewController + error:(NSError *_Nullable __autoreleasing *_Nullable)error; + +/// Presents the interstitial ad. Must be called on the main thread. +/// +/// @param rootViewController A view controller to present the ad. +- (void)presentFromRootViewController:(nonnull UIViewController *)rootViewController; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADMediaAspectRatio.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADMediaAspectRatio.h new file mode 100755 index 0000000..eba2b9b --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADMediaAspectRatio.h @@ -0,0 +1,22 @@ +// +// GADMediaAspectRatio.h +// Google Mobile Ads SDK +// +// Copyright 2019 Google LLC. All rights reserved. +// + +#import + +/// Media aspect ratio. +typedef NS_ENUM(NSInteger, GADMediaAspectRatio) { + /// Unknown media aspect ratio. + GADMediaAspectRatioUnknown = 0, + /// Any media aspect ratio. + GADMediaAspectRatioAny = 1, + /// Landscape media aspect ratio. + GADMediaAspectRatioLandscape = 2, + /// Portrait media aspect ratio. + GADMediaAspectRatioPortrait = 3, + /// Close to square media aspect ratio. This is not a strict 1:1 aspect ratio. + GADMediaAspectRatioSquare = 4 +}; diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADMediaContent.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADMediaContent.h new file mode 100755 index 0000000..e039e68 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADMediaContent.h @@ -0,0 +1,40 @@ +// +// GADMediaContent.h +// Google Mobile Ads SDK +// +// Copyright 2019 Google LLC. All rights reserved. +// + +#import +#import + +/// Provides media content information. Interact with instances of this class on the main queue +/// only. +@interface GADMediaContent : NSObject + +/// Controls the media content's video. +@property(nonatomic, readonly, nonnull) GADVideoController *videoController; + +/// Indicates whether the media content has video content. +@property(nonatomic, readonly) BOOL hasVideoContent; + +/// Media content aspect ratio (width/height). The value is 0 when there's no media content or the +/// media content aspect ratio is unknown. +@property(nonatomic, readonly) CGFloat aspectRatio; + +/// The video's duration in seconds or 0 if there's no video or the duration is unknown. +@property(nonatomic, readonly) NSTimeInterval duration; + +/// The video's current playback time in seconds or 0 if there's no video or the current playback +/// time is unknown. +@property(nonatomic, readonly) NSTimeInterval currentTime; + +@end + +@interface GADMediaContent (NativeAd) + +/// The main image to be displayed when the media content doesn't contain video. Only available to +/// native ads. +@property(nonatomic, nullable) UIImage *mainImage; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADMediaView.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADMediaView.h new file mode 100755 index 0000000..2a8a6c5 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADMediaView.h @@ -0,0 +1,29 @@ +// +// GADMediaView.h +// Google Mobile Ads SDK +// +// Copyright 2019 Google LLC. All rights reserved. +// + +#import +#import + +/// Displays native ad media content. +/// +/// To display media content in GADNativeAdView instances, add a GADMediaView subview, +/// assign the native ad view's mediaView property, and set the native ad's mediaContent property to +/// the media view. +/// +/// If the native ad contains video content, the media view displays the video content. +/// +/// If the native ad doesn't have video content and image loading is enabled, the media view +/// displays the first image from the native ad's |images| property. +/// +/// If the native ad doesn't have video content and image loading is disabled, the media view is +/// empty. +@interface GADMediaView : UIView + +/// The media content displayed in the media view. +@property(nonatomic, nullable) GADMediaContent *mediaContent; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADMobileAds.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADMobileAds.h new file mode 100755 index 0000000..cec707e --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADMobileAds.h @@ -0,0 +1,108 @@ +// +// GADMobileAds.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google LLC. All rights reserved. +// + +#import +#import +#import + +#import +#import +#import +#import + +/// A block called with the initialization status when [GADMobileAds startWithCompletionHandler:] +/// completes or times out. +typedef void (^GADInitializationCompletionHandler)(GADInitializationStatus *_Nonnull status); + +/// Completion handler for presenting Ad Inspector. Returns an error if a problem was detected +/// during presentation, or nil otherwise. +typedef void (^GADAdInspectorCompletionHandler)(NSError *_Nullable error); + +/// Google Mobile Ads SDK settings. +@interface GADMobileAds : NSObject + +/// Returns the shared GADMobileAds instance. ++ (nonnull GADMobileAds *)sharedInstance; + +/// Returns the Google Mobile Ads SDK's version number. +@property(nonatomic, readonly) GADVersionNumber versionNumber; + +/// The application's audio volume. Affects audio volumes of all ads relative to other audio output. +/// Valid ad volume values range from 0.0 (silent) to 1.0 (current device volume). Defaults to 1.0. +/// +/// Warning: Lowering your app's audio volume reduces video ad eligibility and may reduce your app's +/// ad revenue. You should only utilize this API if your app provides custom volume controls to the +/// user, and you should reflect the user's volume choice in this API. +@property(nonatomic, assign) float applicationVolume; + +/// Indicates whether the application's audio is muted. Affects initial mute state for all ads. +/// Defaults to NO. +/// +/// Warning: Muting your application reduces video ad eligibility and may reduce your app's ad +/// revenue. You should only utilize this API if your app provides a custom mute control to the +/// user, and you should reflect the user's mute decision in this API. +@property(nonatomic, assign) BOOL applicationMuted; + +/// Manages the Google Mobile Ads SDK's audio and video settings. +@property(nonatomic, readonly, strong, nonnull) GADAudioVideoManager *audioVideoManager; + +/// Request configuration that is common to all requests. +@property(nonatomic, readonly, strong, nonnull) GADRequestConfiguration *requestConfiguration; + +/// Initialization status of the ad networks available to the Google Mobile Ads SDK. +@property(nonatomic, nonnull, readonly) GADInitializationStatus *initializationStatus; + +/// Returns YES if the current SDK version is at least |major|.|minor|.|patch|. This method can be +/// used by libraries that depend on a specific minimum version of the Google Mobile Ads SDK to warn +/// developers if they have an incompatible version. +/// +/// Available in Google Mobile Ads SDK 7.10 and onwards. Before calling this method check if the +/// GADMobileAds's shared instance responds to this method. Calling this method on a Google Mobile +/// Ads SDK lower than 7.10 can crash the app. +- (BOOL)isSDKVersionAtLeastMajor:(NSInteger)major + minor:(NSInteger)minor + patch:(NSInteger)patch + NS_SWIFT_NAME(isSDKVersionAtLeast(major:minor:patch:)); + +/// Starts the Google Mobile Ads SDK. Call this method as early as possible to reduce latency on the +/// session's first ad request. Calls completionHandler when the GMA SDK and all mediation networks +/// are fully set up or if set-up times out. The Google Mobile Ads SDK starts on the first ad +/// request if this method is not called. +- (void)startWithCompletionHandler:(nullable GADInitializationCompletionHandler)completionHandler; + +/// Disables automated SDK crash reporting. If not called, the SDK records the original exception +/// handler if available and registers a new exception handler. The new exception handler only +/// reports SDK related exceptions and calls the recorded original exception handler. +- (void)disableSDKCrashReporting; + +/// Disables mediation adapter initialization during initialization of the GMA SDK. Calling this +/// method may negatively impact your ad performance and should only be called if you will not use +/// GMA SDK controlled mediation during this app session. This method must be called before +/// initializing the GMA SDK or loading ads and has no effect once the SDK has been initialized. +- (void)disableMediationInitialization; + +/// Presents Ad Inspector. The device calling this API must be registered as a test device in order +/// to launch Ad Inspector. Set +/// GADMobileAds.sharedInstance.requestConfiguration.testDeviceIdentifiers to enable test mode on +/// this device. +/// @param viewController A view controller to present Ad Inspector. +/// @param completionHandler A handler to execute when Ad Inspector is closed. +- (void)presentAdInspectorFromViewController:(nonnull UIViewController *)viewController + completionHandler: + (nullable GADAdInspectorCompletionHandler)completionHandler; + +/// Registers a web view with the Google Mobile Ads SDK to improve in-app ad monetization of ads +/// within this web view. +- (void)registerWebView:(nonnull WKWebView *)webView; + +#pragma mark Deprecated + +/// Returns the version of the SDK. +@property(nonatomic, nonnull, readonly) + NSString *sdkVersion GAD_DEPRECATED_MSG_ATTRIBUTE("Use versionNumber property instead."); + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADMultipleAdsAdLoaderOptions.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADMultipleAdsAdLoaderOptions.h new file mode 100755 index 0000000..152a51e --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADMultipleAdsAdLoaderOptions.h @@ -0,0 +1,23 @@ +// +// GADMultipleAdsAdLoaderOptions.h +// Google Mobile Ads SDK +// +// Copyright 2017 Google LLC. All rights reserved. +// + +#import + +/// Ad loader options for requesting multiple ads. Requesting multiple ads in a single request is +/// currently only available for native app install ads and native content ads. +@interface GADMultipleAdsAdLoaderOptions : GADAdLoaderOptions + +/// Number of ads the GADAdLoader should attempt to return for the request. By default, numberOfAds +/// is one. Requests are invalid and will fail if numberOfAds is less than one. If numberOfAds +/// exceeds the maximum limit (5), only the maximum number of ads are requested. +/// +/// The ad loader makes at least one and up to numberOfAds calls to the "ad received" and +/// -didFailToReceiveAdWithError: methods found in GADAdLoaderDelegate and its extensions, followed +/// by a single call to -adLoaderDidFinishLoading: once loading is finished. +@property(nonatomic) NSInteger numberOfAds; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADMuteThisAdReason.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADMuteThisAdReason.h new file mode 100755 index 0000000..6172be5 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADMuteThisAdReason.h @@ -0,0 +1,16 @@ +// +// GADMuteThisAdReason.h +// Google Mobile Ads SDK +// +// Copyright 2018 Google LLC. All rights reserved. +// + +#import + +/// Reason for muting the ad. +@interface GADMuteThisAdReason : NSObject + +/// Text that describes the reason for muting this ad. For example "Ad Covered Content". +@property(nonatomic, readonly, nonnull) NSString *reasonDescription; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeAd+ConfirmationClick.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeAd+ConfirmationClick.h new file mode 100755 index 0000000..ad9d4de --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeAd+ConfirmationClick.h @@ -0,0 +1,28 @@ +// +// GADNativeAd+ConfirmationClick.h +// Google Mobile Ads SDK +// +// Copyright 2017 Google LLC. All rights reserved. +// + +#import +#import +#import +#import + +@interface GADNativeAd (ConfirmedClick) + +/// Unconfirmed click delegate. +@property(nonatomic, weak, nullable) id + unconfirmedClickDelegate; + +/// Registers a view that will confirm the click. +- (void)registerClickConfirmingView:(nullable UIView *)view; + +/// Cancels the unconfirmed click. Call this method when the user fails to confirm the click. +/// Calling this method causes the SDK to stop tracking clicks on the registered click confirming +/// view and invokes the -nativeAdDidCancelUnconfirmedClick: delegate method. If no unconfirmed +/// click is in progress, this method has no effect. +- (void)cancelUnconfirmedClick; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeAd+CustomClickGesture.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeAd+CustomClickGesture.h new file mode 100755 index 0000000..8d4df3d --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeAd+CustomClickGesture.h @@ -0,0 +1,22 @@ +// +// GADNativeAd+CustomClickGesture.h +// Google Mobile Ads SDK +// +// Copyright 2018 Google LLC. All rights reserved. +// + +#import + +@interface GADNativeAd (CustomClickGesture) + +/// Indicates whether the custom click gestures feature can be used. +@property(nonatomic, readonly, getter=isCustomClickGestureEnabled) BOOL customClickGestureEnabled; + +/// Enables custom click gestures. Must be called before the ad is associated with an ad view. +/// Available for allowlisted accounts only. +- (void)enableCustomClickGestures; + +/// Records a click triggered by a custom click gesture. +- (void)recordCustomClickGesture; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeAd.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeAd.h new file mode 100755 index 0000000..4a65661 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeAd.h @@ -0,0 +1,144 @@ +// +// GADNativeAd.h +// Google Mobile Ads SDK +// +// Copyright 2017 Google LLC. All rights reserved. +// + +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import + +/// Native ad. To request this ad type, pass GADAdLoaderAdTypeNative +/// (see GADAdLoaderAdTypes.h) to the |adTypes| parameter in GADAdLoader's initializer method. If +/// you request this ad type, your delegate must conform to the GADNativeAdLoaderDelegate +/// protocol. +@interface GADNativeAd : NSObject + +#pragma mark - Must be displayed if available + +/// Headline. +@property(nonatomic, readonly, copy, nullable) NSString *headline; + +#pragma mark - Recommended to display + +/// Text that encourages user to take some action with the ad. For example "Install". +@property(nonatomic, readonly, copy, nullable) NSString *callToAction; +/// Icon image. +@property(nonatomic, readonly, strong, nullable) GADNativeAdImage *icon; +/// Description. +@property(nonatomic, readonly, copy, nullable) NSString *body; +/// Array of GADNativeAdImage objects. +@property(nonatomic, readonly, strong, nullable) NSArray *images; +/// App store rating (0 to 5). +@property(nonatomic, readonly, copy, nullable) NSDecimalNumber *starRating; +/// The app store name. For example, "App Store". +@property(nonatomic, readonly, copy, nullable) NSString *store; +/// String representation of the app's price. +@property(nonatomic, readonly, copy, nullable) NSString *price; +/// Identifies the advertiser. For example, the advertiser’s name or visible URL. +@property(nonatomic, readonly, copy, nullable) NSString *advertiser; +/// Media content. Set the associated media view's mediaContent property to this object to display +/// this content. +@property(nonatomic, readonly, nonnull) GADMediaContent *mediaContent; + +#pragma mark - Other properties + +/// Optional delegate to receive state change notifications. +@property(nonatomic, weak, nullable) id delegate; + +/// Reference to a root view controller that is used by the ad to present full screen content after +/// the user interacts with the ad. The root view controller is most commonly the view controller +/// displaying the ad. +@property(nonatomic, weak, nullable) UIViewController *rootViewController; + +/// Dictionary of assets which aren't processed by the receiver. +@property(nonatomic, readonly, copy, nullable) NSDictionary *extraAssets; + +/// Information about the ad response that returned the ad. +@property(nonatomic, readonly, nonnull) GADResponseInfo *responseInfo; + +/// Called when the ad is estimated to have earned money. Available for allowlisted accounts only. +@property(nonatomic, nullable, copy) GADPaidEventHandler paidEventHandler; + +/// Indicates whether custom Mute This Ad is available for the native ad. +@property(nonatomic, readonly, getter=isCustomMuteThisAdAvailable) BOOL customMuteThisAdAvailable; + +/// An array of Mute This Ad reasons used to render customized mute ad survey. Use this array to +/// implement your own Mute This Ad feature only when customMuteThisAdAvailable is YES. +@property(nonatomic, readonly, nullable) NSArray *muteThisAdReasons; + +/// Registers ad view, clickable asset views, and nonclickable asset views with this native ad. +/// Media view shouldn't be registered as clickable. +/// @param clickableAssetViews Dictionary of asset views that are clickable, keyed by asset IDs. +/// @param nonclickableAssetViews Dictionary of asset views that are not clickable, keyed by asset +/// IDs. +- (void)registerAdView:(nonnull UIView *)adView + clickableAssetViews: + (nonnull NSDictionary *)clickableAssetViews + nonclickableAssetViews: + (nonnull NSDictionary *)nonclickableAssetViews; + +/// Unregisters ad view from this native ad. The corresponding asset views will also be +/// unregistered. +- (void)unregisterAdView; + +/// Reports the mute event with the mute reason selected by user. Use nil if no reason was selected. +/// Call this method only if customMuteThisAdAvailable is YES. +- (void)muteThisAdWithReason:(nullable GADMuteThisAdReason *)reason; + +@end + +#pragma mark - Protocol and constants + +/// The delegate of a GADAdLoader object implements this protocol to receive GADNativeAd ads. +@protocol GADNativeAdLoaderDelegate +/// Called when a native ad is received. +- (void)adLoader:(nonnull GADAdLoader *)adLoader didReceiveNativeAd:(nonnull GADNativeAd *)nativeAd; +@end + +#pragma mark - Unified Native Ad View + +/// Base class for native ad views. Your native ad view must be a subclass of this class and must +/// call superclass methods for all overridden methods. +@interface GADNativeAdView : UIView + +/// This property must point to the native ad object rendered by this ad view. +@property(nonatomic, strong, nullable) GADNativeAd *nativeAd; + +/// Weak reference to your ad view's headline asset view. +@property(nonatomic, weak, nullable) IBOutlet UIView *headlineView; +/// Weak reference to your ad view's call to action asset view. +@property(nonatomic, weak, nullable) IBOutlet UIView *callToActionView; +/// Weak reference to your ad view's icon asset view. +@property(nonatomic, weak, nullable) IBOutlet UIView *iconView; +/// Weak reference to your ad view's body asset view. +@property(nonatomic, weak, nullable) IBOutlet UIView *bodyView; +/// Weak reference to your ad view's store asset view. +@property(nonatomic, weak, nullable) IBOutlet UIView *storeView; +/// Weak reference to your ad view's price asset view. +@property(nonatomic, weak, nullable) IBOutlet UIView *priceView; +/// Weak reference to your ad view's image asset view. +@property(nonatomic, weak, nullable) IBOutlet UIView *imageView; +/// Weak reference to your ad view's star rating asset view. +@property(nonatomic, weak, nullable) IBOutlet UIView *starRatingView; +/// Weak reference to your ad view's advertiser asset view. +@property(nonatomic, weak, nullable) IBOutlet UIView *advertiserView; +/// Weak reference to your ad view's media asset view. +@property(nonatomic, weak, nullable) IBOutlet GADMediaView *mediaView; +/// Weak reference to your ad view's AdChoices view. Must set adChoicesView before setting +/// nativeAd, otherwise AdChoices will be rendered according to the preferredAdChoicesPosition +/// defined in GADNativeAdViewAdOptions. +@property(nonatomic, weak, nullable) IBOutlet GADAdChoicesView *adChoicesView; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeAdAssetIdentifiers.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeAdAssetIdentifiers.h new file mode 100755 index 0000000..8a0aa1f --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeAdAssetIdentifiers.h @@ -0,0 +1,23 @@ +// +// GADNativeAdAssetIdentifiers.h +// Google Mobile Ads SDK +// +// Copyright 2017 Google LLC. All rights reserved. +// + +#import +#import + +typedef NSString *GADNativeAssetIdentifier NS_TYPED_ENUM; + +FOUNDATION_EXPORT GADNativeAssetIdentifier _Nonnull const GADNativeHeadlineAsset; +FOUNDATION_EXPORT GADNativeAssetIdentifier _Nonnull const GADNativeCallToActionAsset; +FOUNDATION_EXPORT GADNativeAssetIdentifier _Nonnull const GADNativeIconAsset; +FOUNDATION_EXPORT GADNativeAssetIdentifier _Nonnull const GADNativeBodyAsset; +FOUNDATION_EXPORT GADNativeAssetIdentifier _Nonnull const GADNativeStoreAsset; +FOUNDATION_EXPORT GADNativeAssetIdentifier _Nonnull const GADNativePriceAsset; +FOUNDATION_EXPORT GADNativeAssetIdentifier _Nonnull const GADNativeImageAsset; +FOUNDATION_EXPORT GADNativeAssetIdentifier _Nonnull const GADNativeStarRatingAsset; +FOUNDATION_EXPORT GADNativeAssetIdentifier _Nonnull const GADNativeAdvertiserAsset; +FOUNDATION_EXPORT GADNativeAssetIdentifier _Nonnull const GADNativeMediaViewAsset; +FOUNDATION_EXPORT GADNativeAssetIdentifier _Nonnull const GADNativeAdChoicesViewAsset; diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeAdCustomClickGestureOptions.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeAdCustomClickGestureOptions.h new file mode 100755 index 0000000..d7fec04 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeAdCustomClickGestureOptions.h @@ -0,0 +1,28 @@ +// +// GADNativeAdCustomClickGestureOptions.h +// Google Mobile Ads SDK +// +// Copyright 2022 Google LLC. All rights reserved. +// + +#import + +/// Ad loader options for custom click gestures. Available for allowlisted publishers only. These +/// options will be ignored for publishers not allowlisted. +@interface GADNativeAdCustomClickGestureOptions : GADAdLoaderOptions + +/// The direction in which swipe gestures should be detected and counted as clicks. +@property(nonatomic, assign) UISwipeGestureRecognizerDirection swipeGestureDirection; + +/// Whether tap gestures should continue to be detected and counted as clicks. +@property(nonatomic, assign) BOOL tapsAllowed; + +/// Initialize with the direction for detecting swipe gestures and counting them as clicks, and +/// whether tap gestures are allowed on the ad. +- (nonnull instancetype)initWithSwipeGestureDirection:(UISwipeGestureRecognizerDirection)direction + tapsAllowed:(BOOL)tapsAllowed NS_DESIGNATED_INITIALIZER; + +/// Unavailable. +- (nonnull instancetype)init NS_UNAVAILABLE; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeAdDelegate.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeAdDelegate.h new file mode 100755 index 0000000..bfcb753 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeAdDelegate.h @@ -0,0 +1,52 @@ +// +// GADNativeAdDelegate.h +// Google Mobile Ads SDK +// +// Copyright 2017 Google LLC. All rights reserved. +// + +#import + +@class GADNativeAd; + +/// Identifies native ad assets. +@protocol GADNativeAdDelegate + +@optional + +#pragma mark - Ad Lifecycle Events + +/// Called when an impression is recorded for an ad. +- (void)nativeAdDidRecordImpression:(nonnull GADNativeAd *)nativeAd; + +/// Called when a click is recorded for an ad. +- (void)nativeAdDidRecordClick:(nonnull GADNativeAd *)nativeAd; + +/// Called when a swipe gesture click is recorded for an ad. +- (void)nativeAdDidRecordSwipeGestureClick:(nonnull GADNativeAd *)nativeAd; + +#pragma mark - Click-Time Lifecycle Notifications + +/// Called before presenting the user a full screen view in response to an ad action. Use this +/// opportunity to stop animations, time sensitive interactions, etc. +/// +/// Normally the user looks at the ad, dismisses it, and control returns to your application with +/// the nativeAdDidDismissScreen: message. However, if the user hits the Home button or clicks on an +/// App Store link, your application will be backgrounded. The next method called will be the +/// applicationWillResignActive: of your UIApplicationDelegate object. +- (void)nativeAdWillPresentScreen:(nonnull GADNativeAd *)nativeAd; + +/// Called before dismissing a full screen view. +- (void)nativeAdWillDismissScreen:(nonnull GADNativeAd *)nativeAd; + +/// Called after dismissing a full screen view. Use this opportunity to restart anything you may +/// have stopped as part of nativeAdWillPresentScreen:. +- (void)nativeAdDidDismissScreen:(nonnull GADNativeAd *)nativeAd; + +#pragma mark - Mute This Ad + +/// Used for Mute This Ad feature. Called after the native ad is muted. Only called for Google ads +/// and is not supported for mediated ads. +- (void)nativeAdIsMuted:(nonnull GADNativeAd *)nativeAd; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeAdImage+Mediation.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeAdImage+Mediation.h new file mode 100755 index 0000000..3e831a4 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeAdImage+Mediation.h @@ -0,0 +1,19 @@ +// +// GADNativeAdImage+Mediation.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google. All rights reserved. +// + +#import + +/// Provides additional GADNativeAdImage initializers. +@interface GADNativeAdImage (MediationAdditions) + +/// Initializes and returns a native ad image object with the provided image. +- (nonnull instancetype)initWithImage:(nonnull UIImage *)image; + +/// Initializes and returns a native ad image object with the provided image URL and image scale. +- (nonnull instancetype)initWithURL:(nonnull NSURL *)URL scale:(CGFloat)scale; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeAdImage.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeAdImage.h new file mode 100755 index 0000000..06eb77f --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeAdImage.h @@ -0,0 +1,23 @@ +// +// GADNativeAdImage.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google LLC. All rights reserved. +// + +#import +#import + +/// Native ad image. +@interface GADNativeAdImage : NSObject + +/// The image. If image autoloading is disabled, this property will be nil. +@property(nonatomic, readonly, strong, nullable) UIImage *image; + +/// The image's URL. +@property(nonatomic, readonly, copy, nullable) NSURL *imageURL; + +/// The image's scale. +@property(nonatomic, readonly, assign) CGFloat scale; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeAdImageAdLoaderOptions.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeAdImageAdLoaderOptions.h new file mode 100755 index 0000000..136fab4 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeAdImageAdLoaderOptions.h @@ -0,0 +1,21 @@ +// +// GADNativeAdImageAdLoaderOptions.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google LLC. All rights reserved. +// + +#import + +/// Ad loader options for native ad image settings. +@interface GADNativeAdImageAdLoaderOptions : GADAdLoaderOptions + +/// Indicates whether image asset content should be loaded by the SDK. If set to YES, the SDK will +/// not load image asset content and native ad image URLs can be used to fetch content. Defaults to +/// NO, image assets are loaded by the SDK. +@property(nonatomic, assign) BOOL disableImageLoading; + +/// Indicates whether multiple images should be loaded for each asset. Defaults to NO. +@property(nonatomic, assign) BOOL shouldRequestMultipleImages; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeAdMediaAdLoaderOptions.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeAdMediaAdLoaderOptions.h new file mode 100755 index 0000000..3649a7c --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeAdMediaAdLoaderOptions.h @@ -0,0 +1,19 @@ +// +// GADNativeAdMediaAdLoaderOptions.h +// Google Mobile Ads SDK +// +// Copyright 2019 Google LLC. All rights reserved. +// + +#import +#import + +/// Ad loader options for native ad media settings. +@interface GADNativeAdMediaAdLoaderOptions : GADAdLoaderOptions + +/// Image and video aspect ratios. Defaults to GADMediaAspectRatioUnknown. Portrait, landscape, and +/// square aspect ratios are returned when this property is GADMediaAspectRatioUnknown or +/// GADMediaAspectRatioAny. +@property(nonatomic, assign) GADMediaAspectRatio mediaAspectRatio; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeAdUnconfirmedClickDelegate.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeAdUnconfirmedClickDelegate.h new file mode 100755 index 0000000..fedabc8 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeAdUnconfirmedClickDelegate.h @@ -0,0 +1,29 @@ +// +// GADNativeAdUnconfirmedClickDelegate.h +// Google Mobile Ads SDK +// +// Copyright 2017 Google LLC. All rights reserved. +// + +#import +#import + +@class GADNativeAd; + +/// Delegate methods for handling native ad unconfirmed clicks. +@protocol GADNativeAdUnconfirmedClickDelegate + +/// Tells the delegate that native ad receives an unconfirmed click on view with asset ID. You +/// should update user interface and ask user to confirm the click once this message is received. +/// Use the -registerClickConfirmingView: method in GADNativeAd+ConfirmedClick.h to register +/// a view that will confirm the click. Only called for Google ads and is not supported for mediated +/// ads. +- (void)nativeAd:(nonnull GADNativeAd *)nativeAd + didReceiveUnconfirmedClickOnAssetID:(nonnull GADNativeAssetIdentifier)assetID; + +/// Tells the delegate that the unconfirmed click is cancelled. You should revert the user interface +/// change once this message is received. Only called for Google ads and is not supported for +/// mediated ads. +- (void)nativeAdDidCancelUnconfirmedClick:(nonnull GADNativeAd *)nativeAd; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeAdViewAdOptions.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeAdViewAdOptions.h new file mode 100755 index 0000000..8c0c0c6 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeAdViewAdOptions.h @@ -0,0 +1,24 @@ +// +// GADNativeAdViewAdOptions.h +// Google Mobile Ads SDK +// +// Copyright 2016 Google LLC. All rights reserved. +// + +#import + +/// Position of the AdChoices icon in the containing ad. +typedef NS_ENUM(NSInteger, GADAdChoicesPosition) { + GADAdChoicesPositionTopRightCorner, ///< Top right corner. + GADAdChoicesPositionTopLeftCorner, ///< Top left corner. + GADAdChoicesPositionBottomRightCorner, ///< Bottom right corner. + GADAdChoicesPositionBottomLeftCorner ///< Bottom Left Corner. +}; + +/// Ad loader options for configuring the view of native ads. +@interface GADNativeAdViewAdOptions : GADAdLoaderOptions + +/// Indicates preferred location of AdChoices icon. Default is GADAdChoicesPositionTopRightCorner. +@property(nonatomic, assign) GADAdChoicesPosition preferredAdChoicesPosition; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeMuteThisAdLoaderOptions.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeMuteThisAdLoaderOptions.h new file mode 100755 index 0000000..b0f3323 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADNativeMuteThisAdLoaderOptions.h @@ -0,0 +1,16 @@ +// +// GADNativeMuteThisAdLoaderOptions.h +// Google Mobile Ads SDK +// +// Copyright 2018 Google LLC. All rights reserved. +// + +#import + +/// Mute This Ad options. +@interface GADNativeMuteThisAdLoaderOptions : GADAdLoaderOptions + +/// Set to YES to request the custom Mute This Ad feature. By default, this property's value is YES. +@property(nonatomic) BOOL customMuteThisAdRequested; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADPresentationError.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADPresentationError.h new file mode 100755 index 0000000..a7ae130 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADPresentationError.h @@ -0,0 +1,32 @@ +// +// GADPresentError.h +// Google Mobile Ads SDK +// +// Copyright 2019 Google LLC. All rights reserved. +// + +#import + +/// Error codes in the Google Mobile Ads SDK domain that surface due to errors when attempting to +/// present an ad. +typedef NS_ENUM(NSInteger, GADPresentationErrorCode) { + + /// Ad isn't ready to be shown. + GADPresentationErrorCodeAdNotReady = 15, + + /// Ad is too large for the scene. + GADPresentationErrorCodeAdTooLarge = 16, + + /// Internal error. + GADPresentationErrorCodeInternal = 17, + + /// Ad has already been used. + GADPresentationErrorCodeAdAlreadyUsed = 18, + + /// Attempted to present ad from a non-main thread. + GADPresentationErrorNotMainThread = 21, + + /// A mediation ad network adapter failed to present the ad. The adapter's error is included as an + /// underlyingError. + GADPresentationErrorMediation = 22, +}; diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADQueryInfo.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADQueryInfo.h new file mode 100755 index 0000000..9519782 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADQueryInfo.h @@ -0,0 +1,37 @@ +// +// GADQueryInfo.h +// Google Mobile Ads SDK +// +// Copyright 2019 Google LLC. All rights reserved. +// + +#import +#import + +@class GADQueryInfo; + +/// Completion handler for query creation. Returns query info or an error. +typedef void (^GADQueryInfoCreationCompletionHandler)(GADQueryInfo *_Nullable queryInfo, + NSError *_Nullable error); + +/// Query info used in requests. +@interface GADQueryInfo : NSObject + +/// Query string used in requests. +@property(nonatomic, readonly, nonnull) NSString *query; + +/// Creates query info that can be used as input in a Google request. Calls completionHandler +/// asynchronously on the main thread once query info has been created or when an error occurs. ++ (void)createQueryInfoWithRequest:(nullable GADRequest *)request + adFormat:(GADAdFormat)adFormat + completionHandler:(nonnull GADQueryInfoCreationCompletionHandler)completionHandler; + +/// Creates query info for adUnitID that can be used as input in a Google request. Calls +/// completionHandler asynchronously on the main thread once query info has been created or when an +/// error occurs. ++ (void)createQueryInfoWithRequest:(nullable GADRequest *)request + adFormat:(GADAdFormat)adFormat + adUnitID:(nonnull NSString *)adUnitID + completionHandler:(nonnull GADQueryInfoCreationCompletionHandler)completionHandler; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADRequest.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADRequest.h new file mode 100755 index 0000000..564ed66 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADRequest.h @@ -0,0 +1,65 @@ +// +// GADRequest.h +// Google Mobile Ads SDK +// +// Copyright 2011 Google LLC. All rights reserved. +// + +#import +#import +#import +#import +#import + +/// Specifies optional parameters for ad requests. +@interface GADRequest : NSObject + +/// Returns a default request. ++ (nonnull instancetype)request; + +#pragma mark Additional Parameters For Ad Networks + +/// Ad networks may have additional parameters they accept. To pass these parameters to them, create +/// the ad network extras object for that network, fill in the parameters, and register it here. The +/// ad network should have a header defining the interface for the 'extras' object to create. All +/// networks will have access to the basic settings you've set in this GADRequest. If you register +/// an extras object that is the same class as one you have registered before, the previous extras +/// will be overwritten. +- (void)registerAdNetworkExtras:(nonnull id)extras; + +/// Returns the network extras defined for an ad network. +- (nullable id)adNetworkExtrasFor:(nonnull Class)aClass; + +/// Removes the extras for an ad network. |aClass| is the class which represents that network's +/// extras type. +- (void)removeAdNetworkExtrasFor:(nonnull Class)aClass; + +#pragma mark Publisher Provided + +/// Scene object. Used in multiscene apps to request ads of the appropriate size. +@property(nonatomic, nullable, weak) UIWindowScene *scene API_AVAILABLE(ios(13.0)); + +#pragma mark Contextual Information + +/// Array of keyword strings. Keywords are words or phrases describing the current user activity +/// such as @"Sports Scores" or @"Football". Set this property to nil to clear the keywords. +@property(nonatomic, copy, nullable) NSArray *keywords; + +/// URL string for a webpage whose content matches the app's primary content. This webpage content +/// is used for targeting and brand safety purposes. +@property(nonatomic, copy, nullable) NSString *contentURL; + +/// URL strings for non-primary web content near an ad. Promotes brand safety and allows displayed +/// ads to have an app level rating (MA, T, PG, etc) that is more appropriate to neighboring +/// content. +@property(nonatomic, copy, nullable) NSArray *neighboringContentURLStrings; + +#pragma mark Request Agent Information + +/// String that identifies the ad request's origin. Third party libraries that reference the Mobile +/// Ads SDK should set this property to denote the platform from which the ad request originated. +/// For example, a third party ad network called "CoolAds network" that is mediating requests to the +/// Mobile Ads SDK should set this property as "CoolAds". +@property(nonatomic, copy, nullable) NSString *requestAgent; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADRequestConfiguration.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADRequestConfiguration.h new file mode 100755 index 0000000..a91c351 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADRequestConfiguration.h @@ -0,0 +1,132 @@ +// +// GADRequestConfiguration.h +// Google Mobile Ads SDK +// +// Copyright 2018 Google LLC. All rights reserved. +// + +#import +#import + +/// Maximum ad content rating. +typedef NSString *GADMaxAdContentRating NS_TYPED_ENUM; + +/// Rating for content suitable for general audiences, including families. +FOUNDATION_EXPORT GADMaxAdContentRating _Nonnull const GADMaxAdContentRatingGeneral; +/// Rating for content suitable for most audiences with parental guidance. +FOUNDATION_EXPORT GADMaxAdContentRating _Nonnull const GADMaxAdContentRatingParentalGuidance; +/// Rating for content suitable for teen and older audiences. +FOUNDATION_EXPORT GADMaxAdContentRating _Nonnull const GADMaxAdContentRatingTeen; +/// Rating for content suitable only for mature audiences. +FOUNDATION_EXPORT GADMaxAdContentRating _Nonnull const GADMaxAdContentRatingMatureAudience; + +/// Add this constant to the testDevices property's array to receive test ads on the simulator. +FOUNDATION_EXPORT NSString *_Nonnull const GADSimulatorID GAD_DEPRECATED_MSG_ATTRIBUTE( + "Deprecated. Simulators are already in test mode by default."); + +/// Publisher privacy treatment personalization states. +typedef NS_ENUM(NSInteger, GADPublisherPrivacyPersonalizationState) { + /// Indicates that ad requests should receive the default publisher privacy treatment. + GADPublisherPrivacyPersonalizationStateDefault = 0, + /// Indicates that ad requests should receive personalized publisher privacy treatment. + GADPublisherPrivacyPersonalizationStateEnabled = 1, + /// Indicates that ad requests should receive non-personalized publisher privacy treatment. + GADPublisherPrivacyPersonalizationStateDisabled = 2, +}; + +/// Request configuration. The settings in this class will apply to all ad requests. +@interface GADRequestConfiguration : NSObject + +/// The maximum ad content rating. All Google ads will have this content rating or lower. +@property(nonatomic, copy, nullable) GADMaxAdContentRating maxAdContentRating; + +/// Identifiers corresponding to test devices which will always request test ads. +/// The test device identifier for the current device is logged to the console when the first +/// ad request is made. +@property(nonatomic, copy, nullable) NSArray *testDeviceIdentifiers; + +/// [Optional] This property indicates whether the user is under the age of consent. +/// https://developers.google.com/admob/ios/targeting#users_under_the_age_of_consent. +/// +/// If you set this property with @YES, a TFUA parameter will be included in all ad requests, and +/// you are indicating that you want ad requests to be handled in a manner suitable for users under +/// the age of consent. This parameter disables personalized advertising, including remarketing, for +/// all ad requests. It also disables requests to third-party ad vendors, such as ad measurement +/// pixels and third-party ad servers. +/// +/// If you set this property with @NO, you are indicating that you don't want ad requests to be +/// handled in a manner suitable for users under the age of consent. +/// +/// If you leave or reset this property as nil or unknown, ad requests will include no indication +/// of how you would like your ad requests to be handled in a manner suitable for users under the +/// age of consent. +@property(nonatomic, nullable, copy) NSNumber *tagForUnderAgeOfConsent; + +/// [Optional] This property indicates whether you would like your app to be treated as +/// child-directed for purposes of the Children’s Online Privacy Protection Act (COPPA), +/// https://www.ftc.gov/business-guidance/privacy-security/childrens-privacy. +/// +/// If you set this property with @YES, you are indicating that your app should be treated as +/// child-directed for purposes of the Children’s Online Privacy Protection Act (COPPA). +/// +/// If you set this property with @NO, you are indicating that your app should not be treated as +/// child-directed for purposes of the Children’s Online Privacy Protection Act (COPPA). +/// +/// If you leave or reset this property as nil or unknown, ad requests will include no indication of +/// how you would like your app treated with respect to COPPA. +/// +/// By setting this property, you certify that this notification is accurate and you are authorized +/// to act on behalf of the owner of the app. You understand that abuse of this setting may result +/// in termination of your Google account. +@property(nonatomic, nullable, copy) NSNumber *tagForChildDirectedTreatment; + +/// Controls whether the Google Mobile Ads SDK publisher first-party ID, formerly known as the same +/// app key, is enabled. The value set persists across app sessions. The key is enabled by default. +- (void)setPublisherFirstPartyIDEnabled:(BOOL)enabled; + +#pragma mark - Publisher Privacy Treatment + +/// This property lets you specify the personalization treatment that applies to subsequent ad +/// requests. +@property(nonatomic) GADPublisherPrivacyPersonalizationState publisherPrivacyPersonalizationState; + +#pragma mark - Deprecated + +/// Controls whether the Google Mobile Ads SDK Same App Key is enabled. The value set persists +/// across app sessions. The key is enabled by default. +- (void)setSameAppKeyEnabled:(BOOL)enabled + GAD_DEPRECATED_MSG_ATTRIBUTE( + "This method is deprecated. Use the setPublisherFirstPartyIDEnabled: method instead."); + +/// This method lets you specify whether the user is under the age of consent. +/// https://developers.google.com/admob/ios/targeting#users_under_the_age_of_consent. +/// +/// If you call this method with YES, a TFUA parameter will be included in all ad requests. This +/// parameter disables personalized advertising, including remarketing, for all ad requests. It also +/// disables requests to third-party ad vendors, such as ad measurement pixels and third-party ad +/// servers. +- (void)tagForUnderAgeOfConsent:(BOOL)underAgeOfConsent + GAD_DEPRECATED_MSG_ATTRIBUTE( + "This method is deprecated. Use the tagForUnderAgeOfConsent property instead. Calling this " + "method internally sets the property."); + +/// [Optional] This method lets you specify whether you would like your app to be treated as +/// child-directed for purposes of the Children’s Online Privacy Protection Act (COPPA), +/// https://www.ftc.gov/business-guidance/privacy-security/childrens-privacy. +/// +/// If you call this method with YES, you are indicating that your app should be treated as +/// child-directed for purposes of the Children’s Online Privacy Protection Act (COPPA). If you call +/// this method with NO, you are indicating that your app should not be treated as child-directed +/// for purposes of the Children’s Online Privacy Protection Act (COPPA). If you do not call this +/// method, ad requests will include no indication of how you would like your app treated with +/// respect to COPPA. +/// +/// By setting this method, you certify that this notification is accurate and you are authorized to +/// act on behalf of the owner of the app. You understand that abuse of this setting may result in +/// termination of your Google account. +- (void)tagForChildDirectedTreatment:(BOOL)childDirectedTreatment + GAD_DEPRECATED_MSG_ATTRIBUTE( + "This method is deprecated. Use the tagForChildDirectedTreatment property instead. Calling " + "this method internally sets the property."); + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADRequestError.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADRequestError.h new file mode 100755 index 0000000..e1e4691 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADRequestError.h @@ -0,0 +1,63 @@ +// +// GADRequestError.h +// Google Mobile Ads SDK +// +// Copyright 2011 Google LLC. All rights reserved. +// + +#import +#import + +/// Google AdMob Ads error domain. +FOUNDATION_EXPORT NSString *_Nonnull const GADErrorDomain; + +/// NSError codes for GAD error domain. +typedef NS_ENUM(NSInteger, GADErrorCode) { + /// The ad request is invalid. The localizedFailureReason error description will have more + /// details. Typically this is because the ad did not have the ad unit ID or root view + /// controller set. + GADErrorInvalidRequest = 0, + + /// The ad request was successful, but no ad was returned. + GADErrorNoFill = 1, + + /// There was an error loading data from the network. + GADErrorNetworkError = 2, + + /// The ad server experienced a failure processing the request. + GADErrorServerError = 3, + + /// The current device's OS is below the minimum required version. + GADErrorOSVersionTooLow = 4, + + /// The request was unable to be loaded before being timed out. + GADErrorTimeout = 5, + + /// The mediation response was invalid. + GADErrorMediationDataError = 7, + + /// Error finding or creating a mediation ad network adapter. + GADErrorMediationAdapterError = 8, + + /// Attempting to pass an invalid ad size to an adapter. + GADErrorMediationInvalidAdSize = 10, + + /// Internal error. + GADErrorInternalError = 11, + + /// Invalid argument error. + GADErrorInvalidArgument = 12, + + /// Received invalid response. + GADErrorReceivedInvalidResponse = 13, + + /// A mediation ad network adapter received an ad request, but did not fill. The adapter's error + /// is included as an underlyingError. + GADErrorMediationNoFill = 9, + + /// Will not send request because the ad object has already been used. + GADErrorAdAlreadyUsed = 19, + + /// Will not send request because the application identifier is missing. + GADErrorApplicationIdentifierMissing = 20, +}; diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADResponseInfo.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADResponseInfo.h new file mode 100755 index 0000000..7832939 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADResponseInfo.h @@ -0,0 +1,83 @@ +// +// GADResponseInfo.h +// Google Mobile Ads SDK +// +// Copyright 2019-2021 Google LLC. All rights reserved. +// + +#import +#import + +/// Response metadata for an individual ad network in an ad response. +@interface GADAdNetworkResponseInfo : NSObject + +/// A class name that identifies the ad network. +@property(nonatomic, readonly, nonnull) NSString *adNetworkClassName; + +/// Network configuration set on the AdMob UI. +@property(nonatomic, readonly, nonnull) NSDictionary *adUnitMapping; + +/// The ad source name associated with this ad network response. Nil if the ad server does not +/// populate this field. +@property(nonatomic, readonly, nullable) NSString *adSourceName; + +/// The ad source ID associated with this ad network response. Nil if the ad server does not +/// populate this field. +@property(nonatomic, readonly, nullable) NSString *adSourceID; + +/// The ad source instance name associated with this ad network response. Nil if the ad server does +/// not populate this field. +@property(nonatomic, readonly, nullable) NSString *adSourceInstanceName; + +/// The ad source instance ID associated with this ad network response. Nil if the ad server does +/// not populate this field. +@property(nonatomic, readonly, nullable) NSString *adSourceInstanceID; + +/// Error associated with the request to the network. Nil if the network successfully loaded an ad +/// or if the network was not attempted. +@property(nonatomic, readonly, nullable) NSError *error; + +/// Amount of time the ad network spent loading an ad. 0 if the network was not attempted. +@property(nonatomic, readonly) NSTimeInterval latency; + +/// JSON-safe dictionary representation of the ad network response info. +@property(nonatomic, readonly, nonnull) NSDictionary *dictionaryRepresentation; + +@end + +/// Ad network class name for ads returned from Google's ad network. +FOUNDATION_EXPORT NSString *_Nonnull const GADGoogleAdNetworkClassName; + +/// Ad network class name for custom event ads. +FOUNDATION_EXPORT NSString *_Nonnull const GADCustomEventAdNetworkClassName; + +/// Key into NSError.userInfo mapping to a GADResponseInfo object. When ads fail to load, errors +/// returned contain an instance of GADResponseInfo. +FOUNDATION_EXPORT NSString *_Nonnull GADErrorUserInfoKeyResponseInfo; + +/// Information about a response to an ad request. +@interface GADResponseInfo : NSObject + +/// Unique identifier of the ad response. +@property(nonatomic, readonly, nullable) NSString *responseIdentifier; + +/// Dictionary of extra parameters that may be returned in an ad response. +@property(nonatomic, readonly, nonnull) NSDictionary *extrasDictionary; + +/// The GADAdNetworkResponseInfo corresponding to the adapter that was used to load the ad. Nil if +/// the ad failed to load. +@property(nonatomic, readonly, nullable) GADAdNetworkResponseInfo *loadedAdNetworkResponseInfo; + +/// Array of metadata for each ad network included in the response. +@property(nonatomic, readonly, nonnull) NSArray *adNetworkInfoArray; + +/// JSON-safe dictionary representation of the response info. +@property(nonatomic, readonly, nonnull) NSDictionary *dictionaryRepresentation; + +#pragma mark - Deprecated + +/// Deprecated. Use loadedAdNetworkResponseInfo.adNetworkClassName instead. +@property(nonatomic, readonly, nullable) NSString *adNetworkClassName GAD_DEPRECATED_MSG_ATTRIBUTE( + "Deprecated. Use loadedAdNetworkResponseInfo.adNetworkClassName instead."); + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADRewardedAd.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADRewardedAd.h new file mode 100755 index 0000000..89ef59c --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADRewardedAd.h @@ -0,0 +1,73 @@ +// +// GADRewardedAd.h +// Google Mobile Ads SDK +// +// Copyright 2020 Google LLC. All rights reserved. +// + +#import +#import + +#import +#import +#import +#import +#import +#import +#import + +@class GADRewardedAd; + +/// A block to be executed when the ad request operation completes. On success, +/// rewardedAd is non-nil and |error| is nil. On failure, rewardedAd is nil +/// and |error| is non-nil. +typedef void (^GADRewardedAdLoadCompletionHandler)(GADRewardedAd *_Nullable rewardedAd, + NSError *_Nullable error); + +/// A rewarded ad. Rewarded ads are ads that users have the option of interacting with in exchange +/// for in-app rewards. +@interface GADRewardedAd : NSObject + +/// The ad unit ID. +@property(nonatomic, readonly, nonnull) NSString *adUnitID; + +/// Information about the ad response that returned the ad. +@property(nonatomic, readonly, nonnull) GADResponseInfo *responseInfo; + +/// The reward earned by the user for interacting with the ad. +@property(nonatomic, readonly, nonnull) GADAdReward *adReward; + +/// Options specified for server-side user reward verification. Must be set before presenting this +/// ad. +@property(nonatomic, copy, nullable) + GADServerSideVerificationOptions *serverSideVerificationOptions; + +/// Delegate for handling full screen content messages. +@property(nonatomic, weak, nullable) id fullScreenContentDelegate; + +/// Called when the ad is estimated to have earned money. Available for allowlisted accounts only. +@property(nonatomic, nullable, copy) GADPaidEventHandler paidEventHandler; + +/// Loads a rewarded ad. +/// +/// @param adUnitID An ad unit ID created in the AdMob or Ad Manager UI. +/// @param request An ad request object. If nil, a default ad request object is used. +/// @param completionHandler A handler to execute when the load operation finishes or times out. ++ (void)loadWithAdUnitID:(nonnull NSString *)adUnitID + request:(nullable GADRequest *)request + completionHandler:(nonnull GADRewardedAdLoadCompletionHandler)completionHandler; + +/// Returns whether the rewarded ad can be presented from the provided root view +/// controller. Sets the error out parameter if the ad can't be presented. Must be called on the +/// main thread. +- (BOOL)canPresentFromRootViewController:(nonnull UIViewController *)rootViewController + error:(NSError *_Nullable __autoreleasing *_Nullable)error; + +/// Presents the rewarded ad. Must be called on the main thread. +/// +/// @param rootViewController A view controller to present the ad. +/// @param userDidEarnRewardHandler A handler to execute when the user earns a reward. +- (void)presentFromRootViewController:(nonnull UIViewController *)rootViewController + userDidEarnRewardHandler:(nonnull GADUserDidEarnRewardHandler)userDidEarnRewardHandler; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADRewardedInterstitialAd.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADRewardedInterstitialAd.h new file mode 100755 index 0000000..242d8fa --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADRewardedInterstitialAd.h @@ -0,0 +1,74 @@ +// +// GADRewardedInterstitialAd.h +// Google Mobile Ads SDK +// +// Copyright 2020 Google LLC. All rights reserved. +// + +#import +#import + +#import +#import +#import +#import +#import +#import +#import + +@class GADRewardedInterstitialAd; + +/// A block to be executed when the ad request operation completes. On success, +/// rewardedInterstitialAd is non-nil and |error| is nil. On failure, rewardedInterstitialAd is nil +/// and |error| is non-nil. +typedef void (^GADRewardedInterstitialAdLoadCompletionHandler)( + GADRewardedInterstitialAd *_Nullable rewardedInterstitialAd, NSError *_Nullable error); + +/// A rewarded interstitial ad. Rewarded Interstitial ads are full screen ads that can be presented +/// without user-opt in and allow you to reward the user with in-app items. +@interface GADRewardedInterstitialAd : NSObject + +/// The ad unit ID. +@property(nonatomic, readonly, nonnull) NSString *adUnitID; + +/// Information about the ad response that returned the ad. +@property(nonatomic, readonly, nonnull) GADResponseInfo *responseInfo; + +/// The reward earned by the user for interacting with the ad. +@property(nonatomic, readonly, nonnull) GADAdReward *adReward; + +/// Options specified for server-side user reward verification. Must be set before presenting this +/// ad. +@property(nonatomic, copy, nullable) + GADServerSideVerificationOptions *serverSideVerificationOptions; + +/// Delegate for handling full screen content messages. +@property(nonatomic, weak, nullable) id fullScreenContentDelegate; + +/// Called when the ad is estimated to have earned money. Available for allowlisted accounts only. +@property(nonatomic, nullable, copy) GADPaidEventHandler paidEventHandler; + +/// Loads a rewarded interstitial ad. +/// +/// @param adUnitID An ad unit ID created in the AdMob or Ad Manager UI. +/// @param request An ad request object. If nil, a default ad request object is used. +/// @param completionHandler A handler to execute when the load operation finishes or times out. ++ (void)loadWithAdUnitID:(nonnull NSString *)adUnitID + request:(nullable GADRequest *)request + completionHandler:(nonnull GADRewardedInterstitialAdLoadCompletionHandler)completionHandler; + +/// Returns whether the rewarded interstitial ad can be presented from the provided root view +/// controller. Sets the error out parameter if the ad can't be presented. Must be called on the +/// main thread. +- (BOOL)canPresentFromRootViewController:(nonnull UIViewController *)rootViewController + error:(NSError *_Nullable __autoreleasing *_Nullable)error; + +/// Presents the rewarded interstitial ad. Must be called on the main thread. +/// +/// @param viewController A view controller to present the ad. +/// @param userDidEarnRewardHandler A handler to execute when the user earns a reward. adReward +/// contains the reward information. +- (void)presentFromRootViewController:(nonnull UIViewController *)viewController + userDidEarnRewardHandler:(nonnull GADUserDidEarnRewardHandler)userDidEarnRewardHandler; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADSearchBannerView.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADSearchBannerView.h new file mode 100755 index 0000000..ec1747d --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADSearchBannerView.h @@ -0,0 +1,24 @@ +// +// GADSearchBannerView.h +// Google Mobile Ads SDK +// +// Copyright 2011 Google LLC. All rights reserved. +// + +#import +#import + +/// A view that displays search ads. +/// To show search ads: +/// 1) Create a GADSearchBannerView and add it to your view controller's view hierarchy. +/// 2) Create a GADDynamicHeightSearchRequest object to hold the search query and other search +/// data. +/// 3) Call GADSearchBannerView's -loadRequest: method with the +/// GADDynamicHeightSearchRequest object. +@interface GADSearchBannerView : GADBannerView + +/// If the banner view is initialized with GADAdSizeFluid and the corresponding request is created +/// with dynamic height parameters, this delegate will be called when the ad size changes. +@property(nonatomic, weak, nullable) IBOutlet id adSizeDelegate; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADServerSideVerificationOptions.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADServerSideVerificationOptions.h new file mode 100755 index 0000000..5223855 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADServerSideVerificationOptions.h @@ -0,0 +1,21 @@ +// +// GADServerSideVerificationOptions.h +// Google Mobile Ads SDK +// +// Copyright 2018 Google LLC. All rights reserved. +// + +#import + +/// Options for server-side verification callbacks for a rewarded ad. +@interface GADServerSideVerificationOptions : NSObject + +/// A unique identifier used to identify the user when making server-side verification reward +/// callbacks. This value will be passed as a parameter of the callback URL to the publisher's +/// server. +@property(nonatomic, copy, nullable) NSString *userIdentifier; + +/// Optional custom reward string to include in the server-side verification callback. +@property(nonatomic, copy, nullable) NSString *customRewardString; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADVideoController.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADVideoController.h new file mode 100755 index 0000000..4accc97 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADVideoController.h @@ -0,0 +1,48 @@ +// +// GADVideoController.h +// Google Mobile Ads SDK +// +// Copyright 2016 Google LLC. All rights reserved. +// + +#import +#import +#import + +@protocol GADVideoControllerDelegate; + +/// The video controller class provides a way to get the video metadata and also manages video +/// content of the ad rendered by the Google Mobile Ads SDK. You don't need to create an instance of +/// this class. When the ad rendered by the Google Mobile Ads SDK loads video content, you may be +/// able to get an instance of this class from the rendered ad object. +@interface GADVideoController : NSObject + +/// Delegate for receiving video notifications. +@property(nonatomic, weak, nullable) id delegate; + +/// Indicates whether the video is muted. +@property(nonatomic, readonly) BOOL isMuted; + +/// Mute or unmute video. Set to YES to mute the video. Set to NO to allow the video to play sound. +/// Doesn't do anything if -customControlsEnabled returns NO. +- (void)setMute:(BOOL)mute; + +/// Play the video. Doesn't do anything if the video is already playing or if +/// -customControlsEnabled returns NO. +- (void)play; + +/// Pause the video. Doesn't do anything if the video is already paused or if +/// -customControlsEnabled- returns NO. +- (void)pause; + +/// Stops the video and displays the video's first frame. Call -play to resume playback at the start +/// of the video. Doesn't do anything if -customControlsEnabled returns NO. +- (void)stop; + +/// Indicates whether video custom controls (for example, play/pause/mute/unmute) are enabled. +- (BOOL)customControlsEnabled; + +/// Indicates whether video click to expand behavior is enabled. +- (BOOL)clickToExpandEnabled; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADVideoControllerDelegate.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADVideoControllerDelegate.h new file mode 100755 index 0000000..37e0ad2 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADVideoControllerDelegate.h @@ -0,0 +1,32 @@ +// +// GADVideoControllerDelegate.h +// Google Mobile Ads SDK +// +// Copyright 2016 Google LLC. All rights reserved. +// + +#import + +/// The GADVideoControllerDelegate protocol defines methods that are called by the video controller +/// object in response to the video events that occurred throughout the lifetime of the video +/// rendered by an ad. +@protocol GADVideoControllerDelegate + +@optional + +/// Tells the delegate that the video controller has began or resumed playing a video. +- (void)videoControllerDidPlayVideo:(nonnull GADVideoController *)videoController; + +/// Tells the delegate that the video controller has paused video. +- (void)videoControllerDidPauseVideo:(nonnull GADVideoController *)videoController; + +/// Tells the delegate that the video controller's video playback has ended. +- (void)videoControllerDidEndVideoPlayback:(nonnull GADVideoController *)videoController; + +/// Tells the delegate that the video controller has muted video. +- (void)videoControllerDidMuteVideo:(nonnull GADVideoController *)videoController; + +/// Tells the delegate that the video controller has unmuted video. +- (void)videoControllerDidUnmuteVideo:(nonnull GADVideoController *)videoController; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADVideoOptions.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADVideoOptions.h new file mode 100755 index 0000000..46d8347 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GADVideoOptions.h @@ -0,0 +1,23 @@ +// +// GADVideoOptions.h +// Google Mobile Ads SDK +// +// Copyright 2016 Google LLC. All rights reserved. +// + +#import + +/// Video ad options. +@interface GADVideoOptions : GADAdLoaderOptions + +/// Indicates whether videos should start muted. By default this property value is YES. +@property(nonatomic, assign) BOOL startMuted; + +/// Indicates whether the requested video should have custom controls enabled for +/// play/pause/mute/unmute. +@property(nonatomic, assign) BOOL customControlsRequested; + +/// Indicates whether the requested video should have the click to expand behavior. +@property(nonatomic, assign) BOOL clickToExpandRequested; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GAMBannerView.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GAMBannerView.h new file mode 100755 index 0000000..0413733 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GAMBannerView.h @@ -0,0 +1,84 @@ +// +// GAMBannerView.h +// Google Mobile Ads SDK +// +// Copyright 2012 Google LLC. All rights reserved. +// + +#import +#import +#import +#import +#import + +@class GAMBannerView; + +/// The delegate of a GADAdLoader object must conform to this protocol to receive GAMBannerViews. +@protocol GAMBannerAdLoaderDelegate + +/// Asks the delegate which banner ad sizes should be requested. +- (nonnull NSArray *)validBannerSizesForAdLoader:(nonnull GADAdLoader *)adLoader; + +/// Tells the delegate that a Google Ad Manager banner ad was received. +- (void)adLoader:(nonnull GADAdLoader *)adLoader + didReceiveGAMBannerView:(nonnull GAMBannerView *)bannerView; + +@end + +/// The view that displays Ad Manager banner ads. +/// +/// To request this ad type using GADAdLoader, you need to pass GADAdLoaderAdTypeGAMBanner (see +/// GADAdLoaderAdTypes.h) to the |adTypes| parameter in GADAdLoader's initializer method. If you +/// request this ad type, your delegate must conform to the GAMBannerAdLoaderDelegate protocol. +@interface GAMBannerView : GADBannerView + +/// Required value created on the Ad Manager website. Create a new ad unit for every unique +/// placement of an ad in your application. Set this to the ID assigned for this placement. Ad units +/// are important for targeting and statistics. +/// +/// Example Ad Manager ad unit ID: @"/6499/example/banner" +@property(nonatomic, copy, nullable) NSString *adUnitID; + +/// Optional delegate that is notified when creatives send app events. +@property(nonatomic, weak, nullable) IBOutlet id appEventDelegate; + +/// Optional delegate that is notified when creatives cause the banner to change size. +@property(nonatomic, weak, nullable) IBOutlet id adSizeDelegate; + +/// Optional array of NSValue encoded GADAdSize structs, specifying all valid sizes that are +/// appropriate for this slot. Never create your own GADAdSize directly. Use one of the predefined +/// standard ad sizes (such as GADAdSizeBanner), or create one using the GADAdSizeFromCGSize +/// method. +/// +/// Example: +/// +/// \code +/// NSArray *validSizes = @[ +/// NSValueFromGADAdSize(GADAdSizeBanner), +/// NSValueFromGADAdSize(GADAdSizeLargeBanner) +/// ]; +/// +/// bannerView.validAdSizes = validSizes; +/// \endcode +@property(nonatomic, copy, nullable) NSArray *validAdSizes; + +/// Indicates that the publisher will record impressions manually when the ad becomes visible to the +/// user. +@property(nonatomic) BOOL enableManualImpressions; + +/// Video controller for controlling video rendered by this ad view. +@property(nonatomic, readonly, nonnull) GADVideoController *videoController; + +/// If you've set enableManualImpressions to YES, call this method when the ad is visible. +- (void)recordImpression; + +/// Use this function to resize the banner view without launching a new ad request. +- (void)resize:(GADAdSize)size; + +/// Sets options that configure ad loading. +/// +/// @param adOptions An array of GADAdLoaderOptions objects. The array is deep copied and option +/// objects cannot be modified after calling this method. +- (void)setAdOptions:(nonnull NSArray *)adOptions; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GAMBannerViewOptions.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GAMBannerViewOptions.h new file mode 100755 index 0000000..f2ef92b --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GAMBannerViewOptions.h @@ -0,0 +1,16 @@ +// +// GAMBannerViewOptions.h +// Google Mobile Ads SDK +// +// Copyright 2016 Google LLC. All rights reserved. +// + +#import + +/// Ad loader options for banner ads. +@interface GAMBannerViewOptions : GADAdLoaderOptions + +/// Whether the publisher will record impressions manually when the ad becomes visible to the user. +@property(nonatomic, assign) BOOL enableManualImpressions; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GAMInterstitialAd.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GAMInterstitialAd.h new file mode 100755 index 0000000..139ccc6 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GAMInterstitialAd.h @@ -0,0 +1,37 @@ +// +// GAMInterstitialAd.h +// Google Mobile Ads SDK +// +// Copyright 2020 Google LLC. All rights reserved. +// + +#import +#import +#import + +@class GAMInterstitialAd; +typedef void (^GAMInterstitialAdLoadCompletionHandler)(GAMInterstitialAd *_Nullable interstitialAd, + NSError *_Nullable error); + +/// Google Ad Manager interstitial ad, a full-screen advertisement shown at natural +/// transition points in your application such as between game levels or news stories. +@interface GAMInterstitialAd : GADInterstitialAd + +/// Optional delegate that is notified when creatives send app events. +@property(nonatomic, weak, nullable) id appEventDelegate; + +/// Loads an interstitial ad. +/// +/// @param adUnitID An ad unit ID created in the Ad Manager UI. +/// @param request An ad request object. If nil, a default ad request object is used. +/// @param completionHandler A handler to execute when the load operation finishes or times out. ++ (void)loadWithAdManagerAdUnitID:(nonnull NSString *)adUnitID + request:(nullable GAMRequest *)request + completionHandler:(nonnull GAMInterstitialAdLoadCompletionHandler)completionHandler; + ++ (void)loadWithAdUnitID:(nonnull NSString *)adUnitID + request:(nullable GADRequest *)request + completionHandler:(nonnull GADInterstitialAdLoadCompletionHandler)completionHandler + NS_UNAVAILABLE; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GAMRequest.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GAMRequest.h new file mode 100755 index 0000000..7971381 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GAMRequest.h @@ -0,0 +1,23 @@ +// +// GAMRequest.h +// Google Mobile Ads SDK +// +// Copyright 2014 Google LLC. All rights reserved. +// + +#import +#import + +/// Specifies optional parameters for ad requests. +@interface GAMRequest : GADRequest + +/// Publisher provided user ID. +@property(nonatomic, copy, nullable) NSString *publisherProvidedID; + +/// Array of strings used to exclude specified categories in ad results. +@property(nonatomic, copy, nullable) NSArray *categoryExclusions; + +/// Key-value pairs used for custom targeting. +@property(nonatomic, copy, nullable) NSDictionary *customTargeting; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GoogleMobileAds.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GoogleMobileAds.h new file mode 100755 index 0000000..cb4fa9b --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GoogleMobileAds.h @@ -0,0 +1,106 @@ +// +// GoogleMobileAds.h +// Google Mobile Ads SDK +// +// Copyright 2014 Google LLC. All rights reserved. + +#import +#import + +/// Project version string for GoogleMobileAds. +FOUNDATION_EXPORT const unsigned char GoogleMobileAdsVersionString[]; + +// Header files. +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GoogleMobileAdsDefines.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GoogleMobileAdsDefines.h new file mode 100755 index 0000000..c666344 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/GoogleMobileAdsDefines.h @@ -0,0 +1,11 @@ +// +// GoogleMobileAdsDefines.h +// Google Mobile Ads SDK +// +// Copyright 2021 Google LLC. All rights reserved. +// + +#import + +#define GAD_DEPRECATED_MSG_ATTRIBUTE(s) __attribute__((deprecated(s))) +#define GAD_BOXABLE __attribute__((objc_boxable)) diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMAdNetworkAdapterProtocol.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMAdNetworkAdapterProtocol.h new file mode 100755 index 0000000..014e537 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMAdNetworkAdapterProtocol.h @@ -0,0 +1,92 @@ +// +// GADMAdNetworkAdapterProtocol.h +// Google Mobile Ads SDK +// +// Copyright 2011 Google. All rights reserved. +// + +#import +#import +#import +#import + +/// Subclasses should prefix their name with "GADMAdapter" example: GADMAdapterGoogleAdMobAds +#define GADMAdapterClassNamePrefix @"GADMAdapter" + +/// Ad network adapter protocol. +@protocol GADMAdNetworkAdapter + +/// Returns a version string for the adapter. It can be any string that uniquely identifies the +/// adapter's version. For example, "1.0", or a date such as "20110915". ++ (NSString *)adapterVersion; + +/// Returns the extras class that is used by publishers to provide additional parameters to this +/// adapter. Returns Nil if the adapter doesn't have extra publisher provided settings. ++ (Class)networkExtrasClass; + +/// Designated initializer. Adapters can and should store a weak reference to the connector. +/// However, adapters must not keep a strong reference to the connector, as doing so creates a +/// reference cycle and abandoned memory. +- (instancetype)initWithGADMAdNetworkConnector:(id)connector; + +/// Asks the adapter to initiate an asynchronous banner ad request. The adapter may act as a +/// delegate to your SDK to listen to callbacks. If your SDK doesn't support the given ad size, or +/// doesn't support banner ads, call adapter:didFailAd: on the connector. +- (void)getBannerWithSize:(GADAdSize)adSize; + +/// Asks the adapter to initiate an asynchronous interstitial ad request. The adapter may act as a +/// delegate to your SDK to listen to callbacks. If your SDK doesn't support interstitials, call +/// adapter:didFailInterstitial: on the connector. +- (void)getInterstitial; + +/// When called, the adapter must remove strong references to itself (e.g., delegate properties and +/// notification observers). You should also call this method in your adapter dealloc to prevent +/// your SDK from interacting with the deallocated adapter. This function may be called multiple +/// times. +- (void)stopBeingDelegate; + +/// Presents an interstitial using the supplied UIViewController, by calling +/// presentViewController:animated:completion:. +/// +/// Your interstitial should not immediately present itself when it is received. Instead, you should +/// wait until this method is called on your adapter to present the interstitial. +/// +/// The adapter must call adapterWillPresentInterstitial: on the connector when the interstitial is +/// about to be presented, and adapterWillDismissInterstitial: and adapterDidDismissInterstitial: +/// when the interstitial is being dismissed. +- (void)presentInterstitialFromRootViewController:(UIViewController *)rootViewController; + +@optional + +/// Asks the adapter to initiate an asynchronous native ad request. |adTypes| contains the list of +/// native ad types requested. See GADAdLoaderAdTypes.h for available ad types. |options| contains +/// additional options configured by the publisher. See GADNativeAdImageAdLoaderOptions.h for +/// available image options. +/// +/// On ad load success or failure, call adapter:didReceiveNativeAdDataSource:mediationDelegate or +/// adapter:didFailAd: on the connector. +- (void)getNativeAdWithAdTypes:(NSArray *)adTypes + options:(NSArray *)options; + +/// Indicates if the adapter handles user clicks. If the adapter returns YES, it must handle user +/// clicks and notify the Google Mobile Ads SDK of clicks using +/// +[GADMediatedNativeAdNotificationSource mediatedNativeAdDidRecordClick:]. If the adapter returns +/// NO, the Google Mobile Ads SDK handles user clicks and notifies the adapter of clicks using +/// -[GADMediatedUnifiedNativeAd didRecordClickOnAssetWithName:view:viewController:]. +- (BOOL)handlesUserClicks; + +/// Indicates if the adapter handles user impressions tracking. If the adapter returns YES, the +/// Google Mobile Ads SDK will not track user impressions and the adapter must notify the +/// Google Mobile Ads SDK of impressions using +[GADMediatedNativeAdNotificationSource +/// mediatedNativeAdDidRecordImpression:]. If the adapter returns NO, the Google Mobile Ads SDK +/// tracks user impressions and notifies the adapter of impressions using +/// -[GADMediatedUnifiedNativeAd didRecordImpression]. +- (BOOL)handlesUserImpressions; + +/// If your ad network handles multiple ad sizes for the same banner ad, implement this method to be +/// informed of banner size updates. Ad sizes typically change between kGADAdSizeSmartBannerPortrait +/// and kGADAdSizeSmartBannerLandscape. If this method is not implemented, the ad is removed from +/// the user interface when the size changes. +- (void)changeAdSizeTo:(GADAdSize)adSize; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMAdNetworkConnectorProtocol.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMAdNetworkConnectorProtocol.h new file mode 100755 index 0000000..956a5b2 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMAdNetworkConnectorProtocol.h @@ -0,0 +1,94 @@ +// +// GADMAdNetworkConnectorProtocol.h +// Google Mobile Ads SDK +// +// Copyright 2011 Google. All rights reserved. +// + +#import +#import + +@protocol GADMAdNetworkAdapter; + +/// Ad network adapters interact with the mediation SDK using an object that implements the +/// GADMAdNetworkConnector protocol. The connector object can be used to obtain necessary +/// information for ad requests, and to call back to the mediation SDK on ad request returns and +/// user interactions. +@protocol GADMAdNetworkConnector + +/// When you need to show a landing page or any other modal view, such as when a user clicks or when +/// your Ads SDK needs to show an interstitial, use this method to obtain a UIViewController that +/// you can use to show your modal view. Call the -presentViewController:animated:completion: method +/// of the returned UIViewController. +- (UIViewController *)viewControllerForPresentingModalView; + +/// Returns the preferred ad volume as a fraction of system volume (0.0 to 1.0). +- (float)adVolume; + +/// Returns whether the ad should be muted. +- (BOOL)adMuted; + +#pragma mark - Adapter Callbacks + +/// Tells the connector that the adapter failed to receive an ad. +- (void)adapter:(id)adapter didFailAd:(NSError *)error; + +/// Tells the connector that the adapter received a banner ad. +- (void)adapter:(id)adapter didReceiveAdView:(UIView *)view; + +/// Tells the connector that the adapter received an interstitial. +- (void)adapterDidReceiveInterstitial:(id)adapter; + +/// Tells the connector that the adapter has received a unified mediated native ad. +/// mediatedUnifiedNativeAd is used by the Google Mobile Ads SDK to construct a unified native ad +/// object. +- (void)adapter:(id)adapter + didReceiveMediatedUnifiedNativeAd:(id)mediatedUnifiedNativeAd; + +#pragma mark Ad events + +// Adapter should call as many of these as possible, during the lifecycle of the loaded banner or +// interstitial ad. + +/// Tells the connector that the adapter recorded a user click. +- (void)adapterDidGetAdClick:(id)adapter; + +// Adapter should call as many of these as possible, during the lifecycle of the loaded banner ad. + +/// Tells the connector that the adapter will present a full screen modal. +- (void)adapterWillPresentFullScreenModal:(id)adapter; +/// Tells the connector that the adapter will dismiss a full screen modal. +- (void)adapterWillDismissFullScreenModal:(id)adapter; +/// Tells the connector that the adapter dismissed a full screen modal. +- (void)adapterDidDismissFullScreenModal:(id)adapter; + +// Adapter should call these methods during the lifecycle of the loaded interstitial ad. + +/// Tells the connector that the adapter will present an interstitial. +- (void)adapterWillPresentInterstitial:(id)adapter; +/// Tells the connector that the adapter will dismiss an interstitial. +- (void)adapterWillDismissInterstitial:(id)adapter; +/// Tells the connector that the adapter did dismiss an interstitial. +- (void)adapterDidDismissInterstitial:(id)adapter; + +#pragma mark Deprecated + +/// Deprecated. Use -adapterDidReceiveInterstitial:. +- (void)adapter:(id)adapter + didReceiveInterstitial:(NSObject *)interstitial + GAD_DEPRECATED_MSG_ATTRIBUTE("Use -adapterDidReceiveInterstitial:."); + +/// Deprecated. Use -adapterDidGetAdClick:. +- (void)adapter:(id)adapter + clickDidOccurInBanner:(UIView *)view + GAD_DEPRECATED_MSG_ATTRIBUTE("Use -adapterDidGetAdClick:."); + +/// Deprecated. Use -adapter:didFailAd:. +- (void)adapter:(id)adapter + didFailInterstitial:(NSError *)error GAD_DEPRECATED_MSG_ATTRIBUTE("Use -adapter:didFailAd:"); + +/// Deprecated. No replacement. +- (void)adapterWillLeaveApplication:(id)adapter + GAD_DEPRECATED_MSG_ATTRIBUTE("Deprecated. No replacement."); + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMEnums.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMEnums.h new file mode 100755 index 0000000..6899c02 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMEnums.h @@ -0,0 +1,21 @@ +// +// GADMEnums.h +// Google Mobile Ads SDK +// +// Copyright 2011 Google. All rights reserved. +// + +#import + +/// These are the types of animation we employ for transitions between two mediated ads. +typedef NS_ENUM(NSInteger, GADMBannerAnimationType) { + GADMBannerAnimationTypeNone = 0, ///< No animation. + GADMBannerAnimationTypeFlipFromLeft = 1, ///< Flip from left. + GADMBannerAnimationTypeFlipFromRight = 2, ///< Flip from right. + GADMBannerAnimationTypeCurlUp = 3, ///< Curl up. + GADMBannerAnimationTypeCurlDown = 4, ///< Curl down. + GADMBannerAnimationTypeSlideFromLeft = 5, ///< Slide from left. + GADMBannerAnimationTypeSlideFromRight = 6, ///< Slide from right. + GADMBannerAnimationTypeFadeIn = 7, ///< Fade in. + GADMBannerAnimationTypeRandom = 8, ///< Random animation. +}; diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediatedUnifiedNativeAd.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediatedUnifiedNativeAd.h new file mode 100755 index 0000000..3918481 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediatedUnifiedNativeAd.h @@ -0,0 +1,94 @@ +// +// GADMediatedUnifiedNativeAd.h +// Google Mobile Ads SDK +// +// Copyright 2017 Google LLC. All rights reserved. +// + +#import +#import +#import + +/// Provides methods used for constructing native ads. The adapter must return an object conforming +/// to this protocol for native ad requests. +@protocol GADMediatedUnifiedNativeAd + +/// Headline. +@property(nonatomic, readonly, copy, nullable) NSString *headline; + +/// Array of GADNativeAdImage objects. +@property(nonatomic, readonly, nullable) NSArray *images; + +/// Description. +@property(nonatomic, readonly, copy, nullable) NSString *body; + +/// Icon image. +@property(nonatomic, readonly, nullable) GADNativeAdImage *icon; + +/// Text that encourages user to take some action with the ad. For example "Install". +@property(nonatomic, readonly, copy, nullable) NSString *callToAction; + +/// App store rating (0 to 5). +@property(nonatomic, readonly, copy, nullable) NSDecimalNumber *starRating; + +/// The app store name. For example, "App Store". +@property(nonatomic, readonly, copy, nullable) NSString *store; + +/// String representation of the app's price. +@property(nonatomic, readonly, copy, nullable) NSString *price; + +/// Identifies the advertiser. For example, the advertiser’s name or visible URL. +@property(nonatomic, readonly, copy, nullable) NSString *advertiser; + +/// Returns a dictionary of asset names and object pairs for assets that are not handled by +/// properties of the GADMediatedUnifiedNativeAd. +@property(nonatomic, readonly, copy, nullable) NSDictionary *extraAssets; + +@optional + +/// AdChoices view. +@property(nonatomic, readonly, nullable) UIView *adChoicesView; + +/// Media view. +@property(nonatomic, readonly, nullable) UIView *mediaView; + +/// Indicates whether the ad has video content. +@property(nonatomic, readonly) BOOL hasVideoContent; + +/// Media content aspect ratio (width/height) or 0 if there's no media content. +@property(nonatomic, readonly) CGFloat mediaContentAspectRatio; + +/// The video's duration in seconds or 0 if there's no video or the duration is unknown. +@property(nonatomic, readonly) NSTimeInterval duration; + +/// The video's current playback time in seconds or 0 if there's no video or the current playback +/// time is unknown. +@property(nonatomic, readonly) NSTimeInterval currentTime; + +/// Tells the receiver that it has been rendered in |view| with clickable asset views and +/// nonclickable asset views. viewController should be used to present modal views for the ad. +- (void)didRenderInView:(nonnull UIView *)view + clickableAssetViews: + (nonnull NSDictionary *)clickableAssetViews + nonclickableAssetViews: + (nonnull NSDictionary *)nonclickableAssetViews + viewController:(nonnull UIViewController *)viewController; + +/// Tells the receiver that an impression is recorded. This method is called only once per mediated +/// native ad. +- (void)didRecordImpression; + +/// Tells the receiver that a user click is recorded on the asset named |assetName|. Full screen +/// actions should be presented from viewController. This method is called only if +/// -[GADMAdNetworkAdapter handlesUserClicks] returns NO. +- (void)didRecordClickOnAssetWithName:(nonnull GADNativeAssetIdentifier)assetName + view:(nonnull UIView *)view + viewController:(nonnull UIViewController *)viewController; + +/// Tells the receiver that it has untracked |view|. This method is called when the mediated native +/// ad is no longer rendered in the provided view and the delegate should stop tracking the view's +/// impressions and clicks. The method may also be called with a nil view when the view in which the +/// mediated native ad has rendered is deallocated. +- (void)didUntrackView:(nullable UIView *)view; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediatedUnifiedNativeAdNotificationSource.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediatedUnifiedNativeAdNotificationSource.h new file mode 100755 index 0000000..9469b71 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediatedUnifiedNativeAdNotificationSource.h @@ -0,0 +1,56 @@ +// +// GADMediatedUnifiedNativeAdNotificationSource.h +// Google Mobile Ads SDK +// +// Copyright 2017 Google LLC. All rights reserved. +// + +#import +#import + +/// Notifies the Google Mobile Ads SDK about the events performed by adapters. Adapters may perform +/// some action (e.g. opening an in app browser or opening the iTunes store) when handling methods +/// in GADMediatedUnifiedNativeAd. Adapters in such case should notify the Google Mobile Ads SDK by +/// calling the relevant methods from this class. +@interface GADMediatedUnifiedNativeAdNotificationSource : NSObject + +/// Called by the adapter when it has registered an impression on the tracked view. Adapter should +/// only call this method if -[GADMAdNetworkAdapter handlesUserImpressions] returns YES. ++ (void)mediatedNativeAdDidRecordImpression: + (nonnull id)mediatedNativeAd; + +/// Called by the adapter when it has registered a user click on the tracked view. Adapter should +/// only call this method if -[GADMAdNetworkAdapter handlesUserClicks] returns YES. ++ (void)mediatedNativeAdDidRecordClick:(nonnull id)mediatedNativeAd; + +/// Must be called by the adapter just before mediatedNativeAd has opened an in-app modal screen. ++ (void)mediatedNativeAdWillPresentScreen:(nonnull id)mediatedNativeAd; + +/// Must be called by the adapter just before the in-app modal screen opened by mediatedNativeAd is +/// dismissed. ++ (void)mediatedNativeAdWillDismissScreen:(nonnull id)mediatedNativeAd; + +/// Must be called by the adapter after the in-app modal screen opened by mediatedNativeAd is +/// dismissed. ++ (void)mediatedNativeAdDidDismissScreen:(nonnull id)mediatedNativeAd; + +#pragma mark - Mediated Native Video Ad Notifications + +/// Called by the adapter when native video playback has begun or resumed. ++ (void)mediatedNativeAdDidPlayVideo:(nonnull id)mediatedNativeAd; + +/// Called by the adapter when native video playback has paused. ++ (void)mediatedNativeAdDidPauseVideo:(nonnull id)mediatedNativeAd; + +/// Called by the adapter when native video playback has ended. ++ (void)mediatedNativeAdDidEndVideoPlayback: + (nonnull id)mediatedNativeAd; + +#pragma mark - Deprecated + +/// Deprecated. No replacement. ++ (void)mediatedNativeAdWillLeaveApplication: + (nonnull id)mediatedNativeAd + GAD_DEPRECATED_MSG_ATTRIBUTE("Deprecated. No replacement."); + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediationAd.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediationAd.h new file mode 100755 index 0000000..4cb6d7e --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediationAd.h @@ -0,0 +1,13 @@ +// +// GADMediationAd.h +// Google Mobile Ads SDK +// +// Copyright 2018 Google LLC. All rights reserved. +// + +#import + +/// Rendered ad. Objects conforming to this protocol are created by the adapter and returned to +/// the Google Mobile Ads SDK through the adapter's render method completion handler. +@protocol GADMediationAd +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediationAdConfiguration.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediationAdConfiguration.h new file mode 100755 index 0000000..75f5251 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediationAdConfiguration.h @@ -0,0 +1,61 @@ +// +// GADMediationAdConfiguration.h +// Google Mobile Ads SDK +// +// Copyright 2018 Google LLC. All rights reserved. +// + +#import +#import +#import +#import + +/// Provided by the Google Mobile Ads SDK for the adapter to render the ad. Contains 3PAS and other +/// ad configuration information. +@interface GADMediationAdConfiguration : NSObject + +/// The ad string returned from the 3PAS. +@property(nonatomic, readonly, nullable) NSString *bidResponse; + +/// View controller to present from. This value must be read at presentation time to obtain the most +/// recent value. Must be accessed on the main queue. +@property(nonatomic, readonly, nullable) UIViewController *topViewController; + +/// Mediation configuration set by the publisher on the AdMob frontend. +@property(nonatomic, readonly, nonnull) GADMediationCredentials *credentials; + +/// PNG data containing a watermark that identifies the ad's source. +@property(nonatomic, readonly, nullable) NSData *watermark; + +/// Extras the publisher registered with -[GADRequest registerAdNetworkExtras:]. +@property(nonatomic, readonly, nullable) id extras; + +/// Indicates whether the publisher is requesting test ads. +@property(nonatomic, readonly) BOOL isTestRequest; + +#pragma mark - Deprecated + +/// Deprecated and unsupported. Always returns NO. +@property(nonatomic, readonly) BOOL hasUserLocation GAD_DEPRECATED_MSG_ATTRIBUTE( + "Deprecated and unsupported. Always returns NO."); + +/// Deprecated and unsupported. Always returns 0. +@property(nonatomic, readonly) CGFloat userLatitude GAD_DEPRECATED_MSG_ATTRIBUTE( + "Deprecated and unsupported. Always returns 0."); + +/// Deprecated and unsupported. Always returns 0. +@property(nonatomic, readonly) CGFloat userLongitude GAD_DEPRECATED_MSG_ATTRIBUTE( + "Deprecated and unsupported. Always returns 0."); + +/// Deprecated and unsupported. Always returns 0. +@property(nonatomic, readonly) CGFloat userLocationAccuracyInMeters GAD_DEPRECATED_MSG_ATTRIBUTE( + "Deprecated and unsupported. Always returns 0."); + +/// The value of childDirectedTreatment supplied by the publisher. Is nil if the publisher hasn't +/// specified child directed treatment. Is @YES if child directed treatment is enabled. +@property(nonatomic, readonly, nullable) + NSNumber *childDirectedTreatment GAD_DEPRECATED_MSG_ATTRIBUTE( + "Deprecated. Use " + "GADMobileAds.sharedInstance.requestConfiguration.tagForChildDirectedTreatment instead."); + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediationAdEventDelegate.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediationAdEventDelegate.h new file mode 100755 index 0000000..a318e37 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediationAdEventDelegate.h @@ -0,0 +1,100 @@ +// +// GADMediationAdEventDelegate.h +// Google Mobile Ads SDK +// +// Copyright 2018 Google LLC. All rights reserved. +// + +#import +#import + +#import + +/// Reports information to the Google Mobile Ads SDK from the adapter. Adapters receive an ad event +/// delegate when they provide a GADMediationAd by calling a render completion handler. +@protocol GADMediationAdEventDelegate + +/// Notifies Google Mobile Ads SDK that an impression occurred on the GADMediationAd. +- (void)reportImpression; + +/// Notifies Google Mobile Ads SDK that a click occurred on the GADMediationAd. +- (void)reportClick; + +/// Notifies Google Mobile Ads SDK that the GADMediationAd will present a full screen modal view. +/// Maps to adWillPresentFullScreenContent: for full screen ads. +- (void)willPresentFullScreenView; + +/// Notifies Google Mobile Ads SDK that the GADMediationAd failed to present with an error. +- (void)didFailToPresentWithError:(nonnull NSError *)error; + +/// Notifies Google Mobile Ads SDK that the GADMediationAd will dismiss a full screen modal view. +- (void)willDismissFullScreenView; + +/// Notifies Google Mobile Ads SDK that the GADMediationAd finished dismissing a full screen modal +/// view. +- (void)didDismissFullScreenView; + +@end + +/// Reports banner related information to the Google Mobile Ads SDK from the adapter. +@protocol GADMediationBannerAdEventDelegate + +/// Deprecated. No replacement. +- (void)willBackgroundApplication GAD_DEPRECATED_MSG_ATTRIBUTE("Deprecated. No replacement."); + +@end + +/// Reports interstitial related information to the Google Mobile Ads SDK from the adapter. +@protocol GADMediationInterstitialAdEventDelegate + +/// Deprecated. No replacement. +- (void)willBackgroundApplication GAD_DEPRECATED_MSG_ATTRIBUTE("Deprecated. No replacement."); + +@end + +/// Reports native related information to the Google Mobile Ads SDK from the adapter. +@protocol GADMediationNativeAdEventDelegate + +/// Notifies Google Mobile Ads SDK that the GADMediationAd started video playback. +- (void)didPlayVideo; + +/// Notifies Google Mobile Ads SDK that the GADMediationAd paused video playback. +- (void)didPauseVideo; + +/// Notifies Google Mobile Ads SDK that the GADMediationAd's video playback finished. +- (void)didEndVideo; + +/// Notifies Google Mobile Ads SDK that the GADMediationAd muted video playback. +- (void)didMuteVideo; + +/// Notifies Google Mobile Ads SDK that the GADMediationAd unmuted video playback. +- (void)didUnmuteVideo; + +/// Deprecated. No replacement. +- (void)willBackgroundApplication GAD_DEPRECATED_MSG_ATTRIBUTE("Deprecated. No replacement."); + +@end + +/// Reports rewarded related information to the Google Mobile Ads SDK from the adapter. +@protocol GADMediationRewardedAdEventDelegate + +/// Notifies the Google Mobile Ads SDK that the GADMediationAd has rewarded the user. +- (void)didRewardUser; + +/// Notifies Google Mobile Ads SDK that the GADMediationAd started video playback. +- (void)didStartVideo; + +/// Notifies Google Mobile Ads SDK that the GADMediationAd's video playback finished. +- (void)didEndVideo; + +#pragma mark - Deprecated +/// Deprecated. Use -didRewardUser. +- (void)didRewardUserWithReward:(nonnull GADAdReward *)reward + GAD_DEPRECATED_MSG_ATTRIBUTE("Deprecated. Use -didRewardUser."); + +@end + +/// Reports app open related information to the Google Mobile Ads SDK from the adapter. +@protocol GADMediationAppOpenAdEventDelegate + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediationAdRequest.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediationAdRequest.h new file mode 100755 index 0000000..8f29d3d --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediationAdRequest.h @@ -0,0 +1,47 @@ +// +// GADMediationAdRequest.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google. All rights reserved. +// + +#import + +#import +#import +#import +#import + +/// Provides information which can be used for making ad requests during mediation. +@protocol GADMediationAdRequest + +/// Publisher ID set by the publisher on the AdMob frontend. +- (nullable NSString *)publisherId; + +/// Mediation configurations set by the publisher on the AdMob frontend. +- (nullable NSDictionary *)credentials; + +/// Returns YES if the publisher is requesting test ads. +- (BOOL)testMode; + +/// The adapter's ad network extras specified in GADRequest. +- (nullable id)networkExtras; + +/// Returns the value of childDirectedTreatment supplied by the publisher. Returns nil if the +/// publisher hasn't specified child directed treatment. Returns @YES if child directed treatment is +/// enabled. +- (nullable NSNumber *)childDirectedTreatment; + +/// Returns the maximum ad content rating supplied by the publisher. Returns nil if the publisher +/// hasn't specified a max ad content rating. +- (nullable GADMaxAdContentRating)maxAdContentRating; + +/// Returns the value of underAgeOfConsent supplied by the publisher. Returns nil if the publisher +/// hasn't specified the user is under the age of consent. Returns @YES if the user is under the age +/// of consent. +- (nullable NSNumber *)underAgeOfConsent; + +/// Keywords describing the user's current activity. Example: @"Sport Scores". +- (nullable NSArray *)userKeywords; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediationAdSize.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediationAdSize.h new file mode 100755 index 0000000..2c77048 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediationAdSize.h @@ -0,0 +1,15 @@ +// +// GADMediationAdSize.h +// Google Mobile Ads SDK +// +// Copyright 2019 Google. All rights reserved. +// + +#import + +/// Returns the closest valid ad size from possibleAdSizes as compared to |original|. The selected +/// size must be smaller than or equal in size to the original. The selected size must also be +/// within a configurable fraction of the width and height of the original. If no valid size exists, +/// returns GADAdSizeInvalid. +FOUNDATION_EXPORT GADAdSize +GADClosestValidSizeForAdSizes(GADAdSize original, NSArray *_Nonnull possibleAdSizes); diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediationAdapter.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediationAdapter.h new file mode 100755 index 0000000..42dcd89 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediationAdapter.h @@ -0,0 +1,148 @@ +// +// GADMediationAdapter.h +// Google Mobile Ads SDK +// +// Copyright 2018 Google LLC. All rights reserved. +// + +#import +#import +#import +#import +#import +#import +#import +#import +#import + +/// Called by the adapter after loading the banner ad or encountering an error. Returns an ad +/// event object to send ad events to the Google Mobile Ads SDK. The block returns nil if a delegate +/// couldn't be created or if the block has already been called. +typedef id _Nullable (^GADMediationBannerLoadCompletionHandler)( + _Nullable id ad, NSError *_Nullable error); + +/// Called by the adapter after loading the interscroller ad or encountering an error. Returns an ad +/// event object to send ad events to the Google Mobile Ads SDK. The block returns nil if a delegate +/// couldn't be created or if the block has already been called. +typedef id _Nullable ( + ^GADMediationInterscrollerAdLoadCompletionHandler)(_Nullable id ad, + NSError *_Nullable error); + +/// Called by the adapter after loading the interstitial ad or encountering an error. Returns an +/// ad event delegate to send ad events to the Google Mobile Ads SDK. The block returns nil if a +/// delegate couldn't be created or if the block has already been called. +typedef id _Nullable ( + ^GADMediationInterstitialLoadCompletionHandler)(_Nullable id ad, + NSError *_Nullable error); + +/// Called by the adapter after loading the native ad or encountering an error. Returns an ad +/// event delegate to send ad events to the Google Mobile Ads SDK. The block returns nil if a +/// delegate couldn't be created or if the block has already been called. +typedef id _Nullable (^GADMediationNativeLoadCompletionHandler)( + _Nullable id ad, NSError *_Nullable error); + +/// Called by the adapter after loading the rewarded ad or encountering an error. Returns an ad +/// event delegate to send ad events to the Google Mobile Ads SDK. The block returns nil if a +/// delegate couldn't be created or if the block has already been called. +typedef id _Nullable ( + ^GADMediationRewardedLoadCompletionHandler)(_Nullable id ad, + NSError *_Nullable error); + +/// Called by the adapter after loading the app open ad or encountering an error. Returns an ad +/// event delegate to send ad events to the Google Mobile Ads SDK. The block returns nil if a +/// delegate couldn't be created or if the block has already been called. +typedef id _Nullable ( + ^GADMediationAppOpenLoadCompletionHandler)(_Nullable id ad, + NSError *_Nullable error); +/// Executes when adapter set up completes. +typedef void (^GADMediationAdapterSetUpCompletionBlock)(NSError *_Nullable error); + +@protocol GADAdNetworkExtras; + +/// Receives messages and requests from the Google Mobile Ads SDK. Provides GMA to 3P SDK +/// communication. +/// +/// Adapters are initialized on a background queue and should avoid using the main queue until +/// load time. +@protocol GADMediationAdapter +/// Returns the adapter version. ++ (GADVersionNumber)adapterVersion; + +/// Returns the ad SDK version. ++ (GADVersionNumber)adSDKVersion; + +/// The extras class that is used to specify additional parameters for a request to this ad network. +/// Returns Nil if the network doesn't have publisher provided extras. ++ (nullable Class)networkExtrasClass; + +/// Returns an initialized mediation adapter. +- (nonnull instancetype)init; + +@optional + +/// Tells the adapter to set up its underlying ad network SDK and perform any necessary prefetching +/// or configuration work. The adapter must call completionHandler once the adapter can service ad +/// requests, or if it encounters an error while setting up. ++ (void)setUpWithConfiguration:(nonnull GADMediationServerConfiguration *)configuration + completionHandler:(nonnull GADMediationAdapterSetUpCompletionBlock)completionHandler; + +/// Asks the adapter to load a banner ad with the provided ad configuration. The adapter must call +/// back completionHandler with the loaded ad, or it may call back with an error. This method is +/// called on the main thread, and completionHandler must be called back on the main thread. +- (void)loadBannerForAdConfiguration:(nonnull GADMediationBannerAdConfiguration *)adConfiguration + completionHandler: + (nonnull GADMediationBannerLoadCompletionHandler)completionHandler; + +/// Asks the adapter to load an interscroller ad with the provided ad configuration. The adapter +/// must call back completionHandler with the loaded ad, or it may call back with an error. This +/// method is called on the main thread, and completionHandler must be called back on the main +/// thread. +- (void)loadInterscrollerAdForAdConfiguration: + (nonnull GADMediationBannerAdConfiguration *)adConfiguration + completionHandler: + (nonnull GADMediationInterscrollerAdLoadCompletionHandler) + completionHandler; + +/// Asks the adapter to load an interstitial ad with the provided ad configuration. The adapter +/// must call back completionHandler with the loaded ad, or it may call back with an error. This +/// method is called on the main thread, and completionHandler must be called back on the main +/// thread. +- (void)loadInterstitialForAdConfiguration: + (nonnull GADMediationInterstitialAdConfiguration *)adConfiguration + completionHandler:(nonnull GADMediationInterstitialLoadCompletionHandler) + completionHandler; + +/// Asks the adapter to load a native ad with the provided ad configuration. The adapter must call +/// back completionHandler with the loaded ad, or it may call back with an error. This method is +/// called on the main thread, and completionHandler must be called back on the main thread. +- (void)loadNativeAdForAdConfiguration:(nonnull GADMediationNativeAdConfiguration *)adConfiguration + completionHandler: + (nonnull GADMediationNativeLoadCompletionHandler)completionHandler; + +/// Asks the adapter to load a rewarded ad with the provided ad configuration. The adapter must +/// call back completionHandler with the loaded ad, or it may call back with an error. This method +/// is called on the main thread, and completionHandler must be called back on the main thread. +- (void)loadRewardedAdForAdConfiguration: + (nonnull GADMediationRewardedAdConfiguration *)adConfiguration + completionHandler: + (nonnull GADMediationRewardedLoadCompletionHandler)completionHandler; + +/// Asks the adapter to load a rewarded interstitial ad with the provided ad configuration. The +/// adapter must call back completionHandler with the loaded ad, or it may call back with an error. +/// This method is called on the main thread, and completionHandler must be called back on the main +/// thread. +- (void)loadRewardedInterstitialAdForAdConfiguration: + (nonnull GADMediationRewardedAdConfiguration *)adConfiguration + completionHandler: + (nonnull GADMediationRewardedLoadCompletionHandler) + completionHandler; + +/// Asks the adapter to load an app open ad with the provided ad configuration. The +/// adapter must call back completionHandler with the loaded ad, or it may call back with an error. +/// This method is called on the main thread, and completionHandler must be called back on the main +/// thread. +- (void)loadAppOpenAdForAdConfiguration: + (nonnull GADMediationAppOpenAdConfiguration *)adConfiguration + completionHandler: + (nonnull GADMediationAppOpenLoadCompletionHandler)completionHandler; +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediationAppOpenAd.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediationAppOpenAd.h new file mode 100755 index 0000000..d394205 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediationAppOpenAd.h @@ -0,0 +1,22 @@ +// +// GADMediationAppOpenAd.h +// Google Mobile Ads SDK +// +// Copyright 2022 Google LLC. All rights reserved. +// + +#import +#import +#import +#import + +/// Rendered app open ad. +@protocol GADMediationAppOpenAd + +/// Presents the receiver from the view controller. +- (void)presentFromViewController:(nonnull UIViewController *)viewController; +@end + +/// App open ad configuration. +@interface GADMediationAppOpenAdConfiguration : GADMediationAdConfiguration +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediationBannerAd.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediationBannerAd.h new file mode 100755 index 0000000..57b73f1 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediationBannerAd.h @@ -0,0 +1,41 @@ +// +// GADMediationBannerAd.h +// Google Mobile Ads SDK +// +// Copyright 2018 Google LLC. All rights reserved. +// + +#import +#import +#import +#import +#import + +/// Rendered banner ad. Provides a single subview to add to the banner view's view hierarchy. +@protocol GADMediationBannerAd + +/// The banner ad view. +@property(nonatomic, readonly, nonnull) UIView *view; + +@optional + +/// Tells the ad to resize the banner. Implement if banner content is resizable. +- (void)changeAdSizeTo:(GADAdSize)adSize; +@end + +/// Rendered interscroller ad. +@protocol GADMediationInterscrollerAd + +/// Indicates whether the interscroller rendering effect should be delegated to the Google Mobile +/// Ads SDK. +@property(nonatomic, assign) BOOL delegateInterscrollerEffect; + +@end + +/// Banner ad configuration. +@interface GADMediationBannerAdConfiguration : GADMediationAdConfiguration + +/// Banner ad size requested of the adapter. +@property(nonatomic, readonly) GADAdSize adSize; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediationInterstitialAd.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediationInterstitialAd.h new file mode 100755 index 0000000..05ea90f --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediationInterstitialAd.h @@ -0,0 +1,23 @@ +// +// GADMediationInterstitialAd.h +// Google Mobile Ads SDK +// +// Copyright 2018 Google LLC. All rights reserved. +// + +#import +#import +#import +#import + +/// Rendered interstitial ad. +@protocol GADMediationInterstitialAd + +/// Presents the receiver from the view controller. +- (void)presentFromViewController:(nonnull UIViewController *)viewController; + +@end + +/// Interstitial ad configuration. +@interface GADMediationInterstitialAdConfiguration : GADMediationAdConfiguration +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediationNativeAd.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediationNativeAd.h new file mode 100755 index 0000000..74292ca --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediationNativeAd.h @@ -0,0 +1,42 @@ +// +// GADMediationNativeAd.h +// Google Mobile Ads SDK +// +// Copyright 2018 Google LLC. All rights reserved. +// + +#import +#import +#import +#import +#import +#import +#import + +/// Rendered native ad. +@protocol GADMediationNativeAd + +@optional + +/// Indicates whether the ad handles user clicks. If this method returns YES, the ad must handle +/// user clicks and notify the Google Mobile Ads SDK of clicks using +/// -[GADMediationAdEventDelegate reportClick:]. If this method returns NO, the Google Mobile Ads +/// SDK handles user clicks and notifies the ad of clicks using -[GADMediationNativeAd +/// didRecordClickOnAssetWithName:view:viewController:]. +- (BOOL)handlesUserClicks; + +/// Indicates whether the ad handles user impressions tracking. If this method returns YES, the +/// Google Mobile Ads SDK will not track user impressions and the ad must notify the +/// Google Mobile Ads SDK of impressions using -[GADMediationAdEventDelegate +/// reportImpression:]. If this method returns NO, the Google Mobile Ads SDK tracks user impressions +/// and notifies the ad of impressions using -[GADMediationNativeAd didRecordImpression:]. +- (BOOL)handlesUserImpressions; +@end + +/// Native ad configuration. +@interface GADMediationNativeAdConfiguration : GADMediationAdConfiguration + +/// Additional options configured by the publisher for requesting a native ad. +@property(nonatomic, readonly, nonnull) NSArray *options; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediationRewardedAd.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediationRewardedAd.h new file mode 100755 index 0000000..27e3391 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediationRewardedAd.h @@ -0,0 +1,20 @@ +// +// GADMediationRewardedAd.h +// Google Mobile Ads SDK +// +// Copyright 2018 Google LLC. All rights reserved. +// + +#import +#import +#import +#import + +/// Rendered rewarded ad. +@protocol GADMediationRewardedAd +- (void)presentFromViewController:(nonnull UIViewController *)viewController; +@end + +/// Rewarded ad configuration. +@interface GADMediationRewardedAdConfiguration : GADMediationAdConfiguration +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediationServerConfiguration.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediationServerConfiguration.h new file mode 100755 index 0000000..9f9ea68 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADMediationServerConfiguration.h @@ -0,0 +1,29 @@ +// +// GADMediationServerConfiguration.h +// Google Mobile Ads SDK +// +// Copyright 2018 Google LLC. All rights reserved. +// + +#import +#import + +/// Mediation configuration set by the publisher on the AdMob UI. +@interface GADMediationCredentials : NSObject + +/// The AdMob UI settings. +@property(nonatomic, readonly, nonnull) NSDictionary *settings; + +/// The ad format associated with the credentials. +@property(nonatomic, readonly) GADAdFormat format; + +@end + +/// Third party SDK configuration. +@interface GADMediationServerConfiguration : NSObject + +/// Array of mediation configurations set by the publisher on the AdMob UI. Each configuration is a +/// possible credential dictionary that the Google Mobile Ads SDK may provide at ad request time. +@property(nonatomic, readonly, nonnull) NSArray *credentials; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADVersionNumber.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADVersionNumber.h new file mode 100755 index 0000000..89742ac --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/Mediation/GADVersionNumber.h @@ -0,0 +1,24 @@ +// +// GADVersionNumber.h +// Google Mobile Ads SDK +// +// Copyright 2018 Google LLC. All rights reserved. +// + +#import + +/// Version number information. +typedef struct GADVersionNumber GADVersionNumber; + +/// Version number information. +struct GADVersionNumber { + /// Major version. + NSInteger majorVersion; + /// Minor version. + NSInteger minorVersion; + /// Patch version. + NSInteger patchVersion; +}; + +/// Returns a string representation of the version number. +NSString *_Nonnull GADGetStringFromVersionNumber(GADVersionNumber version); diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/QueryInfo/GADRequest+AdString.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/QueryInfo/GADRequest+AdString.h new file mode 100755 index 0000000..0fbc696 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/QueryInfo/GADRequest+AdString.h @@ -0,0 +1,17 @@ +// +// GADRequest+AdString.h +// Google Mobile Ads SDK +// +// Copyright 2022 Google LLC. All rights reserved. +// + +#import + +/// Ad string request extension. +@interface GADRequest (AdString) + +/// Ad string that represents an ad response. If set, the SDK will render this ad and ignore all +/// other targeting information set on this request. +@property(nonatomic, copy, nullable) NSString *adString; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/RTBMediation/GADRTBAdapter.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/RTBMediation/GADRTBAdapter.h new file mode 100755 index 0000000..acf9ca3 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/RTBMediation/GADRTBAdapter.h @@ -0,0 +1,30 @@ +// +// GADRTBAdapter.h +// Google Mobile Ads SDK +// +// Copyright 2018 Google LLC. All rights reserved. +// + +#import +#import +#import + +/// Completion handler for signal generation. Returns either signals or an error object. +typedef void (^GADRTBSignalCompletionHandler)(NSString *_Nullable signals, + NSError *_Nullable error); + +/// Adapter that provides signals to the Google Mobile Ads SDK to be included in an auction. +@protocol GADRTBAdapter + +/// Returns an initialized RTB adapter. +- (nonnull instancetype)init; + +/// Asks the receiver for secure signals. Signals are provided to the 3PAS at request time. The +/// receiver must call completionHandler with signals or an error. +/// +/// This method is called on a non-main thread. The receiver should avoid using the main thread to +/// prevent signal collection timeouts. +- (void)collectSignalsForRequestParameters:(nonnull GADRTBRequestParameters *)params + completionHandler:(nonnull GADRTBSignalCompletionHandler)completionHandler; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/RTBMediation/GADRTBRequestParameters.h b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/RTBMediation/GADRTBRequestParameters.h new file mode 100755 index 0000000..84b50c6 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Headers/RTBMediation/GADRTBRequestParameters.h @@ -0,0 +1,37 @@ +// +// GADRTBRequestParameters.h +// Google Mobile Ads SDK +// +// Copyright 2018 Google LLC. All rights reserved. +// + +#import +#import +#import +#import + +/// Mediation configuration for a particular ad request. +@interface GADRTBMediationSignalsConfiguration : NSObject + +/// Array of mediation credential configurations set by the publisher on the AdMob UI. Each +/// credential configuration is a possible source of ads for the request. The real-time bidding +/// request will include a subset of these configurations. +@property(nonatomic, readonly, nonnull) NSArray *credentials; + +@end + +/// Request parameters provided by the publisher and Google Mobile Ads SDK. +@interface GADRTBRequestParameters : NSObject + +/// Mediation configuration for this request set by the publisher on the AdMob UI. +@property(nonatomic, readonly, nonnull) GADRTBMediationSignalsConfiguration *configuration; + +/// Extras the publisher registered with -[GADRequest registerAdNetworkExtras:]. +@property(nonatomic, readonly, nullable) id extras; + +#pragma mark - Banner parameters + +/// Requested banner ad size. The ad size is GADAdSizeInvalid for non-banner requests. +@property(nonatomic, readonly) GADAdSize adSize; + +@end diff --git a/plugins/2018.3326/iphone/GoogleMobileAds.framework/Modules/module.modulemap b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Modules/module.modulemap new file mode 100755 index 0000000..d4f8782 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleMobileAds.framework/Modules/module.modulemap @@ -0,0 +1,124 @@ +framework module GoogleMobileAds { + umbrella header "GoogleMobileAds.h" + + export * + module * { export * } + + link "sqlite3" + link "z" + + link framework "AdSupport" + link framework "AudioToolbox" + link framework "AVFoundation" + link framework "CFNetwork" + link framework "CoreGraphics" + link framework "CoreMedia" + link framework "CoreTelephony" + link framework "CoreVideo" + link framework "Foundation" + link framework "JavaScriptCore" + link framework "MediaPlayer" + link framework "MessageUI" + link framework "MobileCoreServices" + link framework "QuartzCore" + link framework "SafariServices" + link framework "Security" + link framework "StoreKit" + link framework "SystemConfiguration" + link framework "UIKit" + link framework "WebKit" + + header "GADAdChoicesView.h" + header "GADAdFormat.h" + header "GADAdLoader.h" + header "GADAdLoaderAdTypes.h" + header "GADAdLoaderDelegate.h" + header "GADAdMetadata.h" + header "GADAdNetworkExtras.h" + header "GADAdReward.h" + header "GADAdSize.h" + header "GADAdSizeDelegate.h" + header "GADAdValue.h" + header "GADAppEventDelegate.h" + header "GADAppOpenAd.h" + header "GADAudioVideoManager.h" + header "GADAudioVideoManagerDelegate.h" + header "GADBannerView.h" + header "GADBannerViewDelegate.h" + header "GADCustomEventBanner.h" + header "GADCustomEventBannerDelegate.h" + header "GADCustomEventExtras.h" + header "GADCustomEventInterstitial.h" + header "GADCustomEventInterstitialDelegate.h" + header "GADCustomEventNativeAd.h" + header "GADCustomEventNativeAdDelegate.h" + header "GADCustomEventParameters.h" + header "GADCustomEventRequest.h" + header "GADCustomNativeAd.h" + header "GADCustomNativeAdDelegate.h" + header "GADDebugOptionsViewController.h" + header "GADDisplayAdMeasurement.h" + header "GADDynamicHeightSearchRequest.h" + header "GADExtras.h" + header "GADFullScreenContentDelegate.h" + header "GADInitializationStatus.h" + header "GADInterstitialAd.h" + header "GADMediaAspectRatio.h" + header "GADMediaContent.h" + header "GADMediaView.h" + header "GADMobileAds.h" + header "GADMultipleAdsAdLoaderOptions.h" + header "GADMuteThisAdReason.h" + header "GADNativeAd+ConfirmationClick.h" + header "GADNativeAd+CustomClickGesture.h" + header "GADNativeAd.h" + header "GADNativeAdAssetIdentifiers.h" + header "GADNativeAdCustomClickGestureOptions.h" + header "GADNativeAdDelegate.h" + header "GADNativeAdImage+Mediation.h" + header "GADNativeAdImage.h" + header "GADNativeAdImageAdLoaderOptions.h" + header "GADNativeAdMediaAdLoaderOptions.h" + header "GADNativeAdUnconfirmedClickDelegate.h" + header "GADNativeAdViewAdOptions.h" + header "GADNativeMuteThisAdLoaderOptions.h" + header "GADPresentationError.h" + header "GADQueryInfo.h" + header "GADRequest.h" + header "GADRequestConfiguration.h" + header "GADRequestError.h" + header "GADResponseInfo.h" + header "GADRewardedAd.h" + header "GADRewardedInterstitialAd.h" + header "GADSearchBannerView.h" + header "GADServerSideVerificationOptions.h" + header "GADVideoController.h" + header "GADVideoControllerDelegate.h" + header "GADVideoOptions.h" + header "GAMBannerView.h" + header "GAMBannerViewOptions.h" + header "GAMInterstitialAd.h" + header "GAMRequest.h" + header "GoogleMobileAdsDefines.h" + header "Mediation/GADMAdNetworkAdapterProtocol.h" + header "Mediation/GADMAdNetworkConnectorProtocol.h" + header "Mediation/GADMEnums.h" + header "Mediation/GADMediatedUnifiedNativeAd.h" + header "Mediation/GADMediatedUnifiedNativeAdNotificationSource.h" + header "Mediation/GADMediationAd.h" + header "Mediation/GADMediationAdConfiguration.h" + header "Mediation/GADMediationAdEventDelegate.h" + header "Mediation/GADMediationAdRequest.h" + header "Mediation/GADMediationAdSize.h" + header "Mediation/GADMediationAdapter.h" + header "Mediation/GADMediationAppOpenAd.h" + header "Mediation/GADMediationBannerAd.h" + header "Mediation/GADMediationInterstitialAd.h" + header "Mediation/GADMediationNativeAd.h" + header "Mediation/GADMediationRewardedAd.h" + header "Mediation/GADMediationServerConfiguration.h" + header "Mediation/GADVersionNumber.h" + header "QueryInfo/GADRequest+AdString.h" + header "RTBMediation/GADRTBAdapter.h" + header "RTBMediation/GADRTBRequestParameters.h" +} diff --git a/plugins/2018.3326/iphone/GoogleUtilities.framework/.DS_Store b/plugins/2018.3326/iphone/GoogleUtilities.framework/.DS_Store new file mode 100644 index 0000000..c8d876e Binary files /dev/null and b/plugins/2018.3326/iphone/GoogleUtilities.framework/.DS_Store differ diff --git a/plugins/2018.3326/iphone/GoogleUtilities.framework/GoogleUtilities b/plugins/2018.3326/iphone/GoogleUtilities.framework/GoogleUtilities new file mode 100644 index 0000000..c13cd0e Binary files /dev/null and b/plugins/2018.3326/iphone/GoogleUtilities.framework/GoogleUtilities differ diff --git a/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULAppDelegateSwizzler.h b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULAppDelegateSwizzler.h new file mode 100644 index 0000000..58dec49 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULAppDelegateSwizzler.h @@ -0,0 +1,107 @@ +/* + * Copyright 2018 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#import + +#import "GULApplication.h" + +NS_ASSUME_NONNULL_BEGIN + +typedef NSString *const GULAppDelegateInterceptorID; + +/** This class contains methods that isa swizzle the app delegate. */ +@interface GULAppDelegateSwizzler : NSProxy + +/** Registers an app delegate interceptor whose methods will be invoked as they're invoked on the + * original app delegate. + * + * @param interceptor An instance of a class that conforms to the application delegate protocol. + * The interceptor is NOT retained. + * @return A unique GULAppDelegateInterceptorID if interceptor was successfully registered; nil + * if it fails. + */ ++ (nullable GULAppDelegateInterceptorID)registerAppDelegateInterceptor: + (id)interceptor; + +/** Unregisters an interceptor with the given ID if it exists. + * + * @param interceptorID The object that was generated when the interceptor was registered. + */ ++ (void)unregisterAppDelegateInterceptorWithID:(GULAppDelegateInterceptorID)interceptorID; + +/** This method ensures that the original app delegate has been proxied. Call this before + * registering your interceptor. This method is safe to call multiple times (but it only proxies + * the app delegate once). + * + * This method doesn't proxy APNS related methods: + * @code + * - application:didRegisterForRemoteNotificationsWithDeviceToken: + * - application:didFailToRegisterForRemoteNotificationsWithError: + * - application:didReceiveRemoteNotification:fetchCompletionHandler: + * - application:didReceiveRemoteNotification: + * @endcode + * + * To proxy these methods use +[GULAppDelegateSwizzler + * proxyOriginalDelegateIncludingAPNSMethods]. The methods have to be proxied separately to + * avoid potential warnings from Apple review about missing Push Notification Entitlement (e.g. + * https://github.com/firebase/firebase-ios-sdk/issues/2807) + * + * The method has no effect for extensions. + * + * @see proxyOriginalDelegateIncludingAPNSMethods + */ ++ (void)proxyOriginalDelegate; + +/** This method ensures that the original app delegate has been proxied including APNS related + * methods. Call this before registering your interceptor. This method is safe to call multiple + * times (but it only proxies the app delegate once) or + * after +[GULAppDelegateSwizzler proxyOriginalDelegate] + * + * This method calls +[GULAppDelegateSwizzler proxyOriginalDelegate] under the hood. + * After calling this method the following App Delegate methods will be proxied in addition to + * the methods proxied by proxyOriginalDelegate: + * @code + * - application:didRegisterForRemoteNotificationsWithDeviceToken: + * - application:didFailToRegisterForRemoteNotificationsWithError: + * - application:didReceiveRemoteNotification:fetchCompletionHandler: + * - application:didReceiveRemoteNotification: + * @endcode + * + * The method has no effect for extensions. + * + * @see proxyOriginalDelegate + */ ++ (void)proxyOriginalDelegateIncludingAPNSMethods; + +/** Indicates whether app delegate proxy is explicitly disabled or enabled. Enabled by default. + * + * @return YES if AppDelegateProxy is Enabled, NO otherwise. + */ ++ (BOOL)isAppDelegateProxyEnabled; + +/** Returns the current sharedApplication. + * + * @return the current application instance if in an app, or nil if in extension or if it doesn't + * exist. + */ ++ (nullable GULApplication *)sharedApplication; + +/** Do not initialize this class. */ +- (instancetype)init NS_UNAVAILABLE; + +NS_ASSUME_NONNULL_END + +@end diff --git a/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h new file mode 100644 index 0000000..e84ab9e --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h @@ -0,0 +1,69 @@ +/* + * Copyright 2017 Google + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface GULAppEnvironmentUtil : NSObject + +/// Indicates whether the app is from Apple Store or not. Returns NO if the app is on simulator, +/// development environment or sideloaded. ++ (BOOL)isFromAppStore; + +/// Indicates whether the app is a Testflight app. Returns YES if the app has sandbox receipt. +/// Returns NO otherwise. ++ (BOOL)isAppStoreReceiptSandbox; + +/// Indicates whether the app is on simulator or not at runtime depending on the device +/// architecture. ++ (BOOL)isSimulator; + +/// The current device model. Returns an empty string if device model cannot be retrieved. ++ (nullable NSString *)deviceModel; + +/// The current device model, with simulator-specific values. Returns an empty string if device +/// model cannot be retrieved. ++ (nullable NSString *)deviceSimulatorModel; + +/// The current operating system version. Returns an empty string if the system version cannot be +/// retrieved. ++ (NSString *)systemVersion; + +/// Indicates whether it is running inside an extension or an app. ++ (BOOL)isAppExtension; + +/// @return Returns @YES when is run on iOS version greater or equal to 7.0 ++ (BOOL)isIOS7OrHigher DEPRECATED_MSG_ATTRIBUTE( + "Always `YES` because only iOS 8 and higher supported. The method will be removed."); + +/// @return YES if Swift runtime detected in the app. ++ (BOOL)hasSwiftRuntime __deprecated; + +/// @return An Apple platform. Possible values "ios", "tvos", "macos", "watchos", "maccatalyst", and +/// "visionos". ++ (NSString *)applePlatform; + +/// @return An Apple Device platform. Same possible values as `applePlatform`, with the addition of +/// "ipados". ++ (NSString *)appleDevicePlatform; + +/// @return The way the library was added to the app, e.g. "swiftpm", "cocoapods", etc. ++ (NSString *)deploymentType; + +@end + +NS_ASSUME_NONNULL_END diff --git a/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULApplication.h b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULApplication.h new file mode 100644 index 0000000..6c44058 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULApplication.h @@ -0,0 +1,50 @@ +/* + * Copyright 2019 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#import + +#if TARGET_OS_IOS || TARGET_OS_TV || (defined(TARGET_OS_VISION) && TARGET_OS_VISION) + +#import + +#define GULApplication UIApplication +#define GULApplicationDelegate UIApplicationDelegate +#define GULUserActivityRestoring UIUserActivityRestoring + +static NSString *const kGULApplicationClassName = @"UIApplication"; + +#elif TARGET_OS_OSX + +#import + +#define GULApplication NSApplication +#define GULApplicationDelegate NSApplicationDelegate +#define GULUserActivityRestoring NSUserActivityRestoring + +static NSString *const kGULApplicationClassName = @"NSApplication"; + +#elif TARGET_OS_WATCH + +#import + +// We match the according watchOS API but swizzling should not work in watch +#define GULApplication WKExtension +#define GULApplicationDelegate WKExtensionDelegate +#define GULUserActivityRestoring NSUserActivityRestoring + +static NSString *const kGULApplicationClassName = @"WKExtension"; + +#endif diff --git a/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULHeartbeatDateStorable.h b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULHeartbeatDateStorable.h new file mode 100644 index 0000000..43d3740 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULHeartbeatDateStorable.h @@ -0,0 +1,40 @@ +/* + * Copyright 2021 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + * Describes an object that can store and fetch heartbeat dates for given tags. + */ +@protocol GULHeartbeatDateStorable + +/** + * Reads the date from the specified file for the given tag. + * @return Returns date if exists, otherwise `nil`. + */ +- (nullable NSDate *)heartbeatDateForTag:(NSString *)tag; + +/** + * Saves the date for the specified tag in the specified file. + * @return YES on success, NO otherwise. + */ +- (BOOL)setHearbeatDate:(NSDate *)date forTag:(NSString *)tag; + +@end + +NS_ASSUME_NONNULL_END diff --git a/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULHeartbeatDateStorage.h b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULHeartbeatDateStorage.h new file mode 100644 index 0000000..245b1a2 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULHeartbeatDateStorage.h @@ -0,0 +1,54 @@ +/* + * Copyright 2019 Google + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#import + +#import "GULHeartbeatDateStorable.h" + +NS_ASSUME_NONNULL_BEGIN + +/// The name of the directory where the heartbeat data is stored. +extern NSString *const kGULHeartbeatStorageDirectory; + +/// Stores either a date or a dictionary to a specified file. +@interface GULHeartbeatDateStorage : NSObject + +- (instancetype)init NS_UNAVAILABLE; + +@property(nonatomic, readonly) NSURL *fileURL; + +/** + * Default initializer. + * @param fileName The name of the file to store the date information. + * exist, it will be created if needed. + */ +- (instancetype)initWithFileName:(NSString *)fileName; + +/** + * Reads the date from the specified file for the given tag. + * @return Returns date if exists, otherwise `nil`. + */ +- (nullable NSDate *)heartbeatDateForTag:(NSString *)tag; + +/** + * Saves the date for the specified tag in the specified file. + * @return YES on success, NO otherwise. + */ +- (BOOL)setHearbeatDate:(NSDate *)date forTag:(NSString *)tag; + +@end + +NS_ASSUME_NONNULL_END diff --git a/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULHeartbeatDateStorageUserDefaults.h b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULHeartbeatDateStorageUserDefaults.h new file mode 100644 index 0000000..e6c7dda --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULHeartbeatDateStorageUserDefaults.h @@ -0,0 +1,51 @@ +/* + * Copyright 2021 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#import + +#import "GULHeartbeatDateStorable.h" + +NS_ASSUME_NONNULL_BEGIN + +/// Stores either a date or a dictionary to a specified file. +@interface GULHeartbeatDateStorageUserDefaults : NSObject + +/** + * Default initializer. tvOS can only write to the cache directory and + * there are no guarantees that the directory will persist. User defaults will + * be retained, so that should be used instead. + * @param defaults User defaults instance to store the heartbeat information. + * @param key The key to be used with the user defaults instance. + */ +- (instancetype)initWithDefaults:(NSUserDefaults *)defaults key:(NSString *)key; + +- (instancetype)init NS_UNAVAILABLE; + +/** + * Reads the date from the specified file for the given tag. + * @return Returns date if exists, otherwise `nil`. + */ +- (nullable NSDate *)heartbeatDateForTag:(NSString *)tag; + +/** + * Saves the date for the specified tag in the specified file. + * @return YES on success, NO otherwise. + */ +- (BOOL)setHearbeatDate:(NSDate *)date forTag:(NSString *)tag; + +@end + +NS_ASSUME_NONNULL_END diff --git a/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULKeychainStorage.h b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULKeychainStorage.h new file mode 100644 index 0000000..af10cb4 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULKeychainStorage.h @@ -0,0 +1,82 @@ +/* + * Copyright 2019 Google + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#import + +@class FBLPromise; + +NS_ASSUME_NONNULL_BEGIN + +/// The class provides a convenient, multiplatform abstraction of the Keychain. +/// +/// When using this API on macOS, the corresponding target must be signed with a provisioning +/// profile that has the Keychain Sharing capability enabled. +@interface GULKeychainStorage : NSObject + +- (instancetype)init NS_UNAVAILABLE; + +/** Initializes the keychain storage with Keychain Service name. + * @param service A Keychain Service name that will be used to store and retrieve objects. See also + * `kSecAttrService`. + */ +- (instancetype)initWithService:(NSString *)service; + +/** + * Get an object by key. + * @param key The key. + * @param objectClass The expected object class required by `NSSecureCoding`. + * @param accessGroup The Keychain Access Group. + * + * @return Returns a promise. It is resolved with an object stored by key if exists. It is resolved + * with `nil` when the object not found. It fails on a Keychain error. + */ +- (FBLPromise> *)getObjectForKey:(NSString *)key + objectClass:(Class)objectClass + accessGroup:(nullable NSString *)accessGroup; + +/** + * Saves the given object by the given key. + * @param object The object to store. + * @param key The key to store the object. If there is an existing object by the key, it will be + * overridden. + * @param accessGroup The Keychain Access Group. + * + * @return Returns which is resolved with `[NSNull null]` on success. + */ +- (FBLPromise *)setObject:(id)object + forKey:(NSString *)key + accessGroup:(nullable NSString *)accessGroup; + +/** + * Removes the object by the given key. + * @param key The key to store the object. If there is an existing object by the key, it will be + * overridden. + * @param accessGroup The Keychain Access Group. + * + * @return Returns which is resolved with `[NSNull null]` on success. + */ +- (FBLPromise *)removeObjectForKey:(NSString *)key + accessGroup:(nullable NSString *)accessGroup; + +#if TARGET_OS_OSX +/// If not `nil`, then only this keychain will be used to save and read data (see +/// `kSecMatchSearchList` and `kSecUseKeychain`. It is mostly intended to be used by unit tests. +@property(nonatomic, nullable) SecKeychainRef keychainRef; +#endif // TARGET_OS_OSX + +@end + +NS_ASSUME_NONNULL_END diff --git a/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULKeychainUtils.h b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULKeychainUtils.h new file mode 100644 index 0000000..9c17356 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULKeychainUtils.h @@ -0,0 +1,64 @@ +/* + * Copyright 2019 Google + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#import + +NS_ASSUME_NONNULL_BEGIN + +FOUNDATION_EXPORT NSString *const kGULKeychainUtilsErrorDomain; + +/// A collection of helper functions that abstract away common Keychain operations. +/// +/// When using this API on macOS, the corresponding target must be signed with a provisioning +/// profile that has the Keychain Sharing capability enabled. +@interface GULKeychainUtils : NSObject + +/** Fetches a keychain item data matching to the provided query. + * @param query A dictionary with Keychain query parameters. See docs for `SecItemCopyMatching` for + * details. + * @param outError A pointer to `NSError` instance or `NULL`. The instance at `outError` will be + * assigned with an error if there is. + * @returns Data for the first Keychain Item matching the provided query or `nil` if there is not + * such an item (`outError` will be `nil` in this case) or an error occurred. + */ ++ (nullable NSData *)getItemWithQuery:(NSDictionary *)query + error:(NSError *_Nullable *_Nullable)outError; + +/** Stores data to a Keychain Item matching to the provided query. An existing Keychain Item + * matching the query parameters will be updated or a new will be created. + * @param item A Keychain Item data to store. + * @param query A dictionary with Keychain query parameters. See docs for `SecItemAdd` and + * `SecItemUpdate` for details. + * @param outError A pointer to `NSError` instance or `NULL`. The instance at `outError` will be + * assigned with an error if there is. + * @returns `YES` when data was successfully stored, `NO` otherwise. + */ ++ (BOOL)setItem:(NSData *)item + withQuery:(NSDictionary *)query + error:(NSError *_Nullable *_Nullable)outError; + +/** Removes a Keychain Item matching to the provided query. + * @param query A dictionary with Keychain query parameters. See docs for `SecItemDelete` for + * details. + * @param outError A pointer to `NSError` instance or `NULL`. The instance at `outError` will be + * assigned with an error if there is. + * @returns `YES` if the item was removed successfully or doesn't exist, `NO` otherwise. + */ ++ (BOOL)removeItemWithQuery:(NSDictionary *)query error:(NSError *_Nullable *_Nullable)outError; + +@end + +NS_ASSUME_NONNULL_END diff --git a/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULLogger.h b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULLogger.h new file mode 100644 index 0000000..3643568 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULLogger.h @@ -0,0 +1,164 @@ +/* + * Copyright 2018 Google + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#import + +#import "GULLoggerLevel.h" + +NS_ASSUME_NONNULL_BEGIN + +/** + * The services used in the logger. + */ +typedef NSString *const GULLoggerService; + +#ifdef __cplusplus +extern "C" { +#endif // __cplusplus + +/** + * Initialize GULLogger. + */ +extern void GULLoggerInitializeASL(void); + +/** + * Override log level to Debug. + */ +void GULLoggerForceDebug(void); + +/** + * Turn on logging to STDERR. + */ +extern void GULLoggerEnableSTDERR(void); + +/** + * Gets the current GULLoggerLevel. + */ +extern GULLoggerLevel GULGetLoggerLevel(void); + +/** + * Changes the default logging level of GULLoggerLevelNotice to a user-specified level. + * The default level cannot be set above GULLoggerLevelNotice if the app is running from App Store. + * (required) log level (one of the GULLoggerLevel enum values). + */ +extern void GULSetLoggerLevel(GULLoggerLevel loggerLevel); + +/** + * Checks if the specified logger level is loggable given the current settings. + * (required) log level (one of the GULLoggerLevel enum values). + */ +extern BOOL GULIsLoggableLevel(GULLoggerLevel loggerLevel); + +/** + * Register version to include in logs. + * (required) version + */ +extern void GULLoggerRegisterVersion(NSString *version); + +/** + * Logs a message to the Xcode console and the device log. If running from AppStore, will + * not log any messages with a level higher than GULLoggerLevelNotice to avoid log spamming. + * (required) log level (one of the GULLoggerLevel enum values). + * (required) service name of type GULLoggerService. + * (required) message code starting with "I-" which means iOS, followed by a capitalized + * three-character service identifier and a six digit integer message ID that is unique + * within the service. + * An example of the message code is @"I-COR000001". + * (required) message string which can be a format string. + * (optional) variable arguments list obtained from calling va_start, used when message is a format + * string. + */ +extern void GULLogBasic(GULLoggerLevel level, + GULLoggerService service, + BOOL forceLog, + NSString *messageCode, + NSString *message, +// On 64-bit simulators, va_list is not a pointer, so cannot be marked nullable +// See: http://stackoverflow.com/q/29095469 +#if __LP64__ && TARGET_OS_SIMULATOR || TARGET_OS_OSX + va_list args_ptr +#else + va_list _Nullable args_ptr +#endif +); + +/** + * The following functions accept the following parameters in order: + * (required) service name of type GULLoggerService. + * (required) message code starting from "I-" which means iOS, followed by a capitalized + * three-character service identifier and a six digit integer message ID that is unique + * within the service. + * An example of the message code is @"I-COR000001". + * See go/firebase-log-proposal for details. + * (required) message string which can be a format string. + * (optional) the list of arguments to substitute into the format string. + * Example usage: + * GULLogError(kGULLoggerCore, @"I-COR000001", @"Configuration of %@ failed.", app.name); + */ +extern void GULLogError(GULLoggerService service, + BOOL force, + NSString *messageCode, + NSString *message, + ...) NS_FORMAT_FUNCTION(4, 5); +extern void GULLogWarning(GULLoggerService service, + BOOL force, + NSString *messageCode, + NSString *message, + ...) NS_FORMAT_FUNCTION(4, 5); +extern void GULLogNotice(GULLoggerService service, + BOOL force, + NSString *messageCode, + NSString *message, + ...) NS_FORMAT_FUNCTION(4, 5); +extern void GULLogInfo(GULLoggerService service, + BOOL force, + NSString *messageCode, + NSString *message, + ...) NS_FORMAT_FUNCTION(4, 5); +extern void GULLogDebug(GULLoggerService service, + BOOL force, + NSString *messageCode, + NSString *message, + ...) NS_FORMAT_FUNCTION(4, 5); + +#ifdef __cplusplus +} // extern "C" +#endif // __cplusplus + +@interface GULLoggerWrapper : NSObject + +/** + * Objective-C wrapper for GULLogBasic to allow weak linking to GULLogger + * (required) log level (one of the GULLoggerLevel enum values). + * (required) service name of type GULLoggerService. + * (required) message code starting with "I-" which means iOS, followed by a capitalized + * three-character service identifier and a six digit integer message ID that is unique + * within the service. + * An example of the message code is @"I-COR000001". + * (required) message string which can be a format string. + * (optional) variable arguments list obtained from calling va_start, used when message is a format + * string. + */ + ++ (void)logWithLevel:(GULLoggerLevel)level + withService:(GULLoggerService)service + withCode:(NSString *)messageCode + withMessage:(NSString *)message + withArgs:(va_list)args; + +@end + +NS_ASSUME_NONNULL_END diff --git a/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULLoggerLevel.h b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULLoggerLevel.h new file mode 100644 index 0000000..f0ee435 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULLoggerLevel.h @@ -0,0 +1,37 @@ +/* + * Copyright 2018 Google + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#import + +/** + * The log levels used by internal logging. + */ +typedef NS_ENUM(NSInteger, GULLoggerLevel) { + /** Error level, matches ASL_LEVEL_ERR. */ + GULLoggerLevelError = 3, + /** Warning level, matches ASL_LEVEL_WARNING. */ + GULLoggerLevelWarning = 4, + /** Notice level, matches ASL_LEVEL_NOTICE. */ + GULLoggerLevelNotice = 5, + /** Info level, matches ASL_LEVEL_INFO. */ + GULLoggerLevelInfo = 6, + /** Debug level, matches ASL_LEVEL_DEBUG. */ + GULLoggerLevelDebug = 7, + /** Minimum log level. */ + GULLoggerLevelMin = GULLoggerLevelError, + /** Maximum log level. */ + GULLoggerLevelMax = GULLoggerLevelDebug +} NS_SWIFT_NAME(GoogleLoggerLevel); diff --git a/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULMutableDictionary.h b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULMutableDictionary.h new file mode 100644 index 0000000..a8cc45b --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULMutableDictionary.h @@ -0,0 +1,46 @@ +/* + * Copyright 2017 Google + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#import + +/// A mutable dictionary that provides atomic accessor and mutators. +@interface GULMutableDictionary : NSObject + +/// Returns an object given a key in the dictionary or nil if not found. +- (id)objectForKey:(id)key; + +/// Updates the object given its key or adds it to the dictionary if it is not in the dictionary. +- (void)setObject:(id)object forKey:(id)key; + +/// Removes the object given its session ID from the dictionary. +- (void)removeObjectForKey:(id)key; + +/// Removes all objects. +- (void)removeAllObjects; + +/// Returns the number of current objects in the dictionary. +- (NSUInteger)count; + +/// Returns an object given a key in the dictionary or nil if not found. +- (id)objectForKeyedSubscript:(id)key; + +/// Updates the object given its key or adds it to the dictionary if it is not in the dictionary. +- (void)setObject:(id)obj forKeyedSubscript:(id)key; + +/// Returns the immutable dictionary. +- (NSDictionary *)dictionary; + +@end diff --git a/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULNSData+zlib.h b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULNSData+zlib.h new file mode 100644 index 0000000..36f94a7 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULNSData+zlib.h @@ -0,0 +1,49 @@ +// Copyright 2018 Google +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#import + +/// This is a copy of Google Toolbox for Mac library to avoid creating an extra framework. + +// NOTE: For 64bit, none of these apis handle input sizes >32bits, they will return nil when given +// such data. To handle data of that size you really should be streaming it rather then doing it all +// in memory. + +@interface NSData (GULGzip) + +/// Returns an data as the result of decompressing the payload of |data|.The data to decompress must +/// be a gzipped payloads. ++ (NSData *)gul_dataByInflatingGzippedData:(NSData *)data error:(NSError **)error; + +/// Returns an compressed data with the result of gzipping the payload of |data|. Uses the default +/// compression level. ++ (NSData *)gul_dataByGzippingData:(NSData *)data error:(NSError **)error; + +FOUNDATION_EXPORT NSString *const GULNSDataZlibErrorDomain; +FOUNDATION_EXPORT NSString *const GULNSDataZlibErrorKey; // NSNumber +FOUNDATION_EXPORT NSString *const GULNSDataZlibRemainingBytesKey; // NSNumber + +typedef NS_ENUM(NSInteger, GULNSDataZlibError) { + GULNSDataZlibErrorGreaterThan32BitsToCompress = 1024, + // An internal zlib error. + // GULNSDataZlibErrorKey will contain the error value. + // NSLocalizedDescriptionKey may contain an error string from zlib. + // Look in zlib.h for list of errors. + GULNSDataZlibErrorInternal, + // There was left over data in the buffer that was not used. + // GULNSDataZlibRemainingBytesKey will contain number of remaining bytes. + GULNSDataZlibErrorDataRemaining +}; + +@end diff --git a/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULNetwork.h b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULNetwork.h new file mode 100644 index 0000000..8631b8b --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULNetwork.h @@ -0,0 +1,97 @@ +/* + * Copyright 2017 Google + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#import + +#import "GULNetworkConstants.h" +#import "GULNetworkLoggerProtocol.h" +#import "GULNetworkURLSession.h" + +/// Delegate protocol for GULNetwork events. +@protocol GULNetworkReachabilityDelegate + +/// Tells the delegate to handle events when the network reachability changes to connected or not +/// connected. +- (void)reachabilityDidChange; + +@end + +/// The Network component that provides network status and handles network requests and responses. +/// This is not thread safe. +/// +/// NOTE: +/// User must add FIRAnalytics handleEventsForBackgroundURLSessionID:completionHandler to the +/// AppDelegate application:handleEventsForBackgroundURLSession:completionHandler: +@interface GULNetwork : NSObject + +/// Indicates if network connectivity is available. +@property(nonatomic, readonly, getter=isNetworkConnected) BOOL networkConnected; + +/// Indicates if there are any uploads in progress. +@property(nonatomic, readonly, getter=hasUploadInProgress) BOOL uploadInProgress; + +/// An optional delegate that can be used in the event when network reachability changes. +@property(nonatomic, weak) id reachabilityDelegate; + +/// An optional delegate that can be used to log messages, warnings or errors that occur in the +/// network operations. +@property(nonatomic, weak) id loggerDelegate; + +/// Indicates whether the logger should display debug messages. +@property(nonatomic, assign) BOOL isDebugModeEnabled; + +/// The time interval in seconds for the network request to timeout. +@property(nonatomic, assign) NSTimeInterval timeoutInterval; + +/// Initializes with the default reachability host. +- (instancetype)init; + +/// Initializes with a custom reachability host. +- (instancetype)initWithReachabilityHost:(NSString *)reachabilityHost; + +/// Handles events when background session with the given ID has finished. ++ (void)handleEventsForBackgroundURLSessionID:(NSString *)sessionID + completionHandler:(GULNetworkSystemCompletionHandler)completionHandler; + +/// Compresses and sends a POST request with the provided data to the URL. The session will be +/// background session if usingBackgroundSession is YES. Otherwise, the POST session is default +/// session. Returns a session ID or nil if an error occurs. +- (NSString *)postURL:(NSURL *)url + payload:(NSData *)payload + queue:(dispatch_queue_t)queue + usingBackgroundSession:(BOOL)usingBackgroundSession + completionHandler:(GULNetworkCompletionHandler)handler; + +/// Compresses and sends a POST request with the provided headers and data to the URL. The session +/// will be background session if usingBackgroundSession is YES. Otherwise, the POST session is +/// default session. Returns a session ID or nil if an error occurs. +- (NSString *)postURL:(NSURL *)url + headers:(NSDictionary *)headers + payload:(NSData *)payload + queue:(dispatch_queue_t)queue + usingBackgroundSession:(BOOL)usingBackgroundSession + completionHandler:(GULNetworkCompletionHandler)handler; + +/// Sends a GET request with the provided data to the URL. The session will be background session +/// if usingBackgroundSession is YES. Otherwise, the GET session is default session. Returns a +/// session ID or nil if an error occurs. +- (NSString *)getURL:(NSURL *)url + headers:(NSDictionary *)headers + queue:(dispatch_queue_t)queue + usingBackgroundSession:(BOOL)usingBackgroundSession + completionHandler:(GULNetworkCompletionHandler)handler; + +@end diff --git a/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULNetworkConstants.h b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULNetworkConstants.h new file mode 100644 index 0000000..1cbedd1 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULNetworkConstants.h @@ -0,0 +1,71 @@ +/* + * Copyright 2017 Google + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#import + +/// Error codes in Firebase Network error domain. +/// Note: these error codes should never change. It would make it harder to decode the errors if +/// we inadvertently altered any of these codes in a future SDK version. +typedef NS_ENUM(NSInteger, GULNetworkErrorCode) { + /// Unknown error. + GULNetworkErrorCodeUnknown = 0, + /// Error occurs when the request URL is invalid. + GULErrorCodeNetworkInvalidURL = 1, + /// Error occurs when request cannot be constructed. + GULErrorCodeNetworkRequestCreation = 2, + /// Error occurs when payload cannot be compressed. + GULErrorCodeNetworkPayloadCompression = 3, + /// Error occurs when session task cannot be created. + GULErrorCodeNetworkSessionTaskCreation = 4, + /// Error occurs when there is no response. + GULErrorCodeNetworkInvalidResponse = 5 +}; + +#pragma mark - Network constants + +/// The prefix of the ID of the background session. +extern NSString *const kGULNetworkBackgroundSessionConfigIDPrefix; + +/// The sub directory to store the files of data that is being uploaded in the background. +extern NSString *const kGULNetworkApplicationSupportSubdirectory; + +/// Name of the temporary directory that stores files for background uploading. +extern NSString *const kGULNetworkTempDirectoryName; + +/// The period when the temporary uploading file can stay. +extern const NSTimeInterval kGULNetworkTempFolderExpireTime; + +/// The default network request timeout interval. +extern const NSTimeInterval kGULNetworkTimeOutInterval; + +/// The host to check the reachability of the network. +extern NSString *const kGULNetworkReachabilityHost; + +/// The key to get the error context of the UserInfo. +extern NSString *const kGULNetworkErrorContext; + +#pragma mark - Network Status Code + +extern const int kGULNetworkHTTPStatusOK; +extern const int kGULNetworkHTTPStatusNoContent; +extern const int kGULNetworkHTTPStatusCodeMultipleChoices; +extern const int kGULNetworkHTTPStatusCodeMovedPermanently; +extern const int kGULNetworkHTTPStatusCodeFound; +extern const int kGULNetworkHTTPStatusCodeNotModified; +extern const int kGULNetworkHTTPStatusCodeMovedTemporarily; +extern const int kGULNetworkHTTPStatusCodeNotFound; +extern const int kGULNetworkHTTPStatusCodeCannotAcceptTraffic; +extern const int kGULNetworkHTTPStatusCodeUnavailable; diff --git a/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULNetworkInfo.h b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULNetworkInfo.h new file mode 100644 index 0000000..d3025cd --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULNetworkInfo.h @@ -0,0 +1,57 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#import + +NS_ASSUME_NONNULL_BEGIN + +/// The type of network that the device is running with. Values should correspond to the NetworkType +/// values in android/play/playlog/proto/clientanalytics.proto +typedef NS_ENUM(NSInteger, GULNetworkType) { + GULNetworkTypeNone = -1, + GULNetworkTypeMobile = 0, + GULNetworkTypeWIFI = 1, +}; + +/// Collection of utilities to read network status information +@interface GULNetworkInfo : NSObject + +/// Returns the cellular mobile country code (mcc) if CoreTelephony is supported, otherwise nil ++ (NSString *_Nullable)getNetworkMobileCountryCode; + +/// Returns the cellular mobile network code (mnc) if CoreTelephony is supported, otherwise nil ++ (NSString *_Nullable)getNetworkMobileNetworkCode; + +/** + * Returns the formatted MccMnc if the inputs are valid, otherwise nil + * @param mcc The Mobile Country Code returned from `getNetworkMobileCountryCode` + * @param mnc The Mobile Network Code returned from `getNetworkMobileNetworkCode` + * @returns A string with the concatenated mccMnc if both inputs are valid, otherwise nil + */ ++ (NSString *_Nullable)formatMcc:(NSString *_Nullable)mcc andMNC:(NSString *_Nullable)mnc; + +/// Returns an enum indicating the network type. The enum values should be easily transferrable to +/// the NetworkType value in android/play/playlog/proto/clientanalytics.proto. Right now this always +/// returns None on platforms other than iOS. This should be updated in the future to return Wi-Fi +/// values for the other platforms when applicable. ++ (GULNetworkType)getNetworkType; + +/// Returns a string indicating the radio access technology used by the app. The return value will +/// be one of CTRadioAccess constants defined in +/// https://developer.apple.com/documentation/coretelephony/cttelephonynetworkinfo/radio_access_technology_constants ++ (NSString *)getNetworkRadioType; + +@end + +NS_ASSUME_NONNULL_END diff --git a/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULNetworkLoggerProtocol.h b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULNetworkLoggerProtocol.h new file mode 100644 index 0000000..425c073 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULNetworkLoggerProtocol.h @@ -0,0 +1,49 @@ +/* + * Copyright 2017 Google + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#import + +#import "GULNetworkMessageCode.h" + +/// The log levels used by GULNetworkLogger. +typedef NS_ENUM(NSInteger, GULNetworkLogLevel) { + kGULNetworkLogLevelError = 3, + kGULNetworkLogLevelWarning = 4, + kGULNetworkLogLevelInfo = 6, + kGULNetworkLogLevelDebug = 7, +}; + +@protocol GULNetworkLoggerDelegate + +@required +/// Tells the delegate to log a message with an array of contexts and the log level. +- (void)GULNetwork_logWithLevel:(GULNetworkLogLevel)logLevel + messageCode:(GULNetworkMessageCode)messageCode + message:(NSString *)message + contexts:(NSArray *)contexts; + +/// Tells the delegate to log a message with a context and the log level. +- (void)GULNetwork_logWithLevel:(GULNetworkLogLevel)logLevel + messageCode:(GULNetworkMessageCode)messageCode + message:(NSString *)message + context:(id)context; + +/// Tells the delegate to log a message with the log level. +- (void)GULNetwork_logWithLevel:(GULNetworkLogLevel)logLevel + messageCode:(GULNetworkMessageCode)messageCode + message:(NSString *)message; + +@end diff --git a/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULNetworkMessageCode.h b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULNetworkMessageCode.h new file mode 100644 index 0000000..507bc5a --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULNetworkMessageCode.h @@ -0,0 +1,47 @@ +/* + * Copyright 2017 Google + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#import + +// Make sure these codes do not overlap with any contained in the FIRAMessageCode enum. +typedef NS_ENUM(NSInteger, GULNetworkMessageCode) { + // GULNetwork.m + kGULNetworkMessageCodeNetwork000 = 900000, // I-NET900000 + kGULNetworkMessageCodeNetwork001 = 900001, // I-NET900001 + kGULNetworkMessageCodeNetwork002 = 900002, // I-NET900002 + kGULNetworkMessageCodeNetwork003 = 900003, // I-NET900003 + // GULNetworkURLSession.m + kGULNetworkMessageCodeURLSession000 = 901000, // I-NET901000 + kGULNetworkMessageCodeURLSession001 = 901001, // I-NET901001 + kGULNetworkMessageCodeURLSession002 = 901002, // I-NET901002 + kGULNetworkMessageCodeURLSession003 = 901003, // I-NET901003 + kGULNetworkMessageCodeURLSession004 = 901004, // I-NET901004 + kGULNetworkMessageCodeURLSession005 = 901005, // I-NET901005 + kGULNetworkMessageCodeURLSession006 = 901006, // I-NET901006 + kGULNetworkMessageCodeURLSession007 = 901007, // I-NET901007 + kGULNetworkMessageCodeURLSession008 = 901008, // I-NET901008 + kGULNetworkMessageCodeURLSession009 = 901009, // I-NET901009 + kGULNetworkMessageCodeURLSession010 = 901010, // I-NET901010 + kGULNetworkMessageCodeURLSession011 = 901011, // I-NET901011 + kGULNetworkMessageCodeURLSession012 = 901012, // I-NET901012 + kGULNetworkMessageCodeURLSession013 = 901013, // I-NET901013 + kGULNetworkMessageCodeURLSession014 = 901014, // I-NET901014 + kGULNetworkMessageCodeURLSession015 = 901015, // I-NET901015 + kGULNetworkMessageCodeURLSession016 = 901016, // I-NET901016 + kGULNetworkMessageCodeURLSession017 = 901017, // I-NET901017 + kGULNetworkMessageCodeURLSession018 = 901018, // I-NET901018 + kGULNetworkMessageCodeURLSession019 = 901019, // I-NET901019 +}; diff --git a/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULNetworkURLSession.h b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULNetworkURLSession.h new file mode 100644 index 0000000..3f9f7f9 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULNetworkURLSession.h @@ -0,0 +1,62 @@ +/* + * Copyright 2017 Google + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#import + +#import "GULNetworkLoggerProtocol.h" + +NS_ASSUME_NONNULL_BEGIN + +typedef void (^GULNetworkCompletionHandler)(NSHTTPURLResponse *_Nullable response, + NSData *_Nullable data, + NSError *_Nullable error); +typedef void (^GULNetworkURLSessionCompletionHandler)(NSHTTPURLResponse *_Nullable response, + NSData *_Nullable data, + NSString *sessionID, + NSError *_Nullable error); +typedef void (^GULNetworkSystemCompletionHandler)(void); + +/// The protocol that uses NSURLSession for iOS >= 7.0 to handle requests and responses. +@interface GULNetworkURLSession : NSObject + +/// Indicates whether the background network is enabled. Default value is NO. +@property(nonatomic, getter=isBackgroundNetworkEnabled) BOOL backgroundNetworkEnabled; + +/// The logger delegate to log message, errors or warnings that occur during the network operations. +@property(nonatomic, weak, nullable) id loggerDelegate; + +/// Calls the system provided completion handler after the background session is finished. ++ (void)handleEventsForBackgroundURLSessionID:(NSString *)sessionID + completionHandler:(GULNetworkSystemCompletionHandler)completionHandler; + +/// Initializes with logger delegate. +- (instancetype)initWithNetworkLoggerDelegate: + (nullable id)networkLoggerDelegate NS_DESIGNATED_INITIALIZER; + +- (instancetype)init NS_UNAVAILABLE; + +/// Sends an asynchronous POST request and calls the provided completion handler when the request +/// completes or when errors occur, and returns an ID of the session/connection. +- (nullable NSString *)sessionIDFromAsyncPOSTRequest:(NSURLRequest *)request + completionHandler:(GULNetworkURLSessionCompletionHandler)handler; + +/// Sends an asynchronous GET request and calls the provided completion handler when the request +/// completes or when errors occur, and returns an ID of the session. +- (nullable NSString *)sessionIDFromAsyncGETRequest:(NSURLRequest *)request + completionHandler:(GULNetworkURLSessionCompletionHandler)handler; + +NS_ASSUME_NONNULL_END +@end diff --git a/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULOriginalIMPConvenienceMacros.h b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULOriginalIMPConvenienceMacros.h new file mode 100644 index 0000000..a33262a --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULOriginalIMPConvenienceMacros.h @@ -0,0 +1,207 @@ +/* + * Copyright 2018 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * GULOriginalIMPConvenienceMacros.h + * + * This header contains convenience macros for invoking the original IMP of a swizzled method. + */ + +/** + * Invokes original IMP when the original selector takes no arguments. + * + * @param __receivingObject The object on which the IMP is invoked. + * @param __swizzledSEL The selector used for swizzling. + * @param __returnType The return type of the original implementation. + * @param __originalIMP The original IMP. + */ +#define GUL_INVOKE_ORIGINAL_IMP0(__receivingObject, __swizzledSEL, __returnType, __originalIMP) \ + ((__returnType(*)(id, SEL))__originalIMP)(__receivingObject, __swizzledSEL) + +/** + * Invokes original IMP when the original selector takes 1 argument. + * + * @param __receivingObject The object on which the IMP is invoked. + * @param __swizzledSEL The selector used for swizzling. + * @param __returnType The return type of the original implementation. + * @param __originalIMP The original IMP. + * @param __arg1 The first argument. + */ +#define GUL_INVOKE_ORIGINAL_IMP1(__receivingObject, __swizzledSEL, __returnType, __originalIMP, \ + __arg1) \ + ((__returnType(*)(id, SEL, __typeof__(__arg1)))__originalIMP)(__receivingObject, __swizzledSEL, \ + __arg1) + +/** + * Invokes original IMP when the original selector takes 2 arguments. + * + * @param __receivingObject The object on which the IMP is invoked. + * @param __swizzledSEL The selector used for swizzling. + * @param __returnType The return type of the original implementation. + * @param __originalIMP The original IMP. + * @param __arg1 The first argument. + * @param __arg2 The second argument. + */ +#define GUL_INVOKE_ORIGINAL_IMP2(__receivingObject, __swizzledSEL, __returnType, __originalIMP, \ + __arg1, __arg2) \ + ((__returnType(*)(id, SEL, __typeof__(__arg1), __typeof__(__arg2)))__originalIMP)( \ + __receivingObject, __swizzledSEL, __arg1, __arg2) + +/** + * Invokes original IMP when the original selector takes 3 arguments. + * + * @param __receivingObject The object on which the IMP is invoked. + * @param __swizzledSEL The selector used for swizzling. + * @param __returnType The return type of the original implementation. + * @param __originalIMP The original IMP. + * @param __arg1 The first argument. + * @param __arg2 The second argument. + * @param __arg3 The third argument. + */ +#define GUL_INVOKE_ORIGINAL_IMP3(__receivingObject, __swizzledSEL, __returnType, __originalIMP, \ + __arg1, __arg2, __arg3) \ + ((__returnType(*)(id, SEL, __typeof__(__arg1), __typeof__(__arg2), \ + __typeof__(__arg3)))__originalIMP)(__receivingObject, __swizzledSEL, __arg1, \ + __arg2, __arg3) + +/** + * Invokes original IMP when the original selector takes 4 arguments. + * + * @param __receivingObject The object on which the IMP is invoked. + * @param __swizzledSEL The selector used for swizzling. + * @param __returnType The return type of the original implementation. + * @param __originalIMP The original IMP. + * @param __arg1 The first argument. + * @param __arg2 The second argument. + * @param __arg3 The third argument. + * @param __arg4 The fourth argument. + */ +#define GUL_INVOKE_ORIGINAL_IMP4(__receivingObject, __swizzledSEL, __returnType, __originalIMP, \ + __arg1, __arg2, __arg3, __arg4) \ + ((__returnType(*)(id, SEL, __typeof__(__arg1), __typeof__(__arg2), __typeof__(__arg3), \ + __typeof__(__arg4)))__originalIMP)(__receivingObject, __swizzledSEL, __arg1, \ + __arg2, __arg3, __arg4) + +/** + * Invokes original IMP when the original selector takes 5 arguments. + * + * @param __receivingObject The object on which the IMP is invoked. + * @param __swizzledSEL The selector used for swizzling. + * @param __returnType The return type of the original implementation. + * @param __originalIMP The original IMP. + * @param __arg1 The first argument. + * @param __arg2 The second argument. + * @param __arg3 The third argument. + * @param __arg4 The fourth argument. + * @param __arg5 The fifth argument. + */ +#define GUL_INVOKE_ORIGINAL_IMP5(__receivingObject, __swizzledSEL, __returnType, __originalIMP, \ + __arg1, __arg2, __arg3, __arg4, __arg5) \ + ((__returnType(*)(id, SEL, __typeof__(__arg1), __typeof__(__arg2), __typeof__(__arg3), \ + __typeof__(__arg4), __typeof__(__arg5)))__originalIMP)( \ + __receivingObject, __swizzledSEL, __arg1, __arg2, __arg3, __arg4, __arg5) + +/** + * Invokes original IMP when the original selector takes 6 arguments. + * + * @param __receivingObject The object on which the IMP is invoked. + * @param __swizzledSEL The selector used for swizzling. + * @param __returnType The return type of the original implementation. + * @param __originalIMP The original IMP. + * @param __arg1 The first argument. + * @param __arg2 The second argument. + * @param __arg3 The third argument. + * @param __arg4 The fourth argument. + * @param __arg5 The fifth argument. + * @param __arg6 The sixth argument. + */ +#define GUL_INVOKE_ORIGINAL_IMP6(__receivingObject, __swizzledSEL, __returnType, __originalIMP, \ + __arg1, __arg2, __arg3, __arg4, __arg5, __arg6) \ + ((__returnType(*)(id, SEL, __typeof__(__arg1), __typeof__(__arg2), __typeof__(__arg3), \ + __typeof__(__arg4), __typeof__(__arg5), __typeof__(__arg6)))__originalIMP)( \ + __receivingObject, __swizzledSEL, __arg1, __arg2, __arg3, __arg4, __arg5, __arg6) + +/** + * Invokes original IMP when the original selector takes 7 arguments. + * + * @param __receivingObject The object on which the IMP is invoked. + * @param __swizzledSEL The selector used for swizzling. + * @param __returnType The return type of the original implementation. + * @param __originalIMP The original IMP. + * @param __arg1 The first argument. + * @param __arg2 The second argument. + * @param __arg3 The third argument. + * @param __arg4 The fourth argument. + * @param __arg5 The fifth argument. + * @param __arg6 The sixth argument. + * @param __arg7 The seventh argument. + */ +#define GUL_INVOKE_ORIGINAL_IMP7(__receivingObject, __swizzledSEL, __returnType, __originalIMP, \ + __arg1, __arg2, __arg3, __arg4, __arg5, __arg6, __arg7) \ + ((__returnType(*)(id, SEL, __typeof__(__arg1), __typeof__(__arg2), __typeof__(__arg3), \ + __typeof__(__arg4), __typeof__(__arg5), __typeof__(__arg6), \ + __typeof__(__arg7)))__originalIMP)( \ + __receivingObject, __swizzledSEL, __arg1, __arg2, __arg3, __arg4, __arg5, __arg6, __arg7) + +/** + * Invokes original IMP when the original selector takes 8 arguments. + * + * @param __receivingObject The object on which the IMP is invoked. + * @param __swizzledSEL The selector used for swizzling. + * @param __returnType The return type of the original implementation. + * @param __originalIMP The original IMP. + * @param __arg1 The first argument. + * @param __arg2 The second argument. + * @param __arg3 The third argument. + * @param __arg4 The fourth argument. + * @param __arg5 The fifth argument. + * @param __arg6 The sixth argument. + * @param __arg7 The seventh argument. + * @param __arg8 The eighth argument. + */ +#define GUL_INVOKE_ORIGINAL_IMP8(__receivingObject, __swizzledSEL, __returnType, __originalIMP, \ + __arg1, __arg2, __arg3, __arg4, __arg5, __arg6, __arg7, __arg8) \ + ((__returnType(*)(id, SEL, __typeof__(__arg1), __typeof__(__arg2), __typeof__(__arg3), \ + __typeof__(__arg4), __typeof__(__arg5), __typeof__(__arg6), \ + __typeof__(__arg7), __typeof__(__arg8)))__originalIMP)( \ + __receivingObject, __swizzledSEL, __arg1, __arg2, __arg3, __arg4, __arg5, __arg6, __arg7, \ + __arg8) + +/** + * Invokes original IMP when the original selector takes 9 arguments. + * + * @param __receivingObject The object on which the IMP is invoked. + * @param __swizzledSEL The selector used for swizzling. + * @param __returnType The return type of the original implementation. + * @param __originalIMP The original IMP. + * @param __arg1 The first argument. + * @param __arg2 The second argument. + * @param __arg3 The third argument. + * @param __arg4 The fourth argument. + * @param __arg5 The fifth argument. + * @param __arg6 The sixth argument. + * @param __arg7 The seventh argument. + * @param __arg8 The eighth argument. + * @param __arg9 The ninth argument. + */ +#define GUL_INVOKE_ORIGINAL_IMP9(__receivingObject, __swizzledSEL, __returnType, __originalIMP, \ + __arg1, __arg2, __arg3, __arg4, __arg5, __arg6, __arg7, __arg8, \ + __arg9) \ + ((__returnType(*)(id, SEL, __typeof__(__arg1), __typeof__(__arg2), __typeof__(__arg3), \ + __typeof__(__arg4), __typeof__(__arg5), __typeof__(__arg6), \ + __typeof__(__arg7), __typeof__(__arg8), __typeof__(__arg9)))__originalIMP)( \ + __receivingObject, __swizzledSEL, __arg1, __arg2, __arg3, __arg4, __arg5, __arg6, __arg7, \ + __arg8, __arg9) diff --git a/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULReachabilityChecker.h b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULReachabilityChecker.h new file mode 100644 index 0000000..0c70c05 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULReachabilityChecker.h @@ -0,0 +1,79 @@ +/* + * Copyright 2017 Google + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#import +#if !TARGET_OS_WATCH +#import +#endif + +/// Reachability Status +typedef enum { + kGULReachabilityUnknown, ///< Have not yet checked or been notified whether host is reachable. + kGULReachabilityNotReachable, ///< Host is not reachable. + kGULReachabilityViaWifi, ///< Host is reachable via Wifi. + kGULReachabilityViaCellular, ///< Host is reachable via cellular. +} GULReachabilityStatus; + +const NSString *GULReachabilityStatusString(GULReachabilityStatus status); + +@class GULReachabilityChecker; + +/// Google Analytics iOS Reachability Checker. +@protocol GULReachabilityDelegate +@required +/// Called when network status has changed. +- (void)reachability:(GULReachabilityChecker *)reachability + statusChanged:(GULReachabilityStatus)status; +@end + +/// Google Analytics iOS Network Status Checker. +@interface GULReachabilityChecker : NSObject + +/// The last known reachability status, or GULReachabilityStatusUnknown if the +/// checker is not active. +@property(nonatomic, readonly) GULReachabilityStatus reachabilityStatus; +/// The host to which reachability status is to be checked. +@property(nonatomic, copy, readonly) NSString *host; +/// The delegate to be notified of reachability status changes. +@property(nonatomic, weak) id reachabilityDelegate; +/// `YES` if the reachability checker is active, `NO` otherwise. +@property(nonatomic, readonly) BOOL isActive; + +/// Initialize the reachability checker. Note that you must call start to begin checking for and +/// receiving notifications about network status changes. +/// +/// @param reachabilityDelegate The delegate to be notified when reachability status to host +/// changes. +/// +/// @param host The name of the host. +/// +- (instancetype)initWithReachabilityDelegate:(id)reachabilityDelegate + withHost:(NSString *)host; + +- (instancetype)init NS_UNAVAILABLE; + +/// Start checking for reachability to the specified host. This has no effect if the status +/// checker is already checking for connectivity. +/// +/// @return `YES` if initiating status checking was successful or the status checking has already +/// been initiated, `NO` otherwise. +- (BOOL)start; + +/// Stop checking for reachability to the specified host. This has no effect if the status +/// checker is not checking for connectivity. +- (void)stop; + +@end diff --git a/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULSceneDelegateSwizzler.h b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULSceneDelegateSwizzler.h new file mode 100644 index 0000000..ed080a3 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULSceneDelegateSwizzler.h @@ -0,0 +1,76 @@ +/* + * Copyright 2019 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#import +#import + +#if !TARGET_OS_OSX +#import +#endif // !TARGET_OS_OSX + +#if ((TARGET_OS_IOS || TARGET_OS_TV) && (__IPHONE_OS_VERSION_MAX_ALLOWED >= 130000)) +#define UISCENE_SUPPORTED 1 +#endif + +NS_ASSUME_NONNULL_BEGIN + +typedef NSString *const GULSceneDelegateInterceptorID; + +/** This class contains methods that isa swizzle the scene delegate. */ +@interface GULSceneDelegateSwizzler : NSProxy + +#if UISCENE_SUPPORTED + +/** Registers a scene delegate interceptor whose methods will be invoked as they're invoked on the + * original scene delegate. + * + * @param interceptor An instance of a class that conforms to the application delegate protocol. + * The interceptor is NOT retained. + * @return A unique GULSceneDelegateInterceptorID if interceptor was successfully registered; nil + * if it fails. + */ ++ (nullable GULSceneDelegateInterceptorID)registerSceneDelegateInterceptor: + (id)interceptor API_AVAILABLE(ios(13.0), tvos(13.0)); + +/** Unregisters an interceptor with the given ID if it exists. + * + * @param interceptorID The object that was generated when the interceptor was registered. + */ ++ (void)unregisterSceneDelegateInterceptorWithID:(GULSceneDelegateInterceptorID)interceptorID + API_AVAILABLE(ios(13.0), tvos(13.0)); + +/** Do not initialize this class. */ +- (instancetype)init NS_UNAVAILABLE; + +#endif // UISCENE_SUPPORTED + +/** This method ensures that the original scene delegate has been proxied. Call this before + * registering your interceptor. This method is safe to call multiple times (but it only proxies + * the scene delegate once). + * + * The method has no effect for extensions. + */ ++ (void)proxyOriginalSceneDelegate; + +/** Indicates whether scene delegate proxy is explicitly disabled or enabled. Enabled by default. + * + * @return YES if SceneDelegateProxy is Enabled, NO otherwise. + */ ++ (BOOL)isSceneDelegateProxyEnabled; + +@end + +NS_ASSUME_NONNULL_END diff --git a/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULSecureCoding.h b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULSecureCoding.h new file mode 100644 index 0000000..8484b39 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULSecureCoding.h @@ -0,0 +1,36 @@ +// Copyright 2019 Google +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** The class wraps `NSKeyedArchiver` and `NSKeyedUnarchiver` API to provide a unified secure coding + * methods for iOS versions before and after 11. + */ +@interface GULSecureCoding : NSObject + ++ (nullable id)unarchivedObjectOfClasses:(NSSet *)classes + fromData:(NSData *)data + error:(NSError **)outError; + ++ (nullable id)unarchivedObjectOfClass:(Class)class + fromData:(NSData *)data + error:(NSError **)outError; + ++ (nullable NSData *)archivedDataWithRootObject:(id)object error:(NSError **)outError; + +@end + +NS_ASSUME_NONNULL_END diff --git a/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULSwizzler.h b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULSwizzler.h new file mode 100644 index 0000000..26949c8 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULSwizzler.h @@ -0,0 +1,71 @@ +/* + * Copyright 2018 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** This class handles the runtime manipulation necessary to instrument selectors. It stores the + * classes and selectors that have been swizzled, and runs all operations on its own queue. + */ +@interface GULSwizzler : NSObject + +/** Manipulates the Objective-C runtime to replace the original IMP with the supplied block. + * + * @param aClass The class to swizzle. + * @param selector The selector of the class to swizzle. + * @param isClassSelector A BOOL specifying whether the selector is a class or instance selector. + * @param block The block that replaces the original IMP. + */ ++ (void)swizzleClass:(Class)aClass + selector:(SEL)selector + isClassSelector:(BOOL)isClassSelector + withBlock:(nullable id)block; + +/** Returns the current IMP for the given class and selector. + * + * @param aClass The class to use. + * @param selector The selector to find the implementation of. + * @param isClassSelector A BOOL specifying whether the selector is a class or instance selector. + * @return The implementation of the selector in the runtime. + */ ++ (nullable IMP)currentImplementationForClass:(Class)aClass + selector:(SEL)selector + isClassSelector:(BOOL)isClassSelector; + +/** Checks the runtime to see if a selector exists on a class. If a property is declared as + * @dynamic, we have a reverse swizzling situation, where the implementation of a method exists + * only in concrete subclasses, and NOT in the superclass. We can detect that situation using + * this helper method. Similarly, we can detect situations where a class doesn't implement a + * protocol method. + * + * @param selector The selector to check for. + * @param aClass The class to check. + * @param isClassSelector A BOOL specifying whether the selector is a class or instance selector. + * @return YES if the method was found in this selector/class combination, NO otherwise. + */ ++ (BOOL)selector:(SEL)selector existsInClass:(Class)aClass isClassSelector:(BOOL)isClassSelector; + +/** Returns a list of all Objective-C (and not primitive) ivars contained by the given object. + * + * @param object The object whose ivars will be iterated. + * @return The list of ivar objects. + */ ++ (NSArray *)ivarObjectsForObject:(id)object; + +@end + +NS_ASSUME_NONNULL_END diff --git a/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULURLSessionDataResponse.h b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULURLSessionDataResponse.h new file mode 100644 index 0000000..e88eb67 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULURLSessionDataResponse.h @@ -0,0 +1,31 @@ +/* + * Copyright 2020 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** The class represents HTTP response received from `NSURLSession`. */ +@interface GULURLSessionDataResponse : NSObject + +@property(nonatomic, readonly) NSHTTPURLResponse *HTTPResponse; +@property(nonatomic, nullable, readonly) NSData *HTTPBody; + +- (instancetype)initWithResponse:(NSHTTPURLResponse *)response HTTPBody:(nullable NSData *)body; + +@end + +NS_ASSUME_NONNULL_END diff --git a/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULUserDefaults.h b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULUserDefaults.h new file mode 100644 index 0000000..0d04781 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GULUserDefaults.h @@ -0,0 +1,110 @@ +// Copyright 2018 Google +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#import + +NS_ASSUME_NONNULL_BEGIN + +/// A thread-safe user defaults that uses C functions from CFPreferences.h instead of +/// `NSUserDefaults`. This is to avoid sending an `NSNotification` when it's changed from a +/// background thread to avoid crashing. // TODO: Insert radar number here. +@interface GULUserDefaults : NSObject + +/// A shared user defaults similar to +[NSUserDefaults standardUserDefaults] and accesses the same +/// data of the standardUserDefaults. ++ (GULUserDefaults *)standardUserDefaults; + +/// Initializes preferences with a suite name that is the same with the NSUserDefaults' suite name. +/// Both of CFPreferences and NSUserDefaults share the same plist file so their data will exactly +/// the same. +/// +/// @param suiteName The name of the suite of the user defaults. +- (instancetype)initWithSuiteName:(nullable NSString *)suiteName; + +#pragma mark - Getters + +/// Searches the receiver's search list for a default with the key 'defaultName' and return it. If +/// another process has changed defaults in the search list, NSUserDefaults will automatically +/// update to the latest values. If the key in question has been marked as ubiquitous via a Defaults +/// Configuration File, the latest value may not be immediately available, and the registered value +/// will be returned instead. +- (nullable id)objectForKey:(NSString *)defaultName; + +/// Equivalent to -objectForKey:, except that it will return nil if the value is not an NSArray. +- (nullable NSArray *)arrayForKey:(NSString *)defaultName; + +/// Equivalent to -objectForKey:, except that it will return nil if the value +/// is not an NSDictionary. +- (nullable NSDictionary *)dictionaryForKey:(NSString *)defaultName; + +/// Equivalent to -objectForKey:, except that it will convert NSNumber values to their NSString +/// representation. If a non-string non-number value is found, nil will be returned. +- (nullable NSString *)stringForKey:(NSString *)defaultName; + +/// Equivalent to -objectForKey:, except that it converts the returned value to an NSInteger. If the +/// value is an NSNumber, the result of -integerValue will be returned. If the value is an NSString, +/// it will be converted to NSInteger if possible. If the value is a boolean, it will be converted +/// to either 1 for YES or 0 for NO. If the value is absent or can't be converted to an integer, 0 +/// will be returned. +- (NSInteger)integerForKey:(NSString *)defaultName; + +/// Similar to -integerForKey:, except that it returns a float, and boolean values will not be +/// converted. +- (float)floatForKey:(NSString *)defaultName; + +/// Similar to -integerForKey:, except that it returns a double, and boolean values will not be +/// converted. +- (double)doubleForKey:(NSString *)defaultName; + +/// Equivalent to -objectForKey:, except that it converts the returned value to a BOOL. If the value +/// is an NSNumber, NO will be returned if the value is 0, YES otherwise. If the value is an +/// NSString, values of "YES" or "1" will return YES, and values of "NO", "0", or any other string +/// will return NO. If the value is absent or can't be converted to a BOOL, NO will be returned. +- (BOOL)boolForKey:(NSString *)defaultName; + +#pragma mark - Setters + +/// Immediately stores a value (or removes the value if `nil` is passed as the value) for the +/// provided key in the search list entry for the receiver's suite name in the current user and any +/// host, then asynchronously stores the value persistently, where it is made available to other +/// processes. +- (void)setObject:(nullable id)value forKey:(NSString *)defaultName; + +/// Equivalent to -setObject:forKey: except that the value is converted from a float to an NSNumber. +- (void)setFloat:(float)value forKey:(NSString *)defaultName; + +/// Equivalent to -setObject:forKey: except that the value is converted from a double to an +/// NSNumber. +- (void)setDouble:(double)value forKey:(NSString *)defaultName; + +/// Equivalent to -setObject:forKey: except that the value is converted from an NSInteger to an +/// NSNumber. +- (void)setInteger:(NSInteger)value forKey:(NSString *)defaultName; + +/// Equivalent to -setObject:forKey: except that the value is converted from a BOOL to an NSNumber. +- (void)setBool:(BOOL)value forKey:(NSString *)defaultName; + +#pragma mark - Removing Defaults + +/// Equivalent to -[... setObject:nil forKey:defaultName] +- (void)removeObjectForKey:(NSString *)defaultName; + +#pragma mark - Save data + +/// Blocks the calling thread until all in-progress set operations have completed. +- (void)synchronize; + +@end + +NS_ASSUME_NONNULL_END diff --git a/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h new file mode 100644 index 0000000..94dd095 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h @@ -0,0 +1,42 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + +#import "GULAppDelegateSwizzler.h" +#import "GULApplication.h" +#import "GULSceneDelegateSwizzler.h" +#import "GULAppEnvironmentUtil.h" +#import "GULHeartbeatDateStorable.h" +#import "GULHeartbeatDateStorage.h" +#import "GULHeartbeatDateStorageUserDefaults.h" +#import "GULKeychainStorage.h" +#import "GULKeychainUtils.h" +#import "GULNetworkInfo.h" +#import "GULSecureCoding.h" +#import "GULURLSessionDataResponse.h" +#import "NSURLSession+GULPromises.h" +#import "GULLogger.h" +#import "GULLoggerLevel.h" +#import "GULOriginalIMPConvenienceMacros.h" +#import "GULSwizzler.h" +#import "GULNSData+zlib.h" +#import "GULMutableDictionary.h" +#import "GULNetwork.h" +#import "GULNetworkConstants.h" +#import "GULNetworkLoggerProtocol.h" +#import "GULNetworkMessageCode.h" +#import "GULNetworkURLSession.h" +#import "GULReachabilityChecker.h" +#import "GULUserDefaults.h" + +FOUNDATION_EXPORT double GoogleUtilitiesVersionNumber; +FOUNDATION_EXPORT const unsigned char GoogleUtilitiesVersionString[]; + diff --git a/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/NSURLSession+GULPromises.h b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/NSURLSession+GULPromises.h new file mode 100644 index 0000000..7bed005 --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleUtilities.framework/Headers/NSURLSession+GULPromises.h @@ -0,0 +1,37 @@ +/* + * Copyright 2020 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#import + +@class FBLPromise; +@class GULURLSessionDataResponse; + +NS_ASSUME_NONNULL_BEGIN + +/** Promise based API for `NSURLSession`. */ +@interface NSURLSession (GULPromises) + +/** Creates a promise wrapping `-[NSURLSession dataTaskWithRequest:completionHandler:]` method. + * @param URLRequest The request to create a data task with. + * @return A promise that is fulfilled when an HTTP response is received (with any response code), + * or is rejected with the error passed to the task completion. + */ +- (FBLPromise *)gul_dataTaskPromiseWithRequest: + (NSURLRequest *)URLRequest; + +@end + +NS_ASSUME_NONNULL_END diff --git a/plugins/2018.3326/iphone/GoogleUtilities.framework/Info.plist b/plugins/2018.3326/iphone/GoogleUtilities.framework/Info.plist new file mode 100644 index 0000000..8d44a0a Binary files /dev/null and b/plugins/2018.3326/iphone/GoogleUtilities.framework/Info.plist differ diff --git a/plugins/2018.3326/iphone/GoogleUtilities.framework/Modules/module.modulemap b/plugins/2018.3326/iphone/GoogleUtilities.framework/Modules/module.modulemap new file mode 100644 index 0000000..491dd0a --- /dev/null +++ b/plugins/2018.3326/iphone/GoogleUtilities.framework/Modules/module.modulemap @@ -0,0 +1,6 @@ +framework module GoogleUtilities { + umbrella header "GoogleUtilities-umbrella.h" + + export * + module * { export * } +} diff --git a/plugins/2018.3326/iphone/UserMessagingPlatform.framework/.DS_Store b/plugins/2018.3326/iphone/UserMessagingPlatform.framework/.DS_Store new file mode 100644 index 0000000..cafbbd4 Binary files /dev/null and b/plugins/2018.3326/iphone/UserMessagingPlatform.framework/.DS_Store differ diff --git a/plugins/2018.3326/iphone/UserMessagingPlatform.framework/Headers/UMPConsentForm.h b/plugins/2018.3326/iphone/UserMessagingPlatform.framework/Headers/UMPConsentForm.h index 91d8246..c53cfad 100755 --- a/plugins/2018.3326/iphone/UserMessagingPlatform.framework/Headers/UMPConsentForm.h +++ b/plugins/2018.3326/iphone/UserMessagingPlatform.framework/Headers/UMPConsentForm.h @@ -16,6 +16,29 @@ typedef void (^UMPConsentFormPresentCompletionHandler)(NSError *_Nullable error) /// main queue. + (void)loadWithCompletionHandler:(nonnull UMPConsentFormLoadCompletionHandler)completionHandler; +/// Loads a consent form and immediately presents it from the provided viewController if +/// UMPConsentInformation.sharedInstance.consentStatus is UMPConsentStatusRequired. Calls +/// completionHandler after the user selects an option and the form is dismissed, or on the next run +/// loop if no form is presented. Must be called on the main queue. ++ (void)loadAndPresentIfRequiredFromViewController:(nonnull UIViewController *)viewController + completionHandler:(nullable UMPConsentFormPresentCompletionHandler) + completionHandler; + +/// Presents a privacy options form from the provided viewController if +/// UMPConsentInformation.sharedInstance.privacyOptionsRequirementStatus is +/// UMPPrivacyOptionsRequirementStatusRequired. Calls completionHandler with nil error after the +/// user selects an option and the form is dismissed, or on the next run loop with a non-nil error +/// if no form is presented. Must be called on the main queue. +/// +/// This method should only be called in response to a user input to request a privacy options form +/// to be shown. The privacy options form is preloaded by the SDK automatically when a form becomes +/// available. If no form is preloaded, the SDK will invoke the completionHandler on the next run +/// loop, but will asynchronously retry to load one. ++ (void)presentPrivacyOptionsFormFromViewController:(nonnull UIViewController *)viewController + completionHandler: + (nullable UMPConsentFormPresentCompletionHandler) + completionHandler; + /// Unavailable. Use +loadWithCompletionHandler: instead. - (nullable instancetype)init NS_UNAVAILABLE; diff --git a/plugins/2018.3326/iphone/UserMessagingPlatform.framework/Headers/UMPConsentInformation.h b/plugins/2018.3326/iphone/UserMessagingPlatform.framework/Headers/UMPConsentInformation.h index db1b2c0..6b65d81 100755 --- a/plugins/2018.3326/iphone/UserMessagingPlatform.framework/Headers/UMPConsentInformation.h +++ b/plugins/2018.3326/iphone/UserMessagingPlatform.framework/Headers/UMPConsentInformation.h @@ -30,6 +30,17 @@ typedef NS_ENUM(NSInteger, UMPFormStatus) { UMPFormStatusUnavailable = 2, }; +/// State values for whether the user needs to be provided a way to modify their privacy options. +typedef NS_ENUM(NSInteger, UMPPrivacyOptionsRequirementStatus) { + /// Requirement unknown. + UMPPrivacyOptionsRequirementStatusUnknown = 0, + /// A way must be provided for the user to modify their privacy options. + UMPPrivacyOptionsRequirementStatusRequired = 1, + /// User does not need to modify their privacy options. Either consent is not required, or the + /// consent type does not require modification. + UMPPrivacyOptionsRequirementStatusNotRequired = 2, +}; + /// Called when the consent info request completes. Error is nil on success, and non-nil if the /// update failed. typedef void (^UMPConsentInformationUpdateCompletionHandler)(NSError *_Nullable error); @@ -40,15 +51,33 @@ typedef void (^UMPConsentInformationUpdateCompletionHandler)(NSError *_Nullable /// The shared consent information instance. @property(class, nonatomic, readonly, nonnull) UMPConsentInformation *sharedInstance; -/// The user's consent status. This value is cached between app sessions and can be read before -/// requesting updated parameters. +/// The user's consent status. This value defaults to UMPConsentStatusUnknown until +/// requestConsentInfoUpdateWithParameters:completionHandler: is called, and defaults to the +/// previous session's value until |completionHandler| from +/// requestConsentInfoUpdateWithParameters:completionHandler: is called. @property(nonatomic, readonly) UMPConsentStatus consentStatus; +/// Indicates whether the app has completed the necessary steps for gathering updated user consent. +/// Returns NO until requestConsentInfoUpdateWithParameters:completionHandler: is called. Returns +/// YES once requestConsentInfoUpdateWithParameters:completionHandler: is called and when +/// consentStatus is UMPConsentStatusNotRequired or UMPConsentStatusObtained. +@property(nonatomic, readonly) BOOL canRequestAds; + /// Consent form status. This value defaults to UMPFormStatusUnknown and requires a call to -/// requestConsentInfoUpdateWithParameters:completionHandler to update. +/// requestConsentInfoUpdateWithParameters:completionHandler: to update. @property(nonatomic, readonly) UMPFormStatus formStatus; -/// Requests consent information update. Must be called before loading a consent form. +/// Privacy options requirement status. This value defaults to +/// UMPPrivacyOptionsRequirementStatusUnknown until +/// requestConsentInfoUpdateWithParameters:completionHandler: is called, and defaults to the +/// previous session's value until |completionHandler| from +/// requestConsentInfoUpdateWithParameters:completionHandler: is called. +@property(nonatomic, readonly) UMPPrivacyOptionsRequirementStatus privacyOptionsRequirementStatus; + +/// Requests consent information update. Must be called in every app session before checking the +/// user's consentStatus or loading a consent form. After calling this method, consentStatus will be +/// updated synchronously to hold the consent state from the previous app session, if one exists. +/// consentStatus may be updated again immediately before the completion handler is called. - (void)requestConsentInfoUpdateWithParameters:(nullable UMPRequestParameters *)parameters completionHandler: (nonnull UMPConsentInformationUpdateCompletionHandler)handler; diff --git a/plugins/2018.3326/iphone/UserMessagingPlatform.framework/Headers/UMPError.h b/plugins/2018.3326/iphone/UserMessagingPlatform.framework/Headers/UMPError.h index 0fcbbcb..72301a5 100755 --- a/plugins/2018.3326/iphone/UserMessagingPlatform.framework/Headers/UMPError.h +++ b/plugins/2018.3326/iphone/UserMessagingPlatform.framework/Headers/UMPError.h @@ -15,7 +15,9 @@ typedef NS_ENUM(NSInteger, UMPRequestErrorCode) { /// Error codes used when loading and showing forms. typedef NS_ENUM(NSInteger, UMPFormErrorCode) { UMPFormErrorCodeInternal = 5, ///< Internal error. - UMPFormErrorCodeAlreadyUsed = 6, ///< Form was already used. - UMPFormErrorCodeUnavailable = 7, ///< Form is unavailable. + UMPFormErrorCodeAlreadyUsed = 6, ///< Form was already used. + UMPFormErrorCodeUnavailable = 7, ///< Form is unavailable. UMPFormErrorCodeTimeout = 8, ///< Loading a form timed out. + UMPFormErrorCodeInvalidViewController = + 9, ///< Form cannot be presented from the provided view controller. }; diff --git a/plugins/2018.3326/iphone/UserMessagingPlatform.framework/Headers/UMPRequestParameters.h b/plugins/2018.3326/iphone/UserMessagingPlatform.framework/Headers/UMPRequestParameters.h index f3b80f9..3aaab7c 100755 --- a/plugins/2018.3326/iphone/UserMessagingPlatform.framework/Headers/UMPRequestParameters.h +++ b/plugins/2018.3326/iphone/UserMessagingPlatform.framework/Headers/UMPRequestParameters.h @@ -1,7 +1,7 @@ #import /// Parameters sent on updates to user consent info. -@interface UMPRequestParameters : NSObject +@interface UMPRequestParameters : NSObject /// Indicates whether the user is tagged for under age of consent. @property(nonatomic) BOOL tagForUnderAgeOfConsent; diff --git a/plugins/2018.3326/iphone/UserMessagingPlatform.framework/UserMessagingPlatform b/plugins/2018.3326/iphone/UserMessagingPlatform.framework/UserMessagingPlatform index 377876d..96badb2 100755 Binary files a/plugins/2018.3326/iphone/UserMessagingPlatform.framework/UserMessagingPlatform and b/plugins/2018.3326/iphone/UserMessagingPlatform.framework/UserMessagingPlatform differ diff --git a/plugins/2018.3326/iphone/libAPDGoogleAdMobAdapter.a b/plugins/2018.3326/iphone/libAPDGoogleAdMobAdapter.a index 1db7165..379cf40 100644 Binary files a/plugins/2018.3326/iphone/libAPDGoogleAdMobAdapter.a and b/plugins/2018.3326/iphone/libAPDGoogleAdMobAdapter.a differ diff --git a/plugins/2018.3326/iphone/nanopb.framework/.DS_Store b/plugins/2018.3326/iphone/nanopb.framework/.DS_Store new file mode 100644 index 0000000..589cec1 Binary files /dev/null and b/plugins/2018.3326/iphone/nanopb.framework/.DS_Store differ diff --git a/plugins/2018.3326/iphone/nanopb.framework/Headers/nanopb-umbrella.h b/plugins/2018.3326/iphone/nanopb.framework/Headers/nanopb-umbrella.h new file mode 100644 index 0000000..07e77b3 --- /dev/null +++ b/plugins/2018.3326/iphone/nanopb.framework/Headers/nanopb-umbrella.h @@ -0,0 +1,26 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + +#import "pb.h" +#import "pb_common.h" +#import "pb_decode.h" +#import "pb_encode.h" +#import "pb.h" +#import "pb_decode.h" +#import "pb_common.h" +#import "pb.h" +#import "pb_encode.h" +#import "pb_common.h" + +FOUNDATION_EXPORT double nanopbVersionNumber; +FOUNDATION_EXPORT const unsigned char nanopbVersionString[]; + diff --git a/plugins/2018.3326/iphone/nanopb.framework/Headers/pb.h b/plugins/2018.3326/iphone/nanopb.framework/Headers/pb.h new file mode 100644 index 0000000..0a98d3c --- /dev/null +++ b/plugins/2018.3326/iphone/nanopb.framework/Headers/pb.h @@ -0,0 +1,599 @@ +/* Common parts of the nanopb library. Most of these are quite low-level + * stuff. For the high-level interface, see pb_encode.h and pb_decode.h. + */ + +#ifndef PB_H_INCLUDED +#define PB_H_INCLUDED + +/***************************************************************** + * Nanopb compilation time options. You can change these here by * + * uncommenting the lines, or on the compiler command line. * + *****************************************************************/ + +/* Enable support for dynamically allocated fields */ +/* #define PB_ENABLE_MALLOC 1 */ + +/* Define this if your CPU / compiler combination does not support + * unaligned memory access to packed structures. */ +/* #define PB_NO_PACKED_STRUCTS 1 */ + +/* Increase the number of required fields that are tracked. + * A compiler warning will tell if you need this. */ +/* #define PB_MAX_REQUIRED_FIELDS 256 */ + +/* Add support for tag numbers > 255 and fields larger than 255 bytes. */ +/* #define PB_FIELD_16BIT 1 */ + +/* Add support for tag numbers > 65536 and fields larger than 65536 bytes. */ +/* #define PB_FIELD_32BIT 1 */ + +/* Disable support for error messages in order to save some code space. */ +/* #define PB_NO_ERRMSG 1 */ + +/* Disable support for custom streams (support only memory buffers). */ +/* #define PB_BUFFER_ONLY 1 */ + +/* Switch back to the old-style callback function signature. + * This was the default until nanopb-0.2.1. */ +/* #define PB_OLD_CALLBACK_STYLE */ + + +/* Don't encode scalar arrays as packed. This is only to be used when + * the decoder on the receiving side cannot process packed scalar arrays. + * Such example is older protobuf.js. */ +/* #define PB_ENCODE_ARRAYS_UNPACKED 1 */ + +/****************************************************************** + * You usually don't need to change anything below this line. * + * Feel free to look around and use the defined macros, though. * + ******************************************************************/ + + +/* Version of the nanopb library. Just in case you want to check it in + * your own program. */ +#define NANOPB_VERSION nanopb-0.3.9.9 + +/* Include all the system headers needed by nanopb. You will need the + * definitions of the following: + * - strlen, memcpy, memset functions + * - [u]int_least8_t, uint_fast8_t, [u]int_least16_t, [u]int32_t, [u]int64_t + * - size_t + * - bool + * + * If you don't have the standard header files, you can instead provide + * a custom header that defines or includes all this. In that case, + * define PB_SYSTEM_HEADER to the path of this file. + */ +#ifdef PB_SYSTEM_HEADER +#include PB_SYSTEM_HEADER +#else +#include +#include +#include +#include + +#ifdef PB_ENABLE_MALLOC +#include +#endif +#endif + +/* Macro for defining packed structures (compiler dependent). + * This just reduces memory requirements, but is not required. + */ +#if defined(PB_NO_PACKED_STRUCTS) + /* Disable struct packing */ +# define PB_PACKED_STRUCT_START +# define PB_PACKED_STRUCT_END +# define pb_packed +#elif defined(__GNUC__) || defined(__clang__) + /* For GCC and clang */ +# define PB_PACKED_STRUCT_START +# define PB_PACKED_STRUCT_END +# define pb_packed __attribute__((packed)) +#elif defined(__ICCARM__) || defined(__CC_ARM) + /* For IAR ARM and Keil MDK-ARM compilers */ +# define PB_PACKED_STRUCT_START _Pragma("pack(push, 1)") +# define PB_PACKED_STRUCT_END _Pragma("pack(pop)") +# define pb_packed +#elif defined(_MSC_VER) && (_MSC_VER >= 1500) + /* For Microsoft Visual C++ */ +# define PB_PACKED_STRUCT_START __pragma(pack(push, 1)) +# define PB_PACKED_STRUCT_END __pragma(pack(pop)) +# define pb_packed +#else + /* Unknown compiler */ +# define PB_PACKED_STRUCT_START +# define PB_PACKED_STRUCT_END +# define pb_packed +#endif + +/* Handly macro for suppressing unreferenced-parameter compiler warnings. */ +#ifndef PB_UNUSED +#define PB_UNUSED(x) (void)(x) +#endif + +/* Compile-time assertion, used for checking compatible compilation options. + * If this does not work properly on your compiler, use + * #define PB_NO_STATIC_ASSERT to disable it. + * + * But before doing that, check carefully the error message / place where it + * comes from to see if the error has a real cause. Unfortunately the error + * message is not always very clear to read, but you can see the reason better + * in the place where the PB_STATIC_ASSERT macro was called. + */ +#ifndef PB_NO_STATIC_ASSERT +#ifndef PB_STATIC_ASSERT +#define PB_STATIC_ASSERT(COND,MSG) typedef char PB_STATIC_ASSERT_MSG(MSG, __LINE__, __COUNTER__)[(COND)?1:-1]; +#define PB_STATIC_ASSERT_MSG(MSG, LINE, COUNTER) PB_STATIC_ASSERT_MSG_(MSG, LINE, COUNTER) +#define PB_STATIC_ASSERT_MSG_(MSG, LINE, COUNTER) pb_static_assertion_##MSG##LINE##COUNTER +#endif +#else +#define PB_STATIC_ASSERT(COND,MSG) +#endif + +/* Number of required fields to keep track of. */ +#ifndef PB_MAX_REQUIRED_FIELDS +#define PB_MAX_REQUIRED_FIELDS 64 +#endif + +#if PB_MAX_REQUIRED_FIELDS < 64 +#error You should not lower PB_MAX_REQUIRED_FIELDS from the default value (64). +#endif + +/* List of possible field types. These are used in the autogenerated code. + * Least-significant 4 bits tell the scalar type + * Most-significant 4 bits specify repeated/required/packed etc. + */ + +typedef uint_least8_t pb_type_t; + +/**** Field data types ****/ + +/* Numeric types */ +#define PB_LTYPE_BOOL 0x00 /* bool */ +#define PB_LTYPE_VARINT 0x01 /* int32, int64, enum, bool */ +#define PB_LTYPE_UVARINT 0x02 /* uint32, uint64 */ +#define PB_LTYPE_SVARINT 0x03 /* sint32, sint64 */ +#define PB_LTYPE_FIXED32 0x04 /* fixed32, sfixed32, float */ +#define PB_LTYPE_FIXED64 0x05 /* fixed64, sfixed64, double */ + +/* Marker for last packable field type. */ +#define PB_LTYPE_LAST_PACKABLE 0x05 + +/* Byte array with pre-allocated buffer. + * data_size is the length of the allocated PB_BYTES_ARRAY structure. */ +#define PB_LTYPE_BYTES 0x06 + +/* String with pre-allocated buffer. + * data_size is the maximum length. */ +#define PB_LTYPE_STRING 0x07 + +/* Submessage + * submsg_fields is pointer to field descriptions */ +#define PB_LTYPE_SUBMESSAGE 0x08 + +/* Extension pseudo-field + * The field contains a pointer to pb_extension_t */ +#define PB_LTYPE_EXTENSION 0x09 + +/* Byte array with inline, pre-allocated byffer. + * data_size is the length of the inline, allocated buffer. + * This differs from PB_LTYPE_BYTES by defining the element as + * pb_byte_t[data_size] rather than pb_bytes_array_t. */ +#define PB_LTYPE_FIXED_LENGTH_BYTES 0x0A + +/* Number of declared LTYPES */ +#define PB_LTYPES_COUNT 0x0B +#define PB_LTYPE_MASK 0x0F + +/**** Field repetition rules ****/ + +#define PB_HTYPE_REQUIRED 0x00 +#define PB_HTYPE_OPTIONAL 0x10 +#define PB_HTYPE_REPEATED 0x20 +#define PB_HTYPE_ONEOF 0x30 +#define PB_HTYPE_MASK 0x30 + +/**** Field allocation types ****/ + +#define PB_ATYPE_STATIC 0x00 +#define PB_ATYPE_POINTER 0x80 +#define PB_ATYPE_CALLBACK 0x40 +#define PB_ATYPE_MASK 0xC0 + +#define PB_ATYPE(x) ((x) & PB_ATYPE_MASK) +#define PB_HTYPE(x) ((x) & PB_HTYPE_MASK) +#define PB_LTYPE(x) ((x) & PB_LTYPE_MASK) + +/* Data type used for storing sizes of struct fields + * and array counts. + */ +#if defined(PB_FIELD_32BIT) + typedef uint32_t pb_size_t; + typedef int32_t pb_ssize_t; +#elif defined(PB_FIELD_16BIT) + typedef uint_least16_t pb_size_t; + typedef int_least16_t pb_ssize_t; +#else + typedef uint_least8_t pb_size_t; + typedef int_least8_t pb_ssize_t; +#endif +#define PB_SIZE_MAX ((pb_size_t)-1) + +/* Data type for storing encoded data and other byte streams. + * This typedef exists to support platforms where uint8_t does not exist. + * You can regard it as equivalent on uint8_t on other platforms. + */ +typedef uint_least8_t pb_byte_t; + +/* This structure is used in auto-generated constants + * to specify struct fields. + * You can change field sizes if you need structures + * larger than 256 bytes or field tags larger than 256. + * The compiler should complain if your .proto has such + * structures. Fix that by defining PB_FIELD_16BIT or + * PB_FIELD_32BIT. + */ +PB_PACKED_STRUCT_START +typedef struct pb_field_s pb_field_t; +struct pb_field_s { + pb_size_t tag; + pb_type_t type; + pb_size_t data_offset; /* Offset of field data, relative to previous field. */ + pb_ssize_t size_offset; /* Offset of array size or has-boolean, relative to data */ + pb_size_t data_size; /* Data size in bytes for a single item */ + pb_size_t array_size; /* Maximum number of entries in array */ + + /* Field definitions for submessage + * OR default value for all other non-array, non-callback types + * If null, then field will zeroed. */ + const void *ptr; +} pb_packed; +PB_PACKED_STRUCT_END + +/* Make sure that the standard integer types are of the expected sizes. + * Otherwise fixed32/fixed64 fields can break. + * + * If you get errors here, it probably means that your stdint.h is not + * correct for your platform. + */ +#ifndef PB_WITHOUT_64BIT +PB_STATIC_ASSERT(sizeof(int64_t) == 2 * sizeof(int32_t), INT64_T_WRONG_SIZE) +PB_STATIC_ASSERT(sizeof(uint64_t) == 2 * sizeof(uint32_t), UINT64_T_WRONG_SIZE) +#endif + +/* This structure is used for 'bytes' arrays. + * It has the number of bytes in the beginning, and after that an array. + * Note that actual structs used will have a different length of bytes array. + */ +#define PB_BYTES_ARRAY_T(n) struct { pb_size_t size; pb_byte_t bytes[n]; } +#define PB_BYTES_ARRAY_T_ALLOCSIZE(n) ((size_t)n + offsetof(pb_bytes_array_t, bytes)) + +struct pb_bytes_array_s { + pb_size_t size; + pb_byte_t bytes[1]; +}; +typedef struct pb_bytes_array_s pb_bytes_array_t; + +/* This structure is used for giving the callback function. + * It is stored in the message structure and filled in by the method that + * calls pb_decode. + * + * The decoding callback will be given a limited-length stream + * If the wire type was string, the length is the length of the string. + * If the wire type was a varint/fixed32/fixed64, the length is the length + * of the actual value. + * The function may be called multiple times (especially for repeated types, + * but also otherwise if the message happens to contain the field multiple + * times.) + * + * The encoding callback will receive the actual output stream. + * It should write all the data in one call, including the field tag and + * wire type. It can write multiple fields. + * + * The callback can be null if you want to skip a field. + */ +typedef struct pb_istream_s pb_istream_t; +typedef struct pb_ostream_s pb_ostream_t; +typedef struct pb_callback_s pb_callback_t; +struct pb_callback_s { +#ifdef PB_OLD_CALLBACK_STYLE + /* Deprecated since nanopb-0.2.1 */ + union { + bool (*decode)(pb_istream_t *stream, const pb_field_t *field, void *arg); + bool (*encode)(pb_ostream_t *stream, const pb_field_t *field, const void *arg); + } funcs; +#else + /* New function signature, which allows modifying arg contents in callback. */ + union { + bool (*decode)(pb_istream_t *stream, const pb_field_t *field, void **arg); + bool (*encode)(pb_ostream_t *stream, const pb_field_t *field, void * const *arg); + } funcs; +#endif + + /* Free arg for use by callback */ + void *arg; +}; + +/* Wire types. Library user needs these only in encoder callbacks. */ +typedef enum { + PB_WT_VARINT = 0, + PB_WT_64BIT = 1, + PB_WT_STRING = 2, + PB_WT_32BIT = 5 +} pb_wire_type_t; + +/* Structure for defining the handling of unknown/extension fields. + * Usually the pb_extension_type_t structure is automatically generated, + * while the pb_extension_t structure is created by the user. However, + * if you want to catch all unknown fields, you can also create a custom + * pb_extension_type_t with your own callback. + */ +typedef struct pb_extension_type_s pb_extension_type_t; +typedef struct pb_extension_s pb_extension_t; +struct pb_extension_type_s { + /* Called for each unknown field in the message. + * If you handle the field, read off all of its data and return true. + * If you do not handle the field, do not read anything and return true. + * If you run into an error, return false. + * Set to NULL for default handler. + */ + bool (*decode)(pb_istream_t *stream, pb_extension_t *extension, + uint32_t tag, pb_wire_type_t wire_type); + + /* Called once after all regular fields have been encoded. + * If you have something to write, do so and return true. + * If you do not have anything to write, just return true. + * If you run into an error, return false. + * Set to NULL for default handler. + */ + bool (*encode)(pb_ostream_t *stream, const pb_extension_t *extension); + + /* Free field for use by the callback. */ + const void *arg; +}; + +struct pb_extension_s { + /* Type describing the extension field. Usually you'll initialize + * this to a pointer to the automatically generated structure. */ + const pb_extension_type_t *type; + + /* Destination for the decoded data. This must match the datatype + * of the extension field. */ + void *dest; + + /* Pointer to the next extension handler, or NULL. + * If this extension does not match a field, the next handler is + * automatically called. */ + pb_extension_t *next; + + /* The decoder sets this to true if the extension was found. + * Ignored for encoding. */ + bool found; +}; + +/* Memory allocation functions to use. You can define pb_realloc and + * pb_free to custom functions if you want. */ +#ifdef PB_ENABLE_MALLOC +# ifndef pb_realloc +# define pb_realloc(ptr, size) realloc(ptr, size) +# endif +# ifndef pb_free +# define pb_free(ptr) free(ptr) +# endif +#endif + +/* This is used to inform about need to regenerate .pb.h/.pb.c files. */ +#define PB_PROTO_HEADER_VERSION 30 + +/* These macros are used to declare pb_field_t's in the constant array. */ +/* Size of a structure member, in bytes. */ +#define pb_membersize(st, m) (sizeof ((st*)0)->m) +/* Number of entries in an array. */ +#define pb_arraysize(st, m) (pb_membersize(st, m) / pb_membersize(st, m[0])) +/* Delta from start of one member to the start of another member. */ +#define pb_delta(st, m1, m2) ((int)offsetof(st, m1) - (int)offsetof(st, m2)) +/* Marks the end of the field list */ +#define PB_LAST_FIELD {0,(pb_type_t) 0,0,0,0,0,0} + +/* Macros for filling in the data_offset field */ +/* data_offset for first field in a message */ +#define PB_DATAOFFSET_FIRST(st, m1, m2) (offsetof(st, m1)) +/* data_offset for subsequent fields */ +#define PB_DATAOFFSET_OTHER(st, m1, m2) (offsetof(st, m1) - offsetof(st, m2) - pb_membersize(st, m2)) +/* data offset for subsequent fields inside an union (oneof) */ +#define PB_DATAOFFSET_UNION(st, m1, m2) (PB_SIZE_MAX) +/* Choose first/other based on m1 == m2 (deprecated, remains for backwards compatibility) */ +#define PB_DATAOFFSET_CHOOSE(st, m1, m2) (int)(offsetof(st, m1) == offsetof(st, m2) \ + ? PB_DATAOFFSET_FIRST(st, m1, m2) \ + : PB_DATAOFFSET_OTHER(st, m1, m2)) + +/* Required fields are the simplest. They just have delta (padding) from + * previous field end, and the size of the field. Pointer is used for + * submessages and default values. + */ +#define PB_REQUIRED_STATIC(tag, st, m, fd, ltype, ptr) \ + {tag, PB_ATYPE_STATIC | PB_HTYPE_REQUIRED | ltype, \ + fd, 0, pb_membersize(st, m), 0, ptr} + +/* Optional fields add the delta to the has_ variable. */ +#define PB_OPTIONAL_STATIC(tag, st, m, fd, ltype, ptr) \ + {tag, PB_ATYPE_STATIC | PB_HTYPE_OPTIONAL | ltype, \ + fd, \ + pb_delta(st, has_ ## m, m), \ + pb_membersize(st, m), 0, ptr} + +#define PB_SINGULAR_STATIC(tag, st, m, fd, ltype, ptr) \ + {tag, PB_ATYPE_STATIC | PB_HTYPE_OPTIONAL | ltype, \ + fd, 0, pb_membersize(st, m), 0, ptr} + +/* Repeated fields have a _count field and also the maximum number of entries. */ +#define PB_REPEATED_STATIC(tag, st, m, fd, ltype, ptr) \ + {tag, PB_ATYPE_STATIC | PB_HTYPE_REPEATED | ltype, \ + fd, \ + pb_delta(st, m ## _count, m), \ + pb_membersize(st, m[0]), \ + pb_arraysize(st, m), ptr} + +/* Allocated fields carry the size of the actual data, not the pointer */ +#define PB_REQUIRED_POINTER(tag, st, m, fd, ltype, ptr) \ + {tag, PB_ATYPE_POINTER | PB_HTYPE_REQUIRED | ltype, \ + fd, 0, pb_membersize(st, m[0]), 0, ptr} + +/* Optional fields don't need a has_ variable, as information would be redundant */ +#define PB_OPTIONAL_POINTER(tag, st, m, fd, ltype, ptr) \ + {tag, PB_ATYPE_POINTER | PB_HTYPE_OPTIONAL | ltype, \ + fd, 0, pb_membersize(st, m[0]), 0, ptr} + +/* Same as optional fields*/ +#define PB_SINGULAR_POINTER(tag, st, m, fd, ltype, ptr) \ + {tag, PB_ATYPE_POINTER | PB_HTYPE_OPTIONAL | ltype, \ + fd, 0, pb_membersize(st, m[0]), 0, ptr} + +/* Repeated fields have a _count field and a pointer to array of pointers */ +#define PB_REPEATED_POINTER(tag, st, m, fd, ltype, ptr) \ + {tag, PB_ATYPE_POINTER | PB_HTYPE_REPEATED | ltype, \ + fd, pb_delta(st, m ## _count, m), \ + pb_membersize(st, m[0]), 0, ptr} + +/* Callbacks are much like required fields except with special datatype. */ +#define PB_REQUIRED_CALLBACK(tag, st, m, fd, ltype, ptr) \ + {tag, PB_ATYPE_CALLBACK | PB_HTYPE_REQUIRED | ltype, \ + fd, 0, pb_membersize(st, m), 0, ptr} + +#define PB_OPTIONAL_CALLBACK(tag, st, m, fd, ltype, ptr) \ + {tag, PB_ATYPE_CALLBACK | PB_HTYPE_OPTIONAL | ltype, \ + fd, 0, pb_membersize(st, m), 0, ptr} + +#define PB_SINGULAR_CALLBACK(tag, st, m, fd, ltype, ptr) \ + {tag, PB_ATYPE_CALLBACK | PB_HTYPE_OPTIONAL | ltype, \ + fd, 0, pb_membersize(st, m), 0, ptr} + +#define PB_REPEATED_CALLBACK(tag, st, m, fd, ltype, ptr) \ + {tag, PB_ATYPE_CALLBACK | PB_HTYPE_REPEATED | ltype, \ + fd, 0, pb_membersize(st, m), 0, ptr} + +/* Optional extensions don't have the has_ field, as that would be redundant. + * Furthermore, the combination of OPTIONAL without has_ field is used + * for indicating proto3 style fields. Extensions exist in proto2 mode only, + * so they should be encoded according to proto2 rules. To avoid the conflict, + * extensions are marked as REQUIRED instead. + */ +#define PB_OPTEXT_STATIC(tag, st, m, fd, ltype, ptr) \ + {tag, PB_ATYPE_STATIC | PB_HTYPE_REQUIRED | ltype, \ + 0, \ + 0, \ + pb_membersize(st, m), 0, ptr} + +#define PB_OPTEXT_POINTER(tag, st, m, fd, ltype, ptr) \ + PB_OPTIONAL_POINTER(tag, st, m, fd, ltype, ptr) + +#define PB_OPTEXT_CALLBACK(tag, st, m, fd, ltype, ptr) \ + PB_OPTIONAL_CALLBACK(tag, st, m, fd, ltype, ptr) + +/* The mapping from protobuf types to LTYPEs is done using these macros. */ +#define PB_LTYPE_MAP_BOOL PB_LTYPE_BOOL +#define PB_LTYPE_MAP_BYTES PB_LTYPE_BYTES +#define PB_LTYPE_MAP_DOUBLE PB_LTYPE_FIXED64 +#define PB_LTYPE_MAP_ENUM PB_LTYPE_VARINT +#define PB_LTYPE_MAP_UENUM PB_LTYPE_UVARINT +#define PB_LTYPE_MAP_FIXED32 PB_LTYPE_FIXED32 +#define PB_LTYPE_MAP_FIXED64 PB_LTYPE_FIXED64 +#define PB_LTYPE_MAP_FLOAT PB_LTYPE_FIXED32 +#define PB_LTYPE_MAP_INT32 PB_LTYPE_VARINT +#define PB_LTYPE_MAP_INT64 PB_LTYPE_VARINT +#define PB_LTYPE_MAP_MESSAGE PB_LTYPE_SUBMESSAGE +#define PB_LTYPE_MAP_SFIXED32 PB_LTYPE_FIXED32 +#define PB_LTYPE_MAP_SFIXED64 PB_LTYPE_FIXED64 +#define PB_LTYPE_MAP_SINT32 PB_LTYPE_SVARINT +#define PB_LTYPE_MAP_SINT64 PB_LTYPE_SVARINT +#define PB_LTYPE_MAP_STRING PB_LTYPE_STRING +#define PB_LTYPE_MAP_UINT32 PB_LTYPE_UVARINT +#define PB_LTYPE_MAP_UINT64 PB_LTYPE_UVARINT +#define PB_LTYPE_MAP_EXTENSION PB_LTYPE_EXTENSION +#define PB_LTYPE_MAP_FIXED_LENGTH_BYTES PB_LTYPE_FIXED_LENGTH_BYTES + +/* This is the actual macro used in field descriptions. + * It takes these arguments: + * - Field tag number + * - Field type: BOOL, BYTES, DOUBLE, ENUM, UENUM, FIXED32, FIXED64, + * FLOAT, INT32, INT64, MESSAGE, SFIXED32, SFIXED64 + * SINT32, SINT64, STRING, UINT32, UINT64 or EXTENSION + * - Field rules: REQUIRED, OPTIONAL or REPEATED + * - Allocation: STATIC, CALLBACK or POINTER + * - Placement: FIRST or OTHER, depending on if this is the first field in structure. + * - Message name + * - Field name + * - Previous field name (or field name again for first field) + * - Pointer to default value or submsg fields. + */ + +#define PB_FIELD(tag, type, rules, allocation, placement, message, field, prevfield, ptr) \ + PB_ ## rules ## _ ## allocation(tag, message, field, \ + PB_DATAOFFSET_ ## placement(message, field, prevfield), \ + PB_LTYPE_MAP_ ## type, ptr) + +/* Field description for repeated static fixed count fields.*/ +#define PB_REPEATED_FIXED_COUNT(tag, type, placement, message, field, prevfield, ptr) \ + {tag, PB_ATYPE_STATIC | PB_HTYPE_REPEATED | PB_LTYPE_MAP_ ## type, \ + PB_DATAOFFSET_ ## placement(message, field, prevfield), \ + 0, \ + pb_membersize(message, field[0]), \ + pb_arraysize(message, field), ptr} + +/* Field description for oneof fields. This requires taking into account the + * union name also, that's why a separate set of macros is needed. + */ +#define PB_ONEOF_STATIC(u, tag, st, m, fd, ltype, ptr) \ + {tag, PB_ATYPE_STATIC | PB_HTYPE_ONEOF | ltype, \ + fd, pb_delta(st, which_ ## u, u.m), \ + pb_membersize(st, u.m), 0, ptr} + +#define PB_ONEOF_POINTER(u, tag, st, m, fd, ltype, ptr) \ + {tag, PB_ATYPE_POINTER | PB_HTYPE_ONEOF | ltype, \ + fd, pb_delta(st, which_ ## u, u.m), \ + pb_membersize(st, u.m[0]), 0, ptr} + +#define PB_ONEOF_FIELD(union_name, tag, type, rules, allocation, placement, message, field, prevfield, ptr) \ + PB_ONEOF_ ## allocation(union_name, tag, message, field, \ + PB_DATAOFFSET_ ## placement(message, union_name.field, prevfield), \ + PB_LTYPE_MAP_ ## type, ptr) + +#define PB_ANONYMOUS_ONEOF_STATIC(u, tag, st, m, fd, ltype, ptr) \ + {tag, PB_ATYPE_STATIC | PB_HTYPE_ONEOF | ltype, \ + fd, pb_delta(st, which_ ## u, m), \ + pb_membersize(st, m), 0, ptr} + +#define PB_ANONYMOUS_ONEOF_POINTER(u, tag, st, m, fd, ltype, ptr) \ + {tag, PB_ATYPE_POINTER | PB_HTYPE_ONEOF | ltype, \ + fd, pb_delta(st, which_ ## u, m), \ + pb_membersize(st, m[0]), 0, ptr} + +#define PB_ANONYMOUS_ONEOF_FIELD(union_name, tag, type, rules, allocation, placement, message, field, prevfield, ptr) \ + PB_ANONYMOUS_ONEOF_ ## allocation(union_name, tag, message, field, \ + PB_DATAOFFSET_ ## placement(message, field, prevfield), \ + PB_LTYPE_MAP_ ## type, ptr) + +/* These macros are used for giving out error messages. + * They are mostly a debugging aid; the main error information + * is the true/false return value from functions. + * Some code space can be saved by disabling the error + * messages if not used. + * + * PB_SET_ERROR() sets the error message if none has been set yet. + * msg must be a constant string literal. + * PB_GET_ERROR() always returns a pointer to a string. + * PB_RETURN_ERROR() sets the error and returns false from current + * function. + */ +#ifdef PB_NO_ERRMSG +#define PB_SET_ERROR(stream, msg) PB_UNUSED(stream) +#define PB_GET_ERROR(stream) "(errmsg disabled)" +#else +#define PB_SET_ERROR(stream, msg) (stream->errmsg = (stream)->errmsg ? (stream)->errmsg : (msg)) +#define PB_GET_ERROR(stream) ((stream)->errmsg ? (stream)->errmsg : "(none)") +#endif + +#define PB_RETURN_ERROR(stream, msg) return PB_SET_ERROR(stream, msg), false + +#endif diff --git a/plugins/2018.3326/iphone/nanopb.framework/Headers/pb_common.h b/plugins/2018.3326/iphone/nanopb.framework/Headers/pb_common.h new file mode 100644 index 0000000..60b3d37 --- /dev/null +++ b/plugins/2018.3326/iphone/nanopb.framework/Headers/pb_common.h @@ -0,0 +1,42 @@ +/* pb_common.h: Common support functions for pb_encode.c and pb_decode.c. + * These functions are rarely needed by applications directly. + */ + +#ifndef PB_COMMON_H_INCLUDED +#define PB_COMMON_H_INCLUDED + +#include "pb.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Iterator for pb_field_t list */ +struct pb_field_iter_s { + const pb_field_t *start; /* Start of the pb_field_t array */ + const pb_field_t *pos; /* Current position of the iterator */ + unsigned required_field_index; /* Zero-based index that counts only the required fields */ + void *dest_struct; /* Pointer to start of the structure */ + void *pData; /* Pointer to current field value */ + void *pSize; /* Pointer to count/has field */ +}; +typedef struct pb_field_iter_s pb_field_iter_t; + +/* Initialize the field iterator structure to beginning. + * Returns false if the message type is empty. */ +bool pb_field_iter_begin(pb_field_iter_t *iter, const pb_field_t *fields, void *dest_struct); + +/* Advance the iterator to the next field. + * Returns false when the iterator wraps back to the first field. */ +bool pb_field_iter_next(pb_field_iter_t *iter); + +/* Advance the iterator until it points at a field with the given tag. + * Returns false if no such field exists. */ +bool pb_field_iter_find(pb_field_iter_t *iter, uint32_t tag); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif + diff --git a/plugins/2018.3326/iphone/nanopb.framework/Headers/pb_decode.h b/plugins/2018.3326/iphone/nanopb.framework/Headers/pb_decode.h new file mode 100644 index 0000000..3577c20 --- /dev/null +++ b/plugins/2018.3326/iphone/nanopb.framework/Headers/pb_decode.h @@ -0,0 +1,178 @@ +/* pb_decode.h: Functions to decode protocol buffers. Depends on pb_decode.c. + * The main function is pb_decode. You also need an input stream, and the + * field descriptions created by nanopb_generator.py. + */ + +#ifndef PB_DECODE_H_INCLUDED +#define PB_DECODE_H_INCLUDED + +#include "pb.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Structure for defining custom input streams. You will need to provide + * a callback function to read the bytes from your storage, which can be + * for example a file or a network socket. + * + * The callback must conform to these rules: + * + * 1) Return false on IO errors. This will cause decoding to abort. + * 2) You can use state to store your own data (e.g. buffer pointer), + * and rely on pb_read to verify that no-body reads past bytes_left. + * 3) Your callback may be used with substreams, in which case bytes_left + * is different than from the main stream. Don't use bytes_left to compute + * any pointers. + */ +struct pb_istream_s +{ +#ifdef PB_BUFFER_ONLY + /* Callback pointer is not used in buffer-only configuration. + * Having an int pointer here allows binary compatibility but + * gives an error if someone tries to assign callback function. + */ + int *callback; +#else + bool (*callback)(pb_istream_t *stream, pb_byte_t *buf, size_t count); +#endif + + void *state; /* Free field for use by callback implementation */ + size_t bytes_left; + +#ifndef PB_NO_ERRMSG + const char *errmsg; +#endif +}; + +/*************************** + * Main decoding functions * + ***************************/ + +/* Decode a single protocol buffers message from input stream into a C structure. + * Returns true on success, false on any failure. + * The actual struct pointed to by dest must match the description in fields. + * Callback fields of the destination structure must be initialized by caller. + * All other fields will be initialized by this function. + * + * Example usage: + * MyMessage msg = {}; + * uint8_t buffer[64]; + * pb_istream_t stream; + * + * // ... read some data into buffer ... + * + * stream = pb_istream_from_buffer(buffer, count); + * pb_decode(&stream, MyMessage_fields, &msg); + */ +bool pb_decode(pb_istream_t *stream, const pb_field_t fields[], void *dest_struct); + +/* Same as pb_decode, except does not initialize the destination structure + * to default values. This is slightly faster if you need no default values + * and just do memset(struct, 0, sizeof(struct)) yourself. + * + * This can also be used for 'merging' two messages, i.e. update only the + * fields that exist in the new message. + * + * Note: If this function returns with an error, it will not release any + * dynamically allocated fields. You will need to call pb_release() yourself. + */ +bool pb_decode_noinit(pb_istream_t *stream, const pb_field_t fields[], void *dest_struct); + +/* Same as pb_decode, except expects the stream to start with the message size + * encoded as varint. Corresponds to parseDelimitedFrom() in Google's + * protobuf API. + */ +bool pb_decode_delimited(pb_istream_t *stream, const pb_field_t fields[], void *dest_struct); + +/* Same as pb_decode_delimited, except that it does not initialize the destination structure. + * See pb_decode_noinit + */ +bool pb_decode_delimited_noinit(pb_istream_t *stream, const pb_field_t fields[], void *dest_struct); + +/* Same as pb_decode, except allows the message to be terminated with a null byte. + * NOTE: Until nanopb-0.4.0, pb_decode() also allows null-termination. This behaviour + * is not supported in most other protobuf implementations, so pb_decode_delimited() + * is a better option for compatibility. + */ +bool pb_decode_nullterminated(pb_istream_t *stream, const pb_field_t fields[], void *dest_struct); + +#ifdef PB_ENABLE_MALLOC +/* Release any allocated pointer fields. If you use dynamic allocation, you should + * call this for any successfully decoded message when you are done with it. If + * pb_decode() returns with an error, the message is already released. + */ +void pb_release(const pb_field_t fields[], void *dest_struct); +#endif + + +/************************************** + * Functions for manipulating streams * + **************************************/ + +/* Create an input stream for reading from a memory buffer. + * + * Alternatively, you can use a custom stream that reads directly from e.g. + * a file or a network socket. + */ +pb_istream_t pb_istream_from_buffer(const pb_byte_t *buf, size_t bufsize); + +/* Function to read from a pb_istream_t. You can use this if you need to + * read some custom header data, or to read data in field callbacks. + */ +bool pb_read(pb_istream_t *stream, pb_byte_t *buf, size_t count); + + +/************************************************ + * Helper functions for writing field callbacks * + ************************************************/ + +/* Decode the tag for the next field in the stream. Gives the wire type and + * field tag. At end of the message, returns false and sets eof to true. */ +bool pb_decode_tag(pb_istream_t *stream, pb_wire_type_t *wire_type, uint32_t *tag, bool *eof); + +/* Skip the field payload data, given the wire type. */ +bool pb_skip_field(pb_istream_t *stream, pb_wire_type_t wire_type); + +/* Decode an integer in the varint format. This works for enum, int32, + * int64, uint32 and uint64 field types. */ +#ifndef PB_WITHOUT_64BIT +bool pb_decode_varint(pb_istream_t *stream, uint64_t *dest); +#else +#define pb_decode_varint pb_decode_varint32 +#endif + +/* Decode an integer in the varint format. This works for enum, int32, + * and uint32 field types. */ +bool pb_decode_varint32(pb_istream_t *stream, uint32_t *dest); + +/* Decode a bool value in varint format. */ +bool pb_decode_bool(pb_istream_t *stream, bool *dest); + +/* Decode an integer in the zig-zagged svarint format. This works for sint32 + * and sint64. */ +#ifndef PB_WITHOUT_64BIT +bool pb_decode_svarint(pb_istream_t *stream, int64_t *dest); +#else +bool pb_decode_svarint(pb_istream_t *stream, int32_t *dest); +#endif + +/* Decode a fixed32, sfixed32 or float value. You need to pass a pointer to + * a 4-byte wide C variable. */ +bool pb_decode_fixed32(pb_istream_t *stream, void *dest); + +#ifndef PB_WITHOUT_64BIT +/* Decode a fixed64, sfixed64 or double value. You need to pass a pointer to + * a 8-byte wide C variable. */ +bool pb_decode_fixed64(pb_istream_t *stream, void *dest); +#endif + +/* Make a limited-length substream for reading a PB_WT_STRING field. */ +bool pb_make_string_substream(pb_istream_t *stream, pb_istream_t *substream); +bool pb_close_string_substream(pb_istream_t *stream, pb_istream_t *substream); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif diff --git a/plugins/2018.3326/iphone/nanopb.framework/Headers/pb_encode.h b/plugins/2018.3326/iphone/nanopb.framework/Headers/pb_encode.h new file mode 100644 index 0000000..b1d822f --- /dev/null +++ b/plugins/2018.3326/iphone/nanopb.framework/Headers/pb_encode.h @@ -0,0 +1,170 @@ +/* pb_encode.h: Functions to encode protocol buffers. Depends on pb_encode.c. + * The main function is pb_encode. You also need an output stream, and the + * field descriptions created by nanopb_generator.py. + */ + +#ifndef PB_ENCODE_H_INCLUDED +#define PB_ENCODE_H_INCLUDED + +#include "pb.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Structure for defining custom output streams. You will need to provide + * a callback function to write the bytes to your storage, which can be + * for example a file or a network socket. + * + * The callback must conform to these rules: + * + * 1) Return false on IO errors. This will cause encoding to abort. + * 2) You can use state to store your own data (e.g. buffer pointer). + * 3) pb_write will update bytes_written after your callback runs. + * 4) Substreams will modify max_size and bytes_written. Don't use them + * to calculate any pointers. + */ +struct pb_ostream_s +{ +#ifdef PB_BUFFER_ONLY + /* Callback pointer is not used in buffer-only configuration. + * Having an int pointer here allows binary compatibility but + * gives an error if someone tries to assign callback function. + * Also, NULL pointer marks a 'sizing stream' that does not + * write anything. + */ + int *callback; +#else + bool (*callback)(pb_ostream_t *stream, const pb_byte_t *buf, size_t count); +#endif + void *state; /* Free field for use by callback implementation. */ + size_t max_size; /* Limit number of output bytes written (or use SIZE_MAX). */ + size_t bytes_written; /* Number of bytes written so far. */ + +#ifndef PB_NO_ERRMSG + const char *errmsg; +#endif +}; + +/*************************** + * Main encoding functions * + ***************************/ + +/* Encode a single protocol buffers message from C structure into a stream. + * Returns true on success, false on any failure. + * The actual struct pointed to by src_struct must match the description in fields. + * All required fields in the struct are assumed to have been filled in. + * + * Example usage: + * MyMessage msg = {}; + * uint8_t buffer[64]; + * pb_ostream_t stream; + * + * msg.field1 = 42; + * stream = pb_ostream_from_buffer(buffer, sizeof(buffer)); + * pb_encode(&stream, MyMessage_fields, &msg); + */ +bool pb_encode(pb_ostream_t *stream, const pb_field_t fields[], const void *src_struct); + +/* Same as pb_encode, but prepends the length of the message as a varint. + * Corresponds to writeDelimitedTo() in Google's protobuf API. + */ +bool pb_encode_delimited(pb_ostream_t *stream, const pb_field_t fields[], const void *src_struct); + +/* Same as pb_encode, but appends a null byte to the message for termination. + * NOTE: This behaviour is not supported in most other protobuf implementations, so pb_encode_delimited() + * is a better option for compatibility. + */ +bool pb_encode_nullterminated(pb_ostream_t *stream, const pb_field_t fields[], const void *src_struct); + +/* Encode the message to get the size of the encoded data, but do not store + * the data. */ +bool pb_get_encoded_size(size_t *size, const pb_field_t fields[], const void *src_struct); + +/************************************** + * Functions for manipulating streams * + **************************************/ + +/* Create an output stream for writing into a memory buffer. + * The number of bytes written can be found in stream.bytes_written after + * encoding the message. + * + * Alternatively, you can use a custom stream that writes directly to e.g. + * a file or a network socket. + */ +pb_ostream_t pb_ostream_from_buffer(pb_byte_t *buf, size_t bufsize); + +/* Pseudo-stream for measuring the size of a message without actually storing + * the encoded data. + * + * Example usage: + * MyMessage msg = {}; + * pb_ostream_t stream = PB_OSTREAM_SIZING; + * pb_encode(&stream, MyMessage_fields, &msg); + * printf("Message size is %d\n", stream.bytes_written); + */ +#ifndef PB_NO_ERRMSG +#define PB_OSTREAM_SIZING {0,0,0,0,0} +#else +#define PB_OSTREAM_SIZING {0,0,0,0} +#endif + +/* Function to write into a pb_ostream_t stream. You can use this if you need + * to append or prepend some custom headers to the message. + */ +bool pb_write(pb_ostream_t *stream, const pb_byte_t *buf, size_t count); + + +/************************************************ + * Helper functions for writing field callbacks * + ************************************************/ + +/* Encode field header based on type and field number defined in the field + * structure. Call this from the callback before writing out field contents. */ +bool pb_encode_tag_for_field(pb_ostream_t *stream, const pb_field_t *field); + +/* Encode field header by manually specifying wire type. You need to use this + * if you want to write out packed arrays from a callback field. */ +bool pb_encode_tag(pb_ostream_t *stream, pb_wire_type_t wiretype, uint32_t field_number); + +/* Encode an integer in the varint format. + * This works for bool, enum, int32, int64, uint32 and uint64 field types. */ +#ifndef PB_WITHOUT_64BIT +bool pb_encode_varint(pb_ostream_t *stream, uint64_t value); +#else +bool pb_encode_varint(pb_ostream_t *stream, uint32_t value); +#endif + +/* Encode an integer in the zig-zagged svarint format. + * This works for sint32 and sint64. */ +#ifndef PB_WITHOUT_64BIT +bool pb_encode_svarint(pb_ostream_t *stream, int64_t value); +#else +bool pb_encode_svarint(pb_ostream_t *stream, int32_t value); +#endif + +/* Encode a string or bytes type field. For strings, pass strlen(s) as size. */ +bool pb_encode_string(pb_ostream_t *stream, const pb_byte_t *buffer, size_t size); + +/* Encode a fixed32, sfixed32 or float value. + * You need to pass a pointer to a 4-byte wide C variable. */ +bool pb_encode_fixed32(pb_ostream_t *stream, const void *value); + +#ifndef PB_WITHOUT_64BIT +/* Encode a fixed64, sfixed64 or double value. + * You need to pass a pointer to a 8-byte wide C variable. */ +bool pb_encode_fixed64(pb_ostream_t *stream, const void *value); +#endif + +/* Encode a submessage field. + * You need to pass the pb_field_t array and pointer to struct, just like + * with pb_encode(). This internally encodes the submessage twice, first to + * calculate message size and then to actually write it out. + */ +bool pb_encode_submessage(pb_ostream_t *stream, const pb_field_t fields[], const void *src_struct); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif diff --git a/plugins/2018.3326/iphone/nanopb.framework/Info.plist b/plugins/2018.3326/iphone/nanopb.framework/Info.plist new file mode 100644 index 0000000..7bf8faf Binary files /dev/null and b/plugins/2018.3326/iphone/nanopb.framework/Info.plist differ diff --git a/plugins/2018.3326/iphone/nanopb.framework/Modules/module.modulemap b/plugins/2018.3326/iphone/nanopb.framework/Modules/module.modulemap new file mode 100644 index 0000000..e8d4b53 --- /dev/null +++ b/plugins/2018.3326/iphone/nanopb.framework/Modules/module.modulemap @@ -0,0 +1,6 @@ +framework module nanopb { + umbrella header "nanopb-umbrella.h" + + export * + module * { export * } +} diff --git a/plugins/2018.3326/iphone/nanopb.framework/nanopb b/plugins/2018.3326/iphone/nanopb.framework/nanopb new file mode 100644 index 0000000..e93096d Binary files /dev/null and b/plugins/2018.3326/iphone/nanopb.framework/nanopb differ diff --git a/plugins/2018.3326/iphone/resources/Frameworks/FBLPromises.framework/FBLPromises b/plugins/2018.3326/iphone/resources/Frameworks/FBLPromises.framework/FBLPromises deleted file mode 100755 index e38cef5..0000000 Binary files a/plugins/2018.3326/iphone/resources/Frameworks/FBLPromises.framework/FBLPromises and /dev/null differ diff --git a/plugins/2018.3326/iphone/resources/Frameworks/FBLPromises.framework/Info.plist b/plugins/2018.3326/iphone/resources/Frameworks/FBLPromises.framework/Info.plist deleted file mode 100644 index 7bb2cdf..0000000 Binary files a/plugins/2018.3326/iphone/resources/Frameworks/FBLPromises.framework/Info.plist and /dev/null differ diff --git a/plugins/2018.3326/iphone/resources/Frameworks/GoogleUtilities.framework/GoogleUtilities b/plugins/2018.3326/iphone/resources/Frameworks/GoogleUtilities.framework/GoogleUtilities deleted file mode 100755 index b5f870f..0000000 Binary files a/plugins/2018.3326/iphone/resources/Frameworks/GoogleUtilities.framework/GoogleUtilities and /dev/null differ diff --git a/plugins/2018.3326/iphone/resources/Frameworks/GoogleUtilities.framework/Info.plist b/plugins/2018.3326/iphone/resources/Frameworks/GoogleUtilities.framework/Info.plist deleted file mode 100644 index 39e874b..0000000 Binary files a/plugins/2018.3326/iphone/resources/Frameworks/GoogleUtilities.framework/Info.plist and /dev/null differ diff --git a/plugins/2018.3326/iphone/resources/Frameworks/nanopb.framework/Info.plist b/plugins/2018.3326/iphone/resources/Frameworks/nanopb.framework/Info.plist deleted file mode 100644 index dce4d1c..0000000 Binary files a/plugins/2018.3326/iphone/resources/Frameworks/nanopb.framework/Info.plist and /dev/null differ diff --git a/plugins/2018.3326/iphone/resources/Frameworks/nanopb.framework/nanopb b/plugins/2018.3326/iphone/resources/Frameworks/nanopb.framework/nanopb deleted file mode 100755 index 18c78b3..0000000 Binary files a/plugins/2018.3326/iphone/resources/Frameworks/nanopb.framework/nanopb and /dev/null differ