| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- //
- // TUIChatCallingDataProvider.h
- // TUIChat
- //
- // Created by harvy on 2022/12/21.
- // Copyright © 2023 Tencent. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- #import <ImSDK_Plus/ImSDK_Plus.h>
- @class TUIMessageCellData;
- NS_ASSUME_NONNULL_BEGIN
- /**
- * The protocol type of calls
- */
- typedef NS_ENUM(NSInteger, TUICallProtocolType) {
- TUICallProtocolTypeUnknown = 0,
- TUICallProtocolTypeSend = 1,
- TUICallProtocolTypeAccept = 2,
- TUICallProtocolTypeReject = 3,
- TUICallProtocolTypeCancel = 4,
- TUICallProtocolTypeHangup = 5,
- TUICallProtocolTypeTimeout = 6,
- TUICallProtocolTypeLineBusy = 7,
- TUICallProtocolTypeSwitchToAudio = 8,
- TUICallProtocolTypeSwitchToAudioConfirm = 9,
- };
- /**
- * The stream media type of calls
- */
- typedef NS_ENUM(NSInteger, TUICallStreamMediaType) {
- TUICallStreamMediaTypeUnknown = 0,
- TUICallStreamMediaTypeVoice = 1,
- TUICallStreamMediaTypeVideo = 2,
- };
- /**
- * The participant style of calls
- */
- typedef NS_ENUM(NSInteger, TUICallParticipantType) {
- TUICallParticipantTypeUnknown = 0,
- TUICallParticipantTypeC2C = 1,
- TUICallParticipantTypeGroup = 2,
- };
- /**
- * The role of participant
- */
- typedef NS_ENUM(NSInteger, TUICallParticipantRole) {
- TUICallParticipantRoleUnknown = 0,
- TUICallParticipantRoleCaller = 1,
- TUICallParticipantRoleCallee = 2,
- };
- /**
- * The direction of voice-video-call message
- */
- typedef NS_ENUM(NSInteger, TUICallMessageDirection) {
- TUICallMessageDirectionIncoming = 0,
- TUICallMessageDirectionOutgoing = 1,
- };
- @protocol TUIChatCallingInfoProtocol <NSObject>
- /**
- * The protocol type of voice-video-call
- */
- @property(nonatomic, assign, readonly) TUICallProtocolType protocolType;
- /**
- * The stream media type of voice-video-call
- */
- @property(nonatomic, assign, readonly) TUICallStreamMediaType streamMediaType;
- /**
- * The participate type of voice-video-call, one-to-one and group are supported
- */
- @property(nonatomic, assign, readonly) TUICallParticipantType participantType;
- /**
- * The participate role type of voice-video-call, caller and callee are supported
- */
- @property(nonatomic, assign, readonly) TUICallParticipantRole participantRole;
- /**
- * Exclude from history of chat page,supported in TUIChat 7.1 and later
- */
- @property(nonatomic, assign, readonly) BOOL excludeFromHistory;
- /**
- * The display text of voice-video-call message
- */
- @property(nonatomic, copy, readonly, nonnull) NSString *content;
- /**
- *
- * The display direction of voice-video-call message
- */
- @property(nonatomic, assign, readonly) TUICallMessageDirection direction;
- /**
- *
- * Whether display unread point in call history
- */
- @property(nonatomic, assign, readonly) BOOL showUnreadPoint;
- /**
- * Whether to use the receiver's avatar
- */
- @property(nonatomic, assign, readonly) BOOL isUseReceiverAvatar;
- @property(nonatomic, strong, readonly) NSArray<NSString *> *participantIDList;
- @end
- /**
- * The style of voice-video-call message in TUIChat
- */
- typedef NS_ENUM(NSInteger, TUIChatCallingMessageAppearance) {
- TUIChatCallingMessageAppearanceDetails = 0,
- TUIChatCallingMessageAppearanceSimplify = 1,
- };
- @protocol TUIChatCallingDataProtocol <NSObject>
- /**
- * Seting styles of voice-video-call message in TUIChat
- */
- - (void)setCallingMessageStyle:(TUIChatCallingMessageAppearance)style;
- /**
- * Redial based on the current voice-video-call message (generally used to redial after clicking the call history on the chat page)
- */
- - (void)redialFromMessage:(V2TIMMessage *)innerMessage;
- /**
- * Parse voice-video-call message
- */
- - (BOOL)isCallingMessage:(V2TIMMessage *)innerMessage callingInfo:(id<TUIChatCallingInfoProtocol> __nullable *__nullable)callingInfo;
- @end
- @interface TUIChatCallingDataProvider : NSObject <TUIChatCallingDataProtocol>
- @end
- NS_ASSUME_NONNULL_END
|