IAgoraService.h
1.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
//
// Agora SDK
//
// Created by Sting Feng in 2017-11.
// Copyright (c) 2017 Agora.io. All rights reserved.
//
#ifndef AGORA_SERVICE_H
#define AGORA_SERVICE_H
#include "AgoraBase.h"
namespace agora {
namespace rtc {
class IRtcEngine;
}
namespace signaling {
class ISignalingEngine;
}
namespace base {
struct AgoraServiceContext
{
};
class IAgoraService
{
public:
virtual void release() = 0;
/**
* initialize the engine
* @param [in] context
* the RTC engine context
* @return return 0 if success or an error code
*/
virtual int initialize(const AgoraServiceContext& context) = 0;
/**
* get the version information of the SDK
* @param [in, out] build
* the build number
* @return return the version number string in char format
*/
virtual const char* getVersion(int* build) = 0;
virtual rtc::IRtcEngine* createRtcEngine() = 0;
virtual signaling::ISignalingEngine* createSignalingEngine() = 0;
};
} //namespace base
} // namespace agora
/**
* to get the version number of the SDK
* @param [in, out] build
* the build number of Agora SDK
* @return returns the string of the version of the SDK
*/
AGORA_API const char* AGORA_CALL getAgoraSdkVersion(int* build);
/**
* create the RTC engine object and return the pointer
* @param [in] err
* the error code
* @return returns the description of the error code
*/
AGORA_API const char* AGORA_CALL getAgoraSdkErrorDescription(int err);
/**
* create the Agora Service object and return the pointer
* @return returns pointer of the Agora Service object
*/
AGORA_API agora::base::IAgoraService* AGORA_CALL createAgoraService();
AGORA_API int AGORA_CALL setAgoraSdkExternalSymbolLoader(void* (*func)(const char* symname));
#endif