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

#ifndef __STATIONDATAITEM_HPP__
#define __STATIONDATAITEM_HPP__

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

namespace otx {
namespace jidu {

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

private:
  std::string mTestItemName;
  std::string mTestItemId;
  std::string mTestItemResult;
  std::vector<StationDataECU*> mTestEcuItems;

public:
  virtual std::string getTestItemName();
  virtual void setTestItemName(const std::string &v);

  virtual std::string getTestItemId();
  virtual void setTestItemId(const std::string &v);

  virtual std::string getTestItemResult();
  virtual void setTestItemResult(const std::string &v);

  virtual std::vector<StationDataECU *> *getTestEcuItems();
  virtual StationDataECU *newEcu();

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

} // namespace jidu
} // namespace otx

#endif /* __STATIONDATAITEM_HPP__ */
