|
Agora C++ API Reference for All Platforms
|
8 #pragma once // NOLINT(build/header_guard)
10 #include "AgoraBase.h"
11 #include "time_utils.h"
12 #include <api/cpp/aosl_ares_class.h>
16 class IAudioEncodedFrameSender;
17 class IRtcConnectionObserver;
18 class INetworkObserver;
20 class IVideoEncodedImageSender;
222 virtual int connect(
const char* token,
const char* channelId,
const char* info,
user_id_t userId, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
248 virtual int disconnect(aosl_ref_t ares = AOSL_REF_INVALID) = 0;
298 virtual int renewToken(
const char* token, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
449 virtual int sendStreamMessage(
int streamId,
const char* data,
size_t length, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
508 virtual int sendCustomReportMessage(
const char*
id,
const char* category,
const char* event,
const char* label,
int value, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
744 (void)newRoleOptions;
virtual void onUserNetworkQuality(user_id_t userId, QUALITY_TYPE txQuality, QUALITY_TYPE rxQuality)
Definition: NGIAgoraRtcConnection.h:775
util::AString connectionIp
Definition: NGIAgoraRtcConnection.h:50
CONNECTION_STATE_TYPE state
Definition: NGIAgoraRtcConnection.h:38
bool audioRecvEncodedFrame
Definition: NGIAgoraRtcConnection.h:132
CHANNEL_PROFILE_TYPE channelProfile
Definition: NGIAgoraRtcConnection.h:127
The information of the user.
Definition: AgoraBase.h:7611
Results of the uplink and downlink last-mile network tests.
Definition: AgoraBase.h:5029
virtual TConnectionInfo getConnectionInfo()=0
virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType)
Definition: NGIAgoraRtcConnection.h:889
virtual void onError(ERROR_CODE_TYPE error, const char *msg)
Definition: NGIAgoraRtcConnection.h:815
agora::Optional< int64_t > appDefinedStartTimeMs
Definition: NGIAgoraRtcConnection.h:82
virtual void onConnecting(const TConnectionInfo &connectionInfo, CONNECTION_CHANGED_REASON_TYPE reason)=0
The interface class of Agora RTC SDK, which provides JSON configuration information of the SDK.
Definition: IAgoraParameter.h:151
virtual int sendMediaControlMessage(user_id_t userId, const char *data, size_t length, aosl_ref_t ares=AOSL_REF_INVALID)=0
int minPort
Definition: NGIAgoraRtcConnection.h:116
Configurations of the last-mile network test.
Definition: AgoraBase.h:4960
virtual ~INetworkObserver()
Definition: NGIAgoraRtcConnection.h:925
virtual void onTransportStats(const RtcStats &stats)=0
Definition: NGIAgoraRtcConnection.h:923
virtual int startLastmileProbeTest(const LastmileProbeConfig &config, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int sendStreamMessage(int streamId, const char *data, size_t length, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual void onChangeRoleSuccess(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole, const ClientRoleOptions &newRoleOptions)
Definition: NGIAgoraRtcConnection.h:741
virtual int sendRdtMessage(user_id_t userId, RdtStreamType type, const char *data, size_t length, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual void onChangeRoleFailure(CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole)
Definition: NGIAgoraRtcConnection.h:750
Definition: NGIAgoraRtcConnection.h:600
~IRtcConnection()
Definition: NGIAgoraRtcConnection.h:192
virtual void onUserJoined(user_id_t userId)=0
virtual int getUserInfo(user_id_t userId, agora::UserInfo &userInfo)=0
virtual int renewToken(const char *token, aosl_ref_t ares=AOSL_REF_INVALID)=0
ERROR_CODE_TYPE
Error codes.
Definition: AgoraBase.h:472
const char * user_id_t
Definition: AgoraBase.h:861
Definition: AgoraBase.h:233
virtual void onMultipathStats(const MultipathStats &stats)
Definition: NGIAgoraRtcConnection.h:918
unsigned int conn_id_t
Definition: AgoraMediaBase.h:30
virtual void onReconnecting(const TConnectionInfo &connectionInfo, CONNECTION_CHANGED_REASON_TYPE reason)=0
virtual void onDisconnected(const TConnectionInfo &connectionInfo, CONNECTION_CHANGED_REASON_TYPE reason)=0
virtual agora::base::IAgoraParameter * getAgoraParameter()=0
virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo *userInfo)=0
TConnectionInfo()
Definition: NGIAgoraRtcConnection.h:52
bool autoSubscribeAudio
Definition: NGIAgoraRtcConnection.h:96
Definition: NGIAgoraRtcConnection.h:55
bool audioRecvMediaPacket
Definition: NGIAgoraRtcConnection.h:137
RtcConnectionConfiguration()
Definition: NGIAgoraRtcConnection.h:163
Definition: AgoraAtomicOps.h:21
The uplink network information.
Definition: AgoraBase.h:7148
virtual ~IRtcConnectionObserver()
Definition: NGIAgoraRtcConnection.h:602
virtual void onContentInspectResult(media::CONTENT_INSPECT_RESULT result)
Definition: NGIAgoraRtcConnection.h:790
virtual RtcStats getTransportStats()=0
MultipathMode
The transmission mode of data over multiple network paths.
Definition: AgoraBase.h:2643
virtual int unregisterNetworkObserver(INetworkObserver *observer)=0
Definition: NGIAgoraRtcConnection.h:26
virtual int getRemoteUsers(UserList &users)=0
virtual int setUplinkMultipathMode(MultipathMode mode, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual void onTokenPrivilegeWillExpire(const char *token)=0
NETWORK_TYPE
Network type.
Definition: AgoraBase.h:5219
Definition: AgoraBase.h:7161
CHANNEL_PROFILE_TYPE
The channel profile.
Definition: AgoraBase.h:267
virtual void onUserAccountUpdated(uid_t uid, const char *userAccount)
Definition: NGIAgoraRtcConnection.h:862
bool isInteractiveAudience
Definition: NGIAgoraRtcConnection.h:151
CHANNEL_TYPE channelType
Definition: NGIAgoraRtcConnection.h:161
virtual void onSetRtmFlagResult(int code)
Definition: NGIAgoraRtcConnection.h:909
virtual void onTokenPrivilegeDidExpire()=0
virtual int createDataStream(int *streamId, bool reliable, bool ordered, bool sync)=0
const char * info
Definition: NGIAgoraRtcConnection.h:78
virtual int connect(const char *token, const char *channelId, const char *info, user_id_t userId, aosl_ref_t ares=AOSL_REF_INVALID)=0
util::AString channelId
Definition: NGIAgoraRtcConnection.h:34
virtual void onLastmileProbeResult(const LastmileProbeResult &result)=0
virtual void onConnected(const TConnectionInfo &connectionInfo, CONNECTION_CHANGED_REASON_TYPE reason)=0
virtual void onLocalUserRegistered(uid_t uid, const char *userAccount)
Definition: NGIAgoraRtcConnection.h:856
virtual void onStreamMessageError(user_id_t userId, int streamId, int code, int missed, int cached)
Definition: NGIAgoraRtcConnection.h:876
virtual ILocalUser * getLocalUser()=0
@ CONNECTION_STATE_DISCONNECTED
Definition: AgoraBase.h:4453
virtual void onDownlinkNetworkInfoUpdated(const DownlinkNetworkInfo &info)
Definition: NGIAgoraRtcConnection.h:947
virtual void onChannelMediaRelayStateChanged(int state, int code)=0
The information of the user.
Definition: AgoraBase.h:867
virtual void onConnectionFailure(const TConnectionInfo &connectionInfo, CONNECTION_CHANGED_REASON_TYPE reason)=0
CONNECTION_CHANGED_REASON_TYPE
Reasons causing the change of the connection state.
Definition: AgoraBase.h:5053
virtual void onRenewTokenResult(const char *token, RENEW_TOKEN_ERROR_CODE code)=0
Reports the result of calling renewToken.
Definition: NGIAgoraLocalUser.h:56
CLIENT_ROLE_TYPE clientRoleType
Definition: NGIAgoraRtcConnection.h:124
bool enableAudioRecordingOrPlayout
Definition: NGIAgoraRtcConnection.h:108
virtual int stopLastmileProbeTest(aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual void onNetworkTypeChanged(NETWORK_TYPE type)
Definition: NGIAgoraRtcConnection.h:785
virtual void onConnectionLost(const TConnectionInfo &connectionInfo)=0
bool videoRecvMediaPacket
Definition: NGIAgoraRtcConnection.h:142
@ CHANNEL_TYPE_STANDARD
Definition: AgoraBase.h:302
bool autoSubscribeVideo
Definition: NGIAgoraRtcConnection.h:102
virtual void onUserLeft(user_id_t userId, USER_OFFLINE_REASON_TYPE reason)=0
virtual void onSnapshotTaken(user_id_t userId, const char *filePath, int width, int height, int errCode)
snapshot taken callback
Definition: NGIAgoraRtcConnection.h:803
virtual int connect(const TConnectSettings &settings, aosl_ref_t ares=AOSL_REF_INVALID)=0
Aggregates statistics of each network path in multipath transmission.
Definition: AgoraBase.h:2707
Built-in encryption configurations.
Definition: AgoraBase.h:7328
virtual int disconnect(aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int enableMultipath(bool enable, aosl_ref_t ares=AOSL_REF_INVALID)=0
LICENSE_ERROR_TYPE
Definition: AgoraBase.h:806
virtual void onLastmileQuality(const QUALITY_TYPE quality)=0
const char * token
Definition: NGIAgoraRtcConnection.h:59
Statistics of a call session.
Definition: AgoraBase.h:2754
USER_OFFLINE_REASON_TYPE
Reasons for a user being offline.
Definition: AgoraBase.h:896
virtual void onLicenseValidationFailure(LICENSE_ERROR_TYPE error)
Definition: NGIAgoraRtcConnection.h:761
virtual int setDownlinkMultipathMode(MultipathMode mode, aosl_ref_t ares=AOSL_REF_INVALID)=0
Definition: NGIAgoraRtcConnection.h:90
virtual int sendCustomReportMessage(const char *id, const char *category, const char *event, const char *label, int value, aosl_ref_t ares=AOSL_REF_INVALID)=0
Definition: AgoraRefPtr.h:31
virtual int registerObserver(IRtcConnectionObserver *observer, void(*safeDeleter)(IRtcConnectionObserver *)=NULL, aosl_ref_t ares=AOSL_REF_INVALID)=0
int maxPort
Definition: NGIAgoraRtcConnection.h:120
user_id_t userId
Definition: NGIAgoraRtcConnection.h:76
virtual void onUplinkNetworkInfoUpdated(const UplinkNetworkInfo &info)
Definition: NGIAgoraRtcConnection.h:936
UPLOAD_ERROR_REASON
Definition: AgoraBase.h:7416
util::AString localUserId
Definition: NGIAgoraRtcConnection.h:42
RENEW_TOKEN_ERROR_CODE
Represents the error codes after calling renewToken.
Definition: AgoraBase.h:7427
virtual void onUploadLogResult(const char *requestId, bool success, UPLOAD_ERROR_REASON reason)
Definition: NGIAgoraRtcConnection.h:898
const char * channelId
Definition: NGIAgoraRtcConnection.h:70
Definition: NGIAgoraRtcConnection.h:190
Definition: AgoraBase.h:156
RdtStreamType
Reliable Data Transmission Tunnel message stream type.
Definition: AgoraBase.h:8008
@ CLIENT_ROLE_AUDIENCE
Definition: AgoraBase.h:2971
MultipathType
Network path types used in multipath transmission.
Definition: AgoraBase.h:2661
CLIENT_ROLE_CHANGE_FAILED_REASON
The reason for a user role switch failure.
Definition: AgoraBase.h:5189
unsigned int uid_t
Definition: AgoraMediaBase.h:28
virtual void onReconnected(const TConnectionInfo &connectionInfo, CONNECTION_CHANGED_REASON_TYPE reason)=0
bool isDataChannelOnly
Definition: NGIAgoraRtcConnection.h:156
CLIENT_ROLE_TYPE
The user role in the interactive live streaming.
Definition: AgoraBase.h:2963
virtual conn_id_t getConnId()=0
ENCRYPTION_ERROR_TYPE
Encryption error type.
Definition: AgoraBase.h:7391
virtual int enableEncryption(bool enabled, const EncryptionConfig &config, aosl_ref_t ares=AOSL_REF_INVALID)=0
int proxyType
Definition: NGIAgoraRtcConnection.h:48
virtual int getUserInfoByUserAccount(const char *userAccount, rtc::UserInfo *userInfo)=0
CONNECTION_STATE_TYPE
Connection states.
Definition: AgoraBase.h:4445
virtual int unregisterObserver(IRtcConnectionObserver *observer)=0
int maxSendBitrate
Definition: NGIAgoraRtcConnection.h:112
Definition: video_node_i.h:28
uid_t internalUid
Definition: NGIAgoraRtcConnection.h:46
virtual int setPreferMultipathType(MultipathType type, aosl_ref_t ares=AOSL_REF_INVALID)=0
Setting of user role properties.
Definition: AgoraBase.h:3011
virtual int registerNetworkObserver(INetworkObserver *observer, void(*safeDeleter)(INetworkObserver *)=NULL, aosl_ref_t ares=AOSL_REF_INVALID)=0
conn_id_t id
Definition: NGIAgoraRtcConnection.h:30
QUALITY_TYPE
Network quality types.
Definition: AgoraBase.h:952
CHANNEL_TYPE
Definition: AgoraBase.h:298
@ CHANNEL_PROFILE_LIVE_BROADCASTING
Definition: AgoraBase.h:275