Agora C++ API Reference for All Platforms
|
11 #include "NGIAgoraExtensionProvider.h"
12 #include "NGIAgoraExtensionScreenSource.h"
13 #include "api2/internal/AgoraRefCountedObjectInternal.h"
42 #define RESERVED_INTERNAL_MAJOR_VERSION 999
51 template <
class ExtInterface>
55 const char* extension,
bool refcounted)
56 : provider_(provider), ext_name_(extension) {
57 assert(provider_ && !ext_name_.empty());
68 assert(provider_ && !ext_name_.empty());
79 return raw_ptr_? raw_ptr_ : ref_ptr_.
get();
87 std::string ext_name_;
90 ExtInterface* raw_ptr_ =
nullptr;
virtual void destroyCustomExtension(const char *name, void *object)=0
Definition: extension_provider_i.h:19
Definition: AgoraExtensionVersion.h:14
Definition: AgoraRefPtr.h:44
T * get() const
Definition: AgoraRefPtr.h:77
CustomExtensionWrapper(const CustomExtensionWrapper &)=default
static ExtensionVersion Version()
Definition: extension_provider_i.h:46
~CustomExtensionWrapper()
Definition: extension_provider_i.h:66
Definition: extension_provider_i.h:52
ExtInterface * get()
Definition: extension_provider_i.h:78
Definition: extension_provider_i.h:33
Definition: AgoraRefCountedObject.h:71
Definition: AgoraAtomicOps.h:21
agora_refptr< ExtInterface > getRefPtr()
Definition: extension_provider_i.h:82
Definition: NGIAgoraExtensionProvider.h:35
CustomExtensionWrapper(ICustomExtensionProvider *provider, const char *extension, bool refcounted)
Definition: extension_provider_i.h:54
CustomExtensionWrapper & operator=(const CustomExtensionWrapper &)=default
CustomExtensionWrapper(CustomExtensionWrapper &&)=default
void operator()(const T *p) const
Definition: extension_provider_i.h:22
virtual agora_refptr< ILipSyncFilter > createLipSyncFilter(const char *name)
Definition: extension_provider_i.h:37
CustomExtensionWrapper & operator=(CustomExtensionWrapper &&)=default
Definition: AgoraExtensionVersion.h:66
Definition: video_node_i.h:28
virtual void * createCustomExtension(const char *name)=0