Ocean
ARKit.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) Meta Platforms, Inc. and affiliates.
3  *
4  * This source code is licensed under the MIT license found in the
5  * LICENSE file in the root directory of this source tree.
6  */
7 
8 #ifndef META_OCEAN_DEVICES_ARKIT_ARKIT_H
9 #define META_OCEAN_DEVICES_ARKIT_ARKIT_H
10 
11 #include "ocean/devices/Devices.h"
12 
13 namespace Ocean
14 {
15 
16 namespace Devices
17 {
18 
19 namespace ARKit
20 {
21 
22 /**
23  * @ingroup devices
24  * @defgroup devicesarkit Ocean Devices ARKit Library
25  * @{
26  * The Ocean Devices ARKit Library provides access to ARKit trackers.<br>
27  * The library is available on iOS platforms only.
28  * @}
29  */
30 
31 /**
32  * @namespace Ocean::Devices::ARKit Namespace of the Devices ARKit library.<p>
33  * The Namespace Ocean::Devices::ARKit is used in the entire Ocean Devices ARKit Library.
34  */
35 
36 #ifndef __APPLE__
37  #error This library is available on iOS platforms only!
38 #endif
39 
40 // Defines OCEAN_DEVICES_ARKIT_EXPORT for dll export and import.
41 #if defined(_WINDOWS) && defined(OCEAN_RUNTIME_SHARED)
42  #ifdef USE_OCEAN_DEVICES_ARKIT_EXPORT
43  #define OCEAN_DEVICES_ARKIT_EXPORT __declspec(dllexport)
44  #else
45  #define OCEAN_DEVICES_ARKIT_EXPORT __declspec(dllimport)
46  #endif
47 #else
48  #define OCEAN_DEVICES_ARKIT_EXPORT
49 #endif
50 
51 /**
52  * Returns the name of this devices library.
53  * @ingroup devicesarkit
54  */
55 OCEAN_DEVICES_ARKIT_EXPORT const std::string& nameARKitLibrary();
56 
57 #if defined(OCEAN_RUNTIME_STATIC)
58 
59 /**
60  * Registers this ARKit devices library at the global device manager.
61  * This function calls AKFactory::registerFactory() only.
62  * @ingroup devicesarkit
63  */
65 
66 /**
67  * Unregisters this ARKit devices library at the global device manager.
68  * This function calls AKFactory::unregisterFactory() only.
69  * @return True, if succeeded
70  * @ingroup devicesarkit
71  */
73 
74 #endif // OCEAN_RUNTIME_STATIC
75 
76 }
77 
78 }
79 
80 }
81 
82 #endif // META_OCEAN_DEVICES_ARKIT_ARKIT_H
void registerARKitLibrary()
Registers this ARKit devices library at the global device manager.
bool unregisterARKitLibrary()
Unregisters this ARKit devices library at the global device manager.
OCEAN_DEVICES_ARKIT_EXPORT const std::string & nameARKitLibrary()
Returns the name of this devices library.
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15