//
// © 2018-2020 Qualcomm Technologies, Inc. and/or its subsidiaries. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "IoTTransport.h"
#import "MockDispatcher.h"

typedef void(^MockTransportDidBeginServiceScan)(NSSet<NSString *> * types,
                                                IoTTransportServiceDiscoveredCallback callback,
                                                dispatch_queue_t queue);

typedef void(^MockTransportDidBeginResourceScan)(NSString *host,
                                                 NSString *uriPrefix,
                                                 IoTTransportResourceDiscoveredCallback callback,
                                                 dispatch_queue_t queue);

@interface MockTransport : NSObject <IoTTransport>

// All callbacks are on non-main queue
@property (nonatomic, copy) MockTransportDidBeginServiceScan serviceScanCallback;
@property (nonatomic, copy) MockTransportDidBeginResourceScan resourceScanCallback;

@property (nonatomic, copy) MockDispatcherDidConfigure dispatcherDidConfigureCallback;
@property (nonatomic, copy) MockDispatcherDidGetResource dispatcherGetCallback;
@property (nonatomic, copy) MockDispatcherDidPostResource dispatcherPostCallback;
@property (nonatomic, copy) MockDispatcherDidObserveResourceChange dispatcherObserveCallback;

@end
