Time-of-Flight-SDK
sensor_enumerator_interface.h
1 /*
2  * BSD 3-Clause License
3  *
4  * Copyright (c) 2019, Analog Devices, Inc.
5  * All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions are met:
9  *
10  * 1. Redistributions of source code must retain the above copyright notice, this
11  * list of conditions and the following disclaimer.
12  *
13  * 2. Redistributions in binary form must reproduce the above copyright notice,
14  * this list of conditions and the following disclaimer in the documentation
15  * and/or other materials provided with the distribution.
16  *
17  * 3. Neither the name of the copyright holder nor the names of its
18  * contributors may be used to endorse or promote products derived from
19  * this software without specific prior written permission.
20  *
21  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32 #ifndef SENSOR_ENUMERATOR_INTERFACE_H
33 #define SENSOR_ENUMERATOR_INTERFACE_H
34 
35 #include "aditof/depth_sensor_interface.h"
36 #include "aditof/status_definitions.h"
37 #include "aditof/storage_interface.h"
38 #include "aditof/target_sdk_definitions.h"
39 #include "aditof/temperature_sensor_interface.h"
40 
41 #include <memory>
42 #include <vector>
43 
44 namespace aditof {
45 
51  public:
55  virtual ~SensorEnumeratorInterface() = default;
56 
61  virtual aditof::Status searchSensors() = 0;
62 
68  virtual aditof::Status
69  getDepthSensors(std::vector<std::shared_ptr<aditof::DepthSensorInterface>>
70  &depthSensors) = 0;
71 
78  std::vector<std::shared_ptr<aditof::StorageInterface>> &storages) = 0;
79 
86  std::vector<std::shared_ptr<aditof::TemperatureSensorInterface>>
87  &temperatureSensors) = 0;
88 
94  virtual aditof::Status
96 };
97 
98 } // namespace aditof
99 
100 #endif // SENSOR_ENUMERATOR_INTERFACE_H
virtual aditof::Status getCameraTypeOnTarget(aditof::CameraType &cameraType)=0
Find out for which camera the SDK on target was built for.
Namespace aditof.
Definition: frame.h:43
virtual aditof::Status searchSensors()=0
Do a search for the available sensors.
virtual ~SensorEnumeratorInterface()=default
Destructor.
CameraType
Types of cameras.
virtual aditof::Status getTemperatureSensors(std::vector< std::shared_ptr< aditof::TemperatureSensorInterface >> &temperatureSensors)=0
Get the available temperature sensors.
virtual aditof::Status getStorages(std::vector< std::shared_ptr< aditof::StorageInterface >> &storages)=0
Get the available storage.
Status
Status of any operation that the TOF sdk performs.
virtual aditof::Status getDepthSensors(std::vector< std::shared_ptr< aditof::DepthSensorInterface >> &depthSensors)=0
Get the available depth sensors.
Can search for sensors and retrieve sensors by category.