| // Copyright 2013 The Flutter Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #import <Flutter/Flutter.h> |
| |
| NS_ASSUME_NONNULL_BEGIN |
| |
| /** |
| * A thread safe wrapper for FlutterEventChannel that can be called from any thread, by dispatching |
| * its underlying engine calls to the main thread. |
| */ |
| @interface FLTThreadSafeEventChannel : NSObject |
| |
| /** |
| * Creates a FLTThreadSafeEventChannel by wrapping a FlutterEventChannel object. |
| * @param channel The FlutterEventChannel object to be wrapped. |
| */ |
| - (instancetype)initWithEventChannel:(FlutterEventChannel *)channel; |
| |
| /* |
| * Registers a handler on the main thread for stream setup requests from the Flutter side. |
| # The completion block runs on the main thread. |
| */ |
| - (void)setStreamHandler:(nullable NSObject<FlutterStreamHandler> *)handler |
| completion:(void (^)(void))completion; |
| |
| @end |
| |
| NS_ASSUME_NONNULL_END |