// Copyrigth Xtooltech @ 2023- All rights reserved.(LXH)

#ifndef __STATIONDATAECU_HPP__
#define __STATIONDATAECU_HPP__

#include <string>
#include <vector>
#include "JsonSerializable.hpp"

namespace otx {
namespace jidu {

/**
 * @brief 小项中的ECU。
 *
 */
class StationDataECU : virtual public JsonSerializable {
public:
  StationDataECU();
  StationDataECU(const StationDataECU &) = default;
  StationDataECU &operator=(const StationDataECU &) = default;
  virtual ~StationDataECU() = default;

private:
  std::string mEcuName;
  std::string mEcuAddress;
  std::string mServerId;
  std::string mDid;
  std::string mResultData;
  std::string mValue;
  std::string mExpectData;
  std::size_t mNumber;

public:
  virtual std::string getEcuName();
  virtual void setEcuName(const std::string &v);

  virtual std::string getEcuAddress();
  virtual void setEcuAddress(const std::string &v);

  virtual std::string getServerId();
  virtual void setServerId(const std::string &v);

  virtual std::string getDid();
  virtual void setDid(const std::string &v);

  virtual std::string getResultData();
  virtual void setResultData(const std::string &v);

  virtual std::string getValue();
  virtual void setValue(const std::string &v);

  virtual std::string getExpectData();
  virtual void setExpectData(const std::string &v);

  virtual std::size_t getNumber();
  virtual void setNumber(std::size_t v);

  virtual std::string toJsonString() override;
};

} // namespace jidu
} // namespace otx

#endif /* __STATIONDATAECU_HPP__ */
