diff --git a/kordophone/Bridge/Operations/MBIMSendMessageOperation.m b/kordophone/Bridge/Operations/MBIMSendMessageOperation.m index 3e641a9..2f28444 100644 --- a/kordophone/Bridge/Operations/MBIMSendMessageOperation.m +++ b/kordophone/Bridge/Operations/MBIMSendMessageOperation.m @@ -19,9 +19,9 @@ return @"sendMessage"; } -- (BOOL)_sendMessage:(NSString *)messageBody toChatWithGUID:(NSString *)chatGUID attachmentGUIDs:(NSArray *)guids +- (IMMessage *)_sendMessage:(NSString *)messageBody toChatWithGUID:(NSString *)chatGUID attachmentGUIDs:(NSArray *)guids { - __block BOOL result = YES; + __block IMMessage *result = nil; dispatch_sync([[self class] sharedIMAccessQueue], ^{ IMChat *chat = [[IMChatRegistry sharedInstance] existingChatWithGUID:chatGUID]; @@ -44,8 +44,9 @@ if (!chat) { MBIMLogInfo(@"Chat does not exist: %@", chatGUID); - result = NO; } else { + result = reply; + dispatch_async(dispatch_get_main_queue(), ^{ [chat sendMessage:reply]; }); @@ -78,9 +79,11 @@ transferGUIDs = @[]; } - BOOL result = [self _sendMessage:messageBody toChatWithGUID:guid attachmentGUIDs:transferGUIDs]; + IMMessage *result = [self _sendMessage:messageBody toChatWithGUID:guid attachmentGUIDs:transferGUIDs]; if (result) { - response = [[HTTPErrorResponse alloc] initWithErrorCode:200]; + response = [MBIMJSONDataResponse responseWithJSONObject:@{ + @"guid" : [result guid] + }]; } self.serverCompletionBlock(response);