Summary: Achieving API parity with C++ and Android. Reviewed By: lblasa Differential Revision: D31921830 fbshipit-source-id: 873901107fc3c53166fa7bbaaff65ebdb0e53c2a
60 lines
1.6 KiB
Objective-C
60 lines
1.6 KiB
Objective-C
/*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
|
|
#import "FlipperConnectionMock.h"
|
|
|
|
@implementation FlipperConnectionMock
|
|
|
|
- (instancetype)init {
|
|
if (self = [super init]) {
|
|
_connected = YES;
|
|
_receivers = @{};
|
|
_sent = @{};
|
|
_sentWithArray = @{};
|
|
}
|
|
return self;
|
|
}
|
|
|
|
- (void)sendInternal:(NSString*)method
|
|
withParams:(id)params
|
|
loggedTo:(NSDictionary* __strong*)sentLog {
|
|
if (_connected) {
|
|
NSMutableDictionary* newSentLog = [NSMutableDictionary new];
|
|
[newSentLog addEntriesFromDictionary:*sentLog];
|
|
if (newSentLog[method]) {
|
|
newSentLog[method] = [(*sentLog)[method] arrayByAddingObject:params];
|
|
} else {
|
|
newSentLog[method] = @[ params ];
|
|
}
|
|
*sentLog = newSentLog;
|
|
}
|
|
}
|
|
|
|
- (void)send:(NSString*)method withParams:(NSDictionary*)params {
|
|
[self sendInternal:method withParams:params loggedTo:&_sent];
|
|
}
|
|
|
|
- (void)send:(NSString*)method withArrayParams:(NSArray*)params {
|
|
[self sendInternal:method withParams:params loggedTo:&_sentWithArray];
|
|
}
|
|
|
|
- (void)receive:(NSString*)method withBlock:(SonarReceiver)receiver {
|
|
if (_connected) {
|
|
NSMutableDictionary* newReceivers = [NSMutableDictionary new];
|
|
[newReceivers addEntriesFromDictionary:_receivers];
|
|
newReceivers[method] = receiver;
|
|
_receivers = newReceivers;
|
|
}
|
|
}
|
|
|
|
- (void)errorWithMessage:(NSString*)message stackTrace:(NSString*)stacktrace {
|
|
// Empty Implementation
|
|
// TODO: Test this method too.
|
|
}
|
|
|
|
@end
|