Ocean
base/jni/JNI.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_BASE_JNI_JNI_H
9 #define META_OCEAN_BASE_JNI_JNI_H
10 
11 #include "ocean/base/Base.h"
12 
13 namespace Ocean
14 {
15 
16 namespace JNI
17 {
18 
19 /**
20  * @ingroup base
21  * @defgroup basejni Ocean Base JNI Library
22  * @{
23  * The Ocean Base JNI Library provides a Java Native Interface for Android.
24  * The library is available on Android platforms only.
25  * @}
26  */
27 
28 /**
29  * @namespace Ocean::JNI Namespace of the Base JNI library.<p>
30  * The Namespace Ocean::JNI is used in the entire Ocean Base JNI Library.
31  */
32 
33 #ifndef _ANDROID
34  #error This library is available on android platforms only!
35 #endif // _ANDROID
36 
37 // Defines OCEAN_BASE_JNI_EXPORT for dll export and import.
38 #if defined(_WINDOWS) && defined(OCEAN_RUNTIME_SHARED)
39  #ifdef USE_OCEAN_ANDROID_WIN_EXPORT
40  #define OCEAN_BASE_JNI_EXPORT __declspec(dllexport)
41  #else
42  #define OCEAN_BASE_JNI_EXPORT __declspec(dllimport)
43  #endif
44 #else
45  #define OCEAN_BASE_JNI_EXPORT
46 #endif
47 
48 }
49 
50 }
51 
52 #endif // META_OCEAN_BASE_JNI_JNI_H
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15