22#include <vrs/os/Platform.h>
199#if IS_VRS_FB_INTERNAL()
200#include "StreamId_fb.h"
247 : typeId_{typeId}, instanceId_{instanceId} {}
263 bool operator==(
const StreamId& rhs)
const {
264 return typeId_ == rhs.typeId_ && instanceId_ == rhs.instanceId_;
267 bool operator!=(
const StreamId& rhs)
const {
268 return !operator==(rhs);
273 return typeId_ < rhs.typeId_ || (typeId_ == rhs.typeId_ && instanceId_ < rhs.instanceId_);
286 return toString(typeId_);
319 uint16_t instanceId_;
VRS stream identifier class.
Definition StreamId.h:242
static StreamId fromNumericName(const string &numericName)
Definition StreamId.cpp:231
string getTypeName() const
Definition StreamId.h:285
string getNumericName() const
Definition StreamId.cpp:227
bool isValid() const
Definition StreamId.h:279
static StreamId fromNumericNamePlus(const string &numericName)
Definition StreamId.cpp:235
string getFullName() const
Definition StreamId.cpp:222
string getName() const
Definition StreamId.cpp:218
RecordableTypeId getTypeId() const
Definition StreamId.h:251
static StreamId lowest()
StreamId value guaranteed to be smaller than any valid StreamId object.
Definition StreamId.h:313
uint16_t getInstanceId() const
Definition StreamId.h:257
static bool isKnownTypeId(RecordableTypeId typeId)
Definition StreamId.cpp:213
bool operator<(const StreamId &rhs) const
Compare operator, so that we can use StreamId in containers, with a guarantied behavior.
Definition StreamId.h:272
Definition AsyncDiskFileChunk.hpp:49
@ Undefined
when not set explicitly
bool isARecordableClass(RecordableTypeId typeId)
Tell if an id is that of a "Recordable Class".
Definition StreamId.h:222
RecordableTypeId
VRS stream type or class identifier enum.
Definition StreamId.h:49
@ AlignmentRecordableClass
For alignment data streams.
@ AmbientLightRecordableClass
Ambient light data streams.
@ SlamCameraData
Legacy slam data stream.
@ OutsideInCameraRecordableClass
For outside in cameras.
@ InwardCameraRecordableClass
For cameras looking inward.
@ DisplayRecordableClass
For display buffer data streams.
@ InsideOutCameraRecordableClass
For inside out cameras.
@ MocapRecordableClass
For motion capture data streams.
@ MouseRecordableClass
For mouse data streams.
@ LidarRecordableClass
For Lidar data streams.
@ GyroscopeRecordableClass
For gyroscope data streams.
@ SpeechRecordableClass
For speech/ASR data streams.
@ MouthCameraRecordableClass
For cameras recording a mouth.
@ AmbientAudioRecordableClass
For multichannel microphones.
@ DisparityCameraRecordableClass
For disparity cameras.
@ IRCameraRecordableClass
For infrared cameras.
@ VRSIndex
Internal, for index records. See IndexRecord.
@ LastRecordableClassId
Helper values to test if a type is a recordable class.
@ GpsRecordableClass
For GPS data streams.
@ IlluminationRecordableClass
For illumination data streams.
@ SegmentationRecordableClass
For segmentation data streams.
@ ForceRecordableClass
Force data streams.
@ GroundTruthRecordableClass
For ground truth data streams.
@ UsbRecordableClass
For USB data streams.
@ InstructionRecordableClass
For instructions data streams.
@ RgbCameraRecordableClass
For color cameras.
@ DepthCameraRecordableClass
For depth cameras.
@ EventRecordableClass
For event data streams.
@ SampleDevice
For sample code.
@ ControllerRecordableClass
For controller data streams.
@ MeshRecordableClass
For mesh data streams.
@ UltrasonicRecordableClass
For ultrasonic data streams.
@ AttentionRecordableClass
For attention data streams.
@ GroundTruthImuRecordableClass
For ground truth IMU data streams.
@ ImageStream
Generic image stream. Prefer using "Recordable Class" IDs.
@ TemperatureRecordableClass
For temperature data streams.
@ FaceCameraRecordableClass
For cameras recording a face.
@ SensorRecordableClass
For unspecified sensor data. Use flavors to be specific.
@ RadarRecordableClass
Radar data streams.
@ SlamMagnetometerData
Legacy magnetometer data stream.
@ StereoAudioRecordableClass
For stereo microphones.
@ ArchiveStream
Generic archive stream. Prefer using "Recordable Class" IDs.
@ BarometerRecordableClass
For barometer data streams.
@ PipelineEventRecordableClass
For EMG pipeline events streams.
@ StepCountRecordableClass
Step count data streams.
@ ActiveMinutesRecordableClass
Active minutes data streams.
@ EMGGestureRecordableClass
For EMG gesture data streams.
@ CalibrationRecordableClass
For calibration data streams.
@ SensorVarianceBiasRecordableClass
For sensor variance/bias results.
@ MapRecordableClass
For map data streams.
@ SidewardCameraRecordableClass
For cameras looking to the side.
@ MonoAudioRecordableClass
For mono microphones.
@ PointCloudRecordableClass
For point cloud data streams.
@ GazeRecordableClass
For gaze data streams.
@ TextRecordableClass
For result data streams stored as text.
@ GroundTruthDepthRecordableClass
For ground truth depth data streams.
@ AnnotationRecordableClass
For annotation streams.
@ MotionRecordableClass
For motion data streams.
@ PerformanceRecordableClass
For performance data streams.
@ CapacitiveTouchRecordableClass
For capacitive touch data streams.
@ GroundTruthPositionRecordableClass
For ground truth position data streams.
@ DistanceRecordableClass
Distance data streams.
@ SyncRecordableClass
For synchronisation data streams.
@ GMSRecordableClass
For GMS location data stream.
@ TimeRecordableClass
For time data streams.
@ GroundTruthAlignmentRecordableClass
For ground truth alignment data streams.
@ DiagnosticRecordableClass
For diagnostic data streams.
@ UnitTest2
For unit tests.
@ HeartRateRecordableClass
Heart rate data streams.
@ HeadingRecordableClass
Heading data streams.
@ VRSDescription
Internal, for description records. See DescriptionRecord.
@ UpwardCameraRecordableClass
For cameras looking up.
@ BackwardCameraRecordableClass
For cameras looking back.
@ TouchInputRecordableClass
For touch input data streams.
@ GroundTruthOrientationRecordableClass
For ground truth orientation data streams.
@ SampleDeviceRecordableClass
For sample device streams.
@ AccelerometerRecordableClass
For accelerometer data streams.
@ AudioStream
Generic audio stream. Prefer using "Recordable Class" IDs.
@ OutwardCameraRecordableClass
For cameras looking outward.
@ GestureInputRecordableClass
For gesture input data streams.
@ DownwardCameraRecordableClass
For cameras looking down.
@ SetupRecordableClass
For setup data streams.
@ ResultRecordableClass
For result streams.
@ PhotoplethysmogramRecordableClass
For photoplethysmography data streams.
@ MagnetometerRecordableClass
For magnetometer data streams.
@ AnnotationStream
Generic annotation stream. Prefer using "Recordable Class" IDs.
@ CommandRecordableClass
For command data streams.
@ ImuRecordableClass
For IMU data streams.
@ UnitTestRecordableClass
For unit test streams.
@ EyeCameraRecordableClass
For cameras recording eyes.
@ EMGRecordableClass
For electromyography data streams.
@ FirstRecordableClassId
Helper values to test if a type is a recordable class.
@ ControlRecordableClass
For control data streams.
@ InputRecordableClass
For user input data streams.
@ CaloriesRecordableClass
Calories data streams.
@ WorldObserverCameraRecordableClass
For world observing cameras.
@ SlamImuData
Legacy IMU data stream.
@ BluetoothBeaconRecordableClass
For bluetooth beacon data streams.
@ PoseRecordableClass
For pose streams.
@ QuaternionRecordableClass
For quaternion data streams.
@ CsaRecordableClass
CSA data streams.
@ ScriptRecordableClass
For script data streams.
@ AnchorRecordableClass
For anchor data streams (i.e. spatial persistence anchors).
@ Undefined
Value used for default initializations and marking undefined situations.
@ UnitTest1
For unit tests.
@ WifiBeaconRecordableClass
For WIFI beacon data streams.
@ TextInputRecordableClass
For text input data streams.
@ DisplayObserverCameraRecordableClass
For display observing cameras.
@ ForwardCameraRecordableClass
For cameras looking forward.