BCXCallParticipants

Objective-C

@protocol BCXCallParticipants <NSObject>

Swift

protocol BCXCallParticipants : NSObjectProtocol

An object representing the participants inside a call and their state. This object can be checked for equality.

Caller

  • The caller.

    Declaration

    Objective-C

    @property (nonatomic, strong, readonly) id<BCXCallParticipant> _Nonnull caller;
  • The caller id.

    Declaration

    Objective-C

    @property (nonatomic, strong, readonly) NSString *_Nonnull callerId;

    Swift

    var callerId: String { get }

Callee

  • The array of callees and their state in the call.

    Declaration

    Objective-C

    @property (nonatomic, strong, readonly) NSArray<id<BCXCallParticipant>> *_Nonnull callees;
  • The array of callee identifiers.

    Declaration

    Objective-C

    @property (nonatomic, strong, readonly) NSArray<NSString *> *_Nonnull calleeIds;

    Swift

    var calleeIds: [String] { get }
  • Returns the participant object identified by the identifier provided, among the callee, if any.

    Declaration

    Objective-C

    - (nullable id<BCXCallParticipant>)calleeWithIdentifier:
        (nonnull NSString *)identifier;

    Parameters

    identifier

    The participant identifier (i.e user alias)

    Return Value

    The participant object identified by the identifier provided as argument, among the callee, if any.

Querying participants

  • An array containing all participants objects.

    Declaration

    Objective-C

    @property (nonatomic, strong, readonly) NSArray<id<BCXCallParticipant>> *_Nonnull allParticipants;
  • An array containing all opponents, that is all participants excluding the authenticated user.

    Declaration

    Objective-C

    @property (nonatomic, strong, readonly) NSArray<id<BCXCallParticipant>> *_Nonnull opponents;
  • The array of the participants identifiers.

    Declaration

    Objective-C

    @property (nonatomic, strong, readonly) NSArray<NSString *> *_Nonnull participantsIds;

    Swift

    var participantsIds: [String] { get }
  • Returns the participant identified by the identifier provided, if any.

    Declaration

    Objective-C

    - (nullable id<BCXCallParticipant>)participantWithIdentifier:
        (nonnull NSString *)identifier;

    Parameters

    identifier

    The participant identifier (i.e. user alias)

    Return Value

    The participant object identified by the identifier provided as argument, if any.

  • Returns the participant object associated to the user authenticated with the call client, if any.

    Declaration

    Objective-C

    - (nullable id<BCXCallParticipant>)authenticatedUserParticipant;

    Return Value

    The participant object associated to the user authenticated with the call client, if any.

  • Returns a boolean flag indicating whether the user authenticated with the call client, is the caller, or not.

    Declaration

    Objective-C

    - (BOOL)isAuthenticatedUserTheCaller;

    Swift

    func isAuthenticatedUserTheCaller() -> Bool

    Return Value

    YES if the authenticated user is the caller, NO otherwise.

Observers

  • Adds an observer, notified about changes in the state of a participant. The observer be notified synchronously on a private background queue. The observer object will be held weakly.

    Declaration

    Objective-C

    - (void)addObserver:(nonnull id<BCXCallParticipantsObserver>)observer;

    Parameters

    observer

    The observer to be added.

  • Adds an observer specifying on which dispatch queue it must be notified. If a nil queue is provided the observer will be notified synchronously on a private background queue. Otherwise the observer will be notified asynchronously on the queue provided. The observer will be held weakly.

    Declaration

    Objective-C

    - (void)addObserver:(nonnull id<BCXCallParticipantsObserver>)observer
                  queue:(nullable dispatch_queue_t)queue;

    Parameters

    observer

    The observer to add.

    queue

    The dispatch queue onto which the observer will be notified.

  • Removes an observer. Once removed the observer will not receive participant state change notifications anymore.

    Declaration

    Objective-C

    - (void)removeObserver:(nonnull id<BCXCallParticipantsObserver>)observer;

    Parameters

    observer

    The observer to be removed.

User state

  • Returns an array of busy call participants.

    Declaration

    Objective-C

    - (nonnull NSArray<id<BCXCallParticipant>> *)busy;

    Return Value

    An array of busy call participants.

  • Returns an array of online call participants.

    Declaration

    Objective-C

    - (nonnull NSArray<id<BCXCallParticipant>> *)online;

    Return Value

    An array of online call participants.

  • Returns an array of offline call participants.

    Declaration

    Objective-C

    - (nonnull NSArray<id<BCXCallParticipant>> *)offline;

    Return Value

    An array of offline call participants.

Callee state

  • Returns a flag indicating whether all callees have declined, or not

    Declaration

    Objective-C

    - (BOOL)hasEverybodyDeclined;

    Swift

    func hasEverybodyDeclined() -> Bool

    Return Value

    YES if all callees have declined, NO otherwise

  • Returns a flag indicating whether at least one callee has answered, or not.

    Declaration

    Objective-C

    - (BOOL)hasAnybodyAnswered;

    Swift

    func hasAnybodyAnswered() -> Bool

    Return Value

    YES if any callee has answered, NO otherwise.

Video

  • Returns a flag indicating whether at least one participant has upgraded to video, or not.

    Declaration

    Objective-C

    - (BOOL)hasAnybodyUpgradedToVideo;

    Swift

    func hasAnybodyUpgradedToVideo() -> Bool

    Return Value

    YES if any participant upgraded to video, NO otherwise.

  • Returns an array of call participants that have upgraded to video call.

    Declaration

    Objective-C

    - (nonnull NSArray<id<BCXCallParticipant>> *)upgradedToVideo;

    Return Value

    An array of call participants that have upgraded to video call.