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 
29 public:
30  AGORA_CPP_API static void release ();
31 
39  virtual int initialize(const AgoraServiceContext& context) = 0;
40 
45  virtual const char* getVersion(int* build) = 0;
46 
47  virtual rtm::IRtmService* createRtmService() = 0;
48 };
49 
50 } //namespace base
51 } // namespace agora
52 
60 AGORA_API const char* AGORA_CALL getAgoraSdkVersion(int* build);
61 
67 AGORA_API const char* AGORA_CALL getAgoraSdkErrorDescription(int err);
68 
73 AGORA_API agora::base::IAgoraService* AGORA_CALL createAgoraService();
74 
75 AGORA_API int AGORA_CALL setAgoraSdkExternalSymbolLoader(void* (*func)(const char* symname));
76 
77 #endif
Definition: AgoraBase.h:41
virtual const char * getVersion(int *build)=0
virtual ~IAgoraService()
Definition: IAgoraService.h:27
virtual rtm::IRtmService * createRtmService()=0
Definition: IAgoraService.h:19
static AGORA_CPP_API void release()
Definition: IAgoraService.h:24
virtual int initialize(const AgoraServiceContext &context)=0