Program Listing for File Device.hpp

Return to documentation for file (include/depthai/device/Device.hpp)

// IWYU pragma: private, include "depthai/depthai.hpp"
#pragma once

// std
#include <algorithm>
#include <chrono>
#include <condition_variable>
#include <deque>
#include <memory>
#include <mutex>
#include <string>
#include <unordered_map>

// project
#include "depthai/device/DeviceBase.hpp"
#include "depthai/utility/RecordReplay.hpp"

namespace dai {

enum class Platform { RVC2, RVC3, RVC4 };

std::string platform2string(Platform platform);

Platform string2platform(const std::string& platform);

class Device : public DeviceBase {
   public:
    using DeviceBase::DeviceBase;  // inherit the ctors
    using DeviceBase::ReconnectionStatus;

    Device();

    ~Device() override;

    Platform getPlatform() const;

    std::string getPlatformAsString() const;

   private:
    void closeImpl() override;
};

}  // namespace dai