WhiteRoomCallbacks.h 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. //
  2. // WhiteNativeApi.h
  3. // Pods
  4. //
  5. // Created by leavesster on 2018/8/12.
  6. //
  7. #import <Foundation/Foundation.h>
  8. #pragma mark - ENUM
  9. /**
  10. 房间连接状态。
  11. */
  12. typedef NS_ENUM(NSInteger, WhiteRoomPhase) {
  13. /**
  14. 连接中。
  15. */
  16. WhiteRoomPhaseConnecting,
  17. /**
  18. 已连接。
  19. */
  20. WhiteRoomPhaseConnected,
  21. /**
  22. 正在重连。
  23. */
  24. WhiteRoomPhaseReconnecting,
  25. /**
  26. 正在断开连接。
  27. */
  28. WhiteRoomPhaseDisconnecting,
  29. /**
  30. 已经断开连接。
  31. */
  32. WhiteRoomPhaseDisconnected,
  33. };
  34. @class WhiteRoomState, WhiteEvent;
  35. /** 房间事件回调。*/
  36. @protocol WhiteRoomCallbackDelegate <NSObject>
  37. @optional
  38. /** 房间连接状态发生变化回调。
  39. @param phase 房间的连接状态,详见 [WhiteRoomPhase](WhiteRoomPhase)。
  40. */
  41. - (void)firePhaseChanged:(WhiteRoomPhase)phase;
  42. /**
  43. 房间状态属性发生变化回调。
  44. 该回调仅返回发生变化的房间状态属性,未发生变化的房间状态字段,均为空。
  45. @param modifyState 发生变化的房间状态属性,详见 [WhiteRoomState](WhiteRoomState)。
  46. */
  47. - (void)fireRoomStateChanged:(WhiteRoomState *)modifyState;
  48. /**
  49. 白板 SDK 与白板服务器连接中断回调。
  50. @param error 错误信息。
  51. */
  52. - (void)fireDisconnectWithError:(NSString *)error;
  53. /**
  54. 用户被服务器移出房间回调。
  55. @param reason 用户被移除房间的原因。
  56. */
  57. - (void)fireKickedWithReason:(NSString *)reason;
  58. /**
  59. 同步用户行为发生错误回调。
  60. **Note:** 该回调通常是可以忽略的,你可以根据业务情况自行决定是否监听。
  61. @param userId 用户 ID。
  62. @param error 错误原因。
  63. */
  64. - (void)fireCatchErrorWhenAppendFrame:(NSUInteger)userId error:(NSString *)error;
  65. /**
  66. 可撤销次数发生变化回调。
  67. 当本地用户调用 [undo](undo) 撤销上一步操作时,会触发该回调,报告剩余的可撤销次数。
  68. @param canUndoSteps 剩余的可撤销次数。
  69. */
  70. - (void)fireCanUndoStepsUpdate:(NSInteger)canUndoSteps;
  71. /**
  72. 可重做次数发生变化回调。
  73. 当本地用户调用 [redo](redo) 重做上一步操作时,会触发该回调,报告剩余的可重做次数。
  74. @param canRedoSteps 剩余的可重做次数。
  75. */
  76. - (void)fireCanRedoStepsUpdate:(NSInteger)canRedoSteps;
  77. /**
  78. 白板自定义事件回调。
  79. @param event 自定义事件。详见 [WhiteEvent](WhiteEvent)。
  80. */
  81. - (void)fireMagixEvent:(WhiteEvent *)event;
  82. /**
  83. 高频自定义事件一次性回调。
  84. @param events 高频自定义事件。详见 [WhiteEvent](WhiteEvent)。
  85. */
  86. - (void)fireHighFrequencyEvent:(NSArray<WhiteEvent *>*)events;
  87. /** SyncedStoreState 更新时间,state 为 SyncedState 的全部内容 */
  88. - (void)fireAttributesUpdate:(NSDictionary *)state;
  89. @end
  90. #pragma mark - WhiteRoomCallbacks
  91. /** 房间事件回调。 */
  92. @interface WhiteRoomCallbacks : NSObject
  93. /** 房间事件回调。详见 [WhiteRoomCallbackDelegate](WhiteRoomCallbackDelegate)。 */
  94. @property (nonatomic, weak) id<WhiteRoomCallbackDelegate> delegate;
  95. @end