SmartLockerTools/Peripheral/DeviceDiscovery.h
2024-10-01 23:01:52 +08:00

28 lines
749 B
C++

#ifndef __DEVICEDISCOVERY_H__
#define __DEVICEDISCOVERY_H__
#include <memory>
#include <mfidl.h>
#include <mfreadwrite.h>
#include <string>
#include <system_error>
#include <vector>
class DeviceDiscovery {
constexpr static int32_t OtaSpecificWidth = 96;
public:
struct Device;
using Resolution = std::pair<int32_t, int32_t>;
using Resolutions = std::vector<Resolution>;
DeviceDiscovery();
std::shared_ptr<Device> find(const std::string &deviceName, std::error_code &error);
void enterOtaMode(const std::shared_ptr<Device> &device, std::error_code &error);
std::vector<std::string> devices();
protected:
Resolutions deviceResolutions(const std::shared_ptr<Device> &source);
};
#endif // __DEVICEDISCOVERY_H__