orbbec-sdk-sys 0.1.2+2.5.5

Low-level Rust bindings for https://github.com/orbbec/OrbbecSDK_v2
Documentation
#pragma once
#include "IDevice.hpp"
#include "IFrameInterleaveManager.hpp"
#include "InternalTypes.hpp"
#include "DeviceComponentBase.hpp"

#include <map>
#include <string>
#include <vector>

namespace libobsensor {

class G435LeFrameInterleaveManager : public IFrameInterleaveManager, public DeviceComponentBase {
public:
    G435LeFrameInterleaveManager(IDevice *owner);
    ~G435LeFrameInterleaveManager() override = default;

    void                            loadFrameInterleave(const std::string &frameInterleaveName) override;
    const std::vector<std::string> &getAvailableFrameInterleaveList() const override;

private:
    void updateFrameInterleaveParam(uint32_t propertyId);

private:
    std::vector<std::string> availableFrameInterleaves_;
    std::string              currentFrameInterleave_;

    int currentIndex_;

    FrameInterleaveParam hdr_[2];
    FrameInterleaveParam hdrDefault_[2];

    FrameInterleaveParam laserInterleave_[2];
    FrameInterleaveParam laserInterleaveDefault_[2];
};

}  // namespace libobsensor