Agora C++ API Reference for All Platforms
Loading...
Searching...
No Matches
NGIAgoraDataChannel.h
1
2// Copyright (c) 2022 Agora.io. All rights reserved
3
4// This program is confidential and proprietary to Agora.io.
5// And may not be copied, reproduced, modified, disclosed to others, published
6// or used, in whole or in part, without the express prior written permission
7// of Agora.io.
8#pragma once // NOLINT(build/header_guard)
9
10#include "AgoraRefPtr.h"
11#include "AgoraBase.h"
12#include <api/cpp/aosl_ares_class.h>
13namespace agora {
14
30 bool ordered;
31
38 // optional
40
44 int32_t priority;
46 syncWithMedia(false),
47 ordered(false),
49 priority(-1) {}
50};
51
65
83
85 public:
95 virtual int sendDataPacket(const char* packet, size_t length, uint64_t capture_time_ms, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
105 virtual int setMetaData(const char* metaData, size_t length, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
106
113
114 protected:
116};
117
119 public:
120 virtual util::AString UserId() const = 0;
121 virtual int ChannelId() const = 0;
122 virtual util::AString Meta() = 0;
123
124 protected:
126};
127
129 public:
135
141
153
161 virtual void onRemoteDataChannelInfoUpdated(const UserDataChannelInfo* modified_infos, size_t modified_infos_size,
162 const UserDataChannelInfo* deleted_infos, size_t deleted_infos_size) {}
164};
165
166} // namespace agora
Definition NGIAgoraDataChannel.h:128
virtual void onRemoteDataChannelInfoUpdated(const UserDataChannelInfo *modified_infos, size_t modified_infos_size, const UserDataChannelInfo *deleted_infos, size_t deleted_infos_size)
Definition NGIAgoraDataChannel.h:161
virtual void onRemoteDataPacketReceived(const UserDataChannelInfo &info, util::AString packet)
Definition NGIAgoraDataChannel.h:152
virtual void onRemoteDataChannelSubscribed(agora_refptr< IRemoteDataChannel > channel)
Definition NGIAgoraDataChannel.h:140
virtual void onLocalDataChannelPublished(agora_refptr< ILocalDataChannel > channel)
Definition NGIAgoraDataChannel.h:134
virtual ~IDataChannelObserver()
Definition NGIAgoraDataChannel.h:163
virtual void onRemoteDataChannelUnsubscribed(agora_refptr< IRemoteDataChannel > channel)
Definition NGIAgoraDataChannel.h:146
Definition NGIAgoraDataChannel.h:84
virtual ~ILocalDataChannel()
Definition NGIAgoraDataChannel.h:115
virtual int setMetaData(const char *metaData, size_t length, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual Optional< int > configuredChannelId() const =0
virtual int sendDataPacket(const char *packet, size_t length, uint64_t capture_time_ms, aosl_ref_t ares=AOSL_REF_INVALID)=0
Definition NGIAgoraDataChannel.h:118
virtual util::AString Meta()=0
virtual int ChannelId() const =0
virtual ~IRemoteDataChannel()
Definition NGIAgoraDataChannel.h:125
virtual util::AString UserId() const =0
Definition AgoraOptional.h:413
Definition AgoraRefPtr.h:31
Definition AgoraRefPtr.h:44
CopyableAutoPtr< IString > AString
Definition AgoraBase.h:182
Definition AgoraAtomicOps.h:21
bool syncWithMedia
Definition NGIAgoraDataChannel.h:24
int compressionLength
Definition NGIAgoraDataChannel.h:37
int32_t priority
Definition NGIAgoraDataChannel.h:44
bool ordered
Definition NGIAgoraDataChannel.h:30
DataChannelConfig()
Definition NGIAgoraDataChannel.h:45
Optional< int > channelId
Definition NGIAgoraDataChannel.h:39
Definition NGIAgoraDataChannel.h:55
int dataChannelId
Definition NGIAgoraDataChannel.h:59
util::AString metadata
Definition NGIAgoraDataChannel.h:63
Definition NGIAgoraDataChannel.h:69
util::AString userId
Definition NGIAgoraDataChannel.h:73
size_t info_size
Definition NGIAgoraDataChannel.h:81
const DataChannelInfo * infos
Definition NGIAgoraDataChannel.h:77