GrabBag/VrConfig/Inc/IVrConfig.h

59 lines
994 B
C
Raw Normal View History

2025-06-08 12:48:04 +08:00
#ifndef IVRCONFIG_H
#define IVRCONFIG_H
#include <string>
#include <vector>
#include <utility>
struct DeviceInfo
{
std::string name;
std::string ip;
};
/**
* @brief <EFBFBD><EFBFBD><EFBFBD>ü<EFBFBD><EFBFBD>ؽ<EFBFBD><EFBFBD><EFBFBD>
*/
struct ConfigResult
{
std::vector<DeviceInfo> cameraList;
std::vector<DeviceInfo> deviceList;
};
/**
* @brief VrConfig<EFBFBD>ӿ<EFBFBD><EFBFBD><EFBFBD>
*/
class IVrConfig
{
public:
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
virtual ~IVrConfig() {}
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD>
* @return ʵ<EFBFBD><EFBFBD>
*/
static bool CreateInstance(IVrConfig** ppVrConfig);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
* @param filePath <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>·<EFBFBD><EFBFBD>
* @return <EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ý<EFBFBD><EFBFBD><EFBFBD>
*/
virtual ConfigResult LoadConfig(const std::string& filePath) = 0;
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
* @param filePath <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>·<EFBFBD><EFBFBD>
* @param configResult <EFBFBD><EFBFBD><EFBFBD>ý<EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>Ƿ񱣴<EFBFBD><EFBFBD>ɹ<EFBFBD>
*/
virtual bool SaveConfig(const std::string& filePath, ConfigResult& configResult) = 0;
};
#endif // IVRCONFIG_H