Agora C++ API Reference for All Platforms
IAgoraService.h
1 // Agora SDK
2 //
3 // Copyright (c) 2019 Agora.io. All rights reserved.
4 //
5 
6 #ifndef AGORA_SERVICE_H
7 #define AGORA_SERVICE_H
8 #include "AgoraBase.h"
9 
10 namespace agora {
11  namespace rtc {
12  class IRtcEngine;
13  }
14  namespace rtm {
15  class IRtmService;
16  }
17 namespace base {
18 
20 {
21 };
22 
23 
25 {
26 protected:
27  virtual ~IAgoraService(){}
28 public:
29  virtual void release() = 0;
30 
38  virtual int initialize(const AgoraServiceContext& context) = 0;
39 
44  virtual const char* getVersion(int* build) = 0;
45 
46  virtual rtm::IRtmService* createRtmService() = 0;
47 };
48 
49 } //namespace base
50 } // namespace agora
51 
59 AGORA_API const char* AGORA_CALL getAgoraSdkVersion(int* build);
60 
66 AGORA_API const char* AGORA_CALL getAgoraSdkErrorDescription(int err);
67 
72 AGORA_API agora::base::IAgoraService* AGORA_CALL createAgoraService();
73 
74 AGORA_API int AGORA_CALL setAgoraSdkExternalSymbolLoader(void* (*func)(const char* symname));
75 
76 #endif
Definition: AgoraBase.h:36
virtual const char * getVersion(int *build)=0
virtual ~IAgoraService()
Definition: IAgoraService.h:27
virtual rtm::IRtmService * createRtmService()=0
Definition: IAgoraService.h:19
virtual void release()=0
Definition: IAgoraService.h:24
virtual int initialize(const AgoraServiceContext &context)=0