Agora RTC Objective-C API Reference Refactor

NGIAgoraExtensionControl.h
Go to the documentation of this file.
1 //
2 // Copyright (c) 2020 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
9 #pragma once // NOLINT(build/header_guard)
10 #include "AgoraBase.h"
11 #include "AgoraRefPtr.h"
12 #include "AgoraRefCountedObject.h"
13 #include "IAgoraLog.h"
14 #include "NGIAgoraVideoFrame.h"
15 #include "NGIAgoraExtensionProvider.h"
16
17 namespace agora {
18 namespace rtc {
19 class IExtensionProvider;
23 class IExtensionControl {
24 public:
28 struct Capabilities {
32 bool audio;
36 bool video;
37 };
38
44 virtual void getCapabilities(Capabilities& capabilities) = 0;
45
53 virtual void recycleVideoCache() = 0;
54
62 virtual int dumpVideoFrame(agora_refptr<IVideoFrame> frame, const char* file) = 0;
63
73 virtual int log(commons::LOG_LEVEL level, const char* message) = 0;
74
86 virtual int fireEvent(const char* provider, const char* extension, const char* event_key, const char* value) = 0;
87
93 virtual int registerProvider(const char* provider, agora_refptr<IExtensionProvider> instance) = 0;
94
95 protected:
96 virtual ~IExtensionControl() {}
97 };
98
99 } // namespace rtc
100 } // namespace agora
NGIAgoraExtensionProvider.h
AgoraBase.h
agora::rtc::IExtensionControl::Capabilities
Definition: NGIAgoraExtensionControl.h:28
agora::agora_refptr
Definition: AgoraRefPtr.h:44
agora::rtc::IExtensionControl::Capabilities::video
bool video
Definition: NGIAgoraExtensionControl.h:36
agora::rtc::IExtensionControl::dumpVideoFrame
virtual int dumpVideoFrame(agora_refptr< IVideoFrame > frame, const char *file)=0
agora::rtc::IExtensionControl::registerProvider
virtual int registerProvider(const char *provider, agora_refptr< IExtensionProvider > instance)=0
agora
Definition: AgoraAtomicOps.h:21
agora::rtc::IExtensionControl::recycleVideoCache
virtual void recycleVideoCache()=0
NGIAgoraVideoFrame.h
agora::rtc::IExtensionControl::getCapabilities
virtual void getCapabilities(Capabilities &capabilities)=0
agora::commons::LOG_LEVEL
OPTIONAL_ENUM_CLASS LOG_LEVEL
Definition: IAgoraLog.h:33
agora::rtc::IExtensionControl::~IExtensionControl
virtual ~IExtensionControl()
Definition: NGIAgoraExtensionControl.h:96
agora::rtc::IExtensionControl::log
virtual int log(commons::LOG_LEVEL level, const char *message)=0
IAgoraLog.h
agora::rtc::IExtensionControl::Capabilities::audio
bool audio
Definition: NGIAgoraExtensionControl.h:32
AgoraRefPtr.h
AgoraRefCountedObject.h
agora::rtc::IExtensionControl::fireEvent
virtual int fireEvent(const char *provider, const char *extension, const char *event_key, const char *value)=0
agora::rtc::IExtensionControl
Definition: NGIAgoraExtensionControl.h:23