talk-ios/NextcloudTalk/WSMessage.h

44 строки
1.5 KiB
Objective-C

/**
* @copyright Copyright (c) 2022 Ivan Sein <ivan@nextcloud.com>
*
* @author Ivan Sein <ivan@nextcloud.com>
*
* @license GNU GPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#import <Foundation/Foundation.h>
#import "NCExternalSignalingController.h"
@interface WSMessage : NSObject
@property (nonatomic, copy) NSString *messageId;
@property (nonatomic, copy) NSDictionary *message;
@property (nonatomic, copy) SendMessageCompletionBlock completionBlock;
- (instancetype)initWithMessage:(NSDictionary *)message;
- (instancetype)initWithMessage:(NSDictionary *)message withCompletionBlock:(SendMessageCompletionBlock)block;
- (NSString *)webSocketMessage;
- (BOOL)isHelloMessage;
- (BOOL)isJoinMessage;
- (void)setMessageTimeout;
- (void)ignoreCompletionBlock;
- (void)executeCompletionBlockWithStatus:(NCExternalSignalingSendMessageStatus)status;
- (void)sendMessageWithWebSocket:(NSURLSessionWebSocketTask *)webSocketTask;
@end