ANatsSignalChannel.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. //
  2. // Header.h
  3. // WebRTCDemo
  4. //
  5. // Created by 朱珠令 on 2024/5/7.
  6. //
  7. #ifndef ASignalChannel_h
  8. #define ASignalChannel_h
  9. #import <Foundation/Foundation.h>
  10. #import <WebRTC/RTCMacros.h>
  11. typedef void (^responseBlock)(int status, NSString * _Nullable msg);
  12. RTC_OBJC_EXPORT
  13. @protocol RTC_OBJC_TYPE(ANatsSignalChannelDelegate) <NSObject>
  14. -(void) connectionDisconnect;
  15. -(void) connectionErrorStatus:(int)status;
  16. -(void)asyncSignalResponse:(nonnull NSString*)msg;
  17. @end
  18. RTC_OBJC_EXPORT
  19. @interface RTC_OBJC_TYPE(ANatsSignalChannel) : NSObject
  20. @property (nonatomic, weak) _Nullable id <ANatsSignalChannelDelegate> delegate;
  21. + (_Nonnull instancetype)shardInstance;
  22. - (int)connectSignalWithUrl:(nonnull NSString *)url sn:(nonnull NSString *)sn name:(nonnull NSString *)name;
  23. - (int)closeSignal;
  24. - (int)sendAsyncSignalData:(nonnull NSString *)data;
  25. - (int)sendSyncSignalData:(nonnull NSString *)data timeout:(int)timeout/*ms*/ responseBlock:(responseBlock _Nullable )responseBlock;
  26. @end
  27. #endif /* ASignalChannel_h */