Ocean
Loading...
Searching...
No Matches
devices/serialization/Serialization.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_SERIALIZATION_SERIALIZATION_H
9#define META_OCEAN_DEVICES_SERIALIZATION_SERIALIZATION_H
10
12
13namespace Ocean
14{
15
16namespace Devices
17{
18
19namespace Serialization
20{
21
22/**
23 * @ingroup devices
24 * @defgroup devicesserialization Ocean Devices Serialization Library
25 * @{
26 * The Ocean Devices Serialization Library provides serialization and deserialization functionality for device samples.
27 * This library enables device measurements to be stored to and loaded from binary streams using the DataSerializer framework.
28 *
29 * The library supports serialization of various device types including:
30 * - AccelerationSensor3DOF: 3-DOF acceleration sensor measurements
31 * - GyroSensor3DOF: 3-DOF gyro sensor measurements
32 * - GravityTracker3DOF: 3-DOF gravity tracker measurements
33 * - OrientationTracker3DOF: 3-DOF orientation tracker measurements
34 * - PositionTracker3DOF: 3-DOF position tracker measurements
35 * - Tracker6DOF: 6-DOF tracker measurements (orientation + position)
36 * - GPSTracker: GPS location measurements
37 * @}
38 */
39
40/**
41 * @namespace Ocean::Devices::Serialization Namespace of the Devices Serialization library.<p>
42 * The Namespace Ocean::Devices::Serialization is used in the entire Ocean Devices Serialization Library.
43 */
44
45// Defines OCEAN_DEVICES_SERIALIZATION_EXPORT for dll export and import.
46#if defined(_WINDOWS) && defined(OCEAN_RUNTIME_SHARED)
47 #ifdef USE_OCEAN_DEVICES_SERIALIZATION_EXPORT
48 #define OCEAN_DEVICES_SERIALIZATION_EXPORT __declspec(dllexport)
49 #else
50 #define OCEAN_DEVICES_SERIALIZATION_EXPORT __declspec(dllimport)
51 #endif
52#else
53 #define OCEAN_DEVICES_SERIALIZATION_EXPORT
54#endif
55
56/**
57 * Returns the name of this devices library.
58 * @ingroup devicesserialization
59 */
60OCEAN_DEVICES_SERIALIZATION_EXPORT std::string nameSerializationLibrary();
61
62#if defined(OCEAN_RUNTIME_STATIC) || defined(_ANDROID)
63
64/**
65 * Registers this Serialization device library at the global device manager.
66 * This function calls SerializationFactory::registerFactory() only.
67 * @ingroup devicesserialization
68 */
70
71/**
72 * Unregisters this Serialization device library at the global device manager.
73 * This function calls SerializationFactory::unregisterFactory() only.
74 * @return True, if succeeded
75 * @ingroup devicesserialization
76 */
78
79#endif // OCEAN_RUNTIME_STATIC
80
81}
82
83}
84
85}
86
87#endif // META_OCEAN_DEVICES_SERIALIZATION_SERIALIZATION_H
void registerSerializationLibrary()
Registers this Serialization device library at the global device manager.
bool unregisterSerializationLibrary()
Unregisters this Serialization device library at the global device manager.
OCEAN_DEVICES_SERIALIZATION_EXPORT std::string nameSerializationLibrary()
Returns the name of this devices library.
The namespace covering the entire Ocean framework.
Definition Accessor.h:15