智慧保安互联网APP
zengh
2022-06-21 4efeb31d5b4921d7e851c256009486ad86bc70e2
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
//  AR SDK
//
//  Copyright (c) 2019 AR.io. All rights reserved.
//
 
#ifndef __I_AR_SERVICE_H__
#define __I_AR_SERVICE_H__
#include "ArBase.h"
 
namespace ar {
    namespace rtc {
        class IRtcEngine;
    }
    namespace rtm {
        class IRtmService;
    }
namespace base {
 
struct ARServiceContext
{
};
 
 
class IARService
{
protected:
    virtual ~IARService(){}
public:
    virtual void release() = 0;
 
    /** Initializes the engine.
     
    @param context RtcEngine context.
    @return
     - 0: Success.
     - < 0: Failure.
    */
    virtual int initialize(const ARServiceContext& context) = 0;
 
    /** Retrieves the SDK version number.
    * @param build Build number.
    * @return The current SDK version in the string format. For example, 2.4.0
    */
    virtual const char* getVersion(int* build) = 0;
 
    virtual rtm::IRtmService* createRtmService() = 0;
};
 
} //namespace base
} // namespace ar
 
/** Gets the SDK version number.
 
 @param build Build number of the AR SDK.
 @return
 - 0: Success.
 - < 0: Failure.
*/
AR_API const char* AR_CALL getARSdkVersion(int* build);
 
/**
* Creates the RtcEngine object and returns the pointer.
* @param err Error code
* @return returns Description of the error code
*/
AR_API const char* AR_CALL getARSdkErrorDescription(int err);
 
/**
* Creates the AR Service object and returns the pointer.
* @return returns Pointer of the AR Service object
*/
AR_API ar::base::IARService* AR_CALL createARService();
 
AR_API int AR_CALL setARSdkExternalSymbolLoader(void* (*func)(const char* symname));
 
#endif