SRSDK  0.10.39
Loading...
Searching...
No Matches
library.hpp
Go to the documentation of this file.
1#ifndef CNSDK_LEIA_CORE_CXX_LIBRARY_HPP
2#define CNSDK_LEIA_CORE_CXX_LIBRARY_HPP
3
4#include "leia/core/library.h"
6
7namespace leia {
8
10public:
11 CoreLibrary() : _ptr(nullptr)
12 {
13 }
15 {
16 Load(android);
17 }
18 CoreLibrary(CoreLibrary const&) = delete;
21 {
22 *this = std::move(other);
23 }
25 {
26 std::swap(_ptr, other._ptr);
27 return *this;
28 }
29 explicit operator bool() const
30 {
31 return _ptr != nullptr;
32 }
33
35 {
36 leia_core_library_load_request loadRequest = {};
37
38 loadRequest.apiVersion = CNSDK_VERSION_U64;
40 loadRequest.android = android;
41 _ptr = leia_core_library_load(&loadRequest);
42
43#if !defined(LEIA_WRAPPER_DISABLE_EXCEPTION)
44 if (!_ptr)
45 {
46 throw CoreInitFailed();
47 }
48#endif // !LEIA_WRAPPER_DISABLE_EXCEPTION
49 }
51 uint64_t GetVersion() const
52 {
54 }
55
57 {
58 if (_ptr)
59 {
61 }
62 }
63
66 {
67 return _ptr;
68 }
69
70private:
72};
73
74} // namespace leia
75
76#endif // CNSDK_LEIA_CORE_CXX_LIBRARY_HPP
Definition library.hpp:9
LEIA_NODISCARD uint64_t GetVersion() const
Definition library.hpp:51
CoreLibrary(CoreLibrary &&other)
Definition library.hpp:20
void Load(leia_core_library_load_android const *android)
Definition library.hpp:34
~CoreLibrary()
Definition library.hpp:56
LEIA_NODISCARD leia_core_library * GetHandle() const
Definition library.hpp:65
CoreLibrary & operator=(CoreLibrary &&other)
Definition library.hpp:24
CoreLibrary & operator=(CoreLibrary const &)=delete
CoreLibrary()
Definition library.hpp:11
CoreLibrary(leia_core_library_load_android const *android)
Definition library.hpp:14
CoreLibrary(CoreLibrary const &)=delete
#define LEIA_NODISCARD
Definition defines.h:86
#define LEIA_CORE_LOADER_API_VERSION
Definition library.h:25
LEIASDK_API struct leia_core_library * leia_core_library_load(leia_core_library_load_request *request)
LEIASDK_API void leia_core_library_release(struct leia_core_library *)
LEIA_NODISCARD LEIASDK_API uint64_t leia_core_library_get_version(struct leia_core_library *)
Definition types.hpp:10
Definition library.h:20
Definition library.h:26
uint32_t loaderVersion
Definition library.h:28
leia_version apiVersion
Definition library.h:27
leia_core_library_load_android const * android
Definition library.h:30
Core library.
Definition library.h:17
#define CNSDK_VERSION_U64
Definition version.h:21