You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
785 B
C++
35 lines
785 B
C++
//
|
|
// Created by Matthew on 2025/3/4.
|
|
//
|
|
|
|
#ifndef MICROPHOTO_VENDORCTRL_H
|
|
#define MICROPHOTO_VENDORCTRL_H
|
|
|
|
#include <string>
|
|
#include <json/json.h>
|
|
|
|
class VendorCtrl {
|
|
public:
|
|
VendorCtrl(const std::string& ip, const std::string& userName, const std::string& password, uint8_t channel);
|
|
virtual ~VendorCtrl() = 0;
|
|
|
|
virtual bool SetOsd() = 0;
|
|
virtual void EnableOsd(bool enable) = 0;
|
|
virtual std::string GetStreamingUrl(uint8_t channel) = 0;
|
|
virtual bool UpdateTime(time_t ts) = 0;
|
|
virtual bool TakePhoto(std::vector<uint8_t>& img) = 0;
|
|
|
|
protected:
|
|
|
|
std::string CvtJSONToString(const Json::Value& data);
|
|
|
|
protected:
|
|
std::string m_ip;
|
|
std::string m_userName;
|
|
std::string m_password;
|
|
uint8_t m_channel;
|
|
};
|
|
|
|
|
|
#endif //MICROPHOTO_VENDORCTRL_H
|