NCSignalingController.h 970 B

123456789101112131415161718192021222324252627282930313233
  1. /**
  2. * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
  3. * SPDX-License-Identifier: GPL-3.0-or-later
  4. */
  5. #import <Foundation/Foundation.h>
  6. #import "NCRoom.h"
  7. #import "NCSignalingMessage.h"
  8. @class NCSignalingController;
  9. @class SignalingSettings;
  10. @protocol NCSignalingControllerObserver <NSObject>
  11. - (void)signalingController:(NCSignalingController *)signalingController didReceiveSignalingMessage:(NSDictionary *)message;
  12. @end
  13. typedef void (^SignalingSettingsUpdatedCompletionBlock)(SignalingSettings *signalingSettings);
  14. @interface NCSignalingController : NSObject
  15. @property (nonatomic, weak) id<NCSignalingControllerObserver> observer;
  16. - (instancetype)initForRoom:(NCRoom *)room;
  17. - (NSArray *)getIceServers;
  18. - (void)startPullingSignalingMessages;
  19. - (void)sendSignalingMessage:(NCSignalingMessage *)message;
  20. - (void)stopAllRequests;
  21. - (void)updateSignalingSettingsWithCompletionBlock:(SignalingSettingsUpdatedCompletionBlock)block;
  22. @end