Skip to content

InscoperAPI/API/Base/Description/DeviceDescription.h

Namespaces

Name
Inscoper
Inscoper namespace.

Classes

Name
class Inscoper::DeviceDescription
DeviceDescription class provides device information coming from drivers.

Source code

#ifndef DEVICEDESCRIPTION_H
#define DEVICEDESCRIPTION_H

#include <Base/Description/DriverDescription.h>
#include <Base/Description/ParamDescription.h>
#include <Base/Description/SubDeviceDescription.h>
#include <Base/Description/SubDeviceGroupDescription.h>
#include <Base/Driver/EDriverType.h>

#include <NBO/NBO/ENBOType.h>

#include <memory>
#include <string>
#include <vector>

namespace Inscoper {

class INSCOPER_EXPORT DeviceDescription {
public:
  DeviceDescription();

  const std::string &getDescription() const;

  void setDescription(const std::string &description);

  const std::string &getVersion() const;

  void setVersion(const std::string &version);

  const std::string &getBrand() const;

  void setBrand(const std::string &brand);

  const std::string &getModel() const;

  void setModel(const std::string &model);

  const std::string &getReleaseDate() const;

  void setReleaseDate(const std::string &releaseDate);

  const std::string &getAuthor() const;

  void setAuthor(const std::string &author);

  const std::string &getChangeLog() const;

  void setChangeLog(const std::string &changeLog);

  const std::string &getFxmlContent() const;

  void setFxmlContent(const std::string &fxmlContent);

  Inscoper::EDriverType getDriverType() const;

  Inscoper::NBO::ENBOType getNBOType() const;

  void setNBOType(Inscoper::NBO::ENBOType nboType);

  bool isInitialized() const;

  void setInitialized(bool initialized);

  void addSubDeviceDescription(const Inscoper::SubDeviceDescriptionPtr &subDeviceDescription);

  std::vector<Inscoper::SubDeviceDescriptionPtr> getSubDeviceDescriptionList() const;

  Inscoper::SubDeviceDescriptionPtr getSubDeviceDescription(unsigned short subDeviceTag);

  void addParamsDescription(const Inscoper::ParamDescriptionPtr &paramsDescription);

  Inscoper::ParamDescriptionPtr getParamsDescription(unsigned short paramTag);

  const std::vector<Inscoper::ParamDescriptionPtr> &getParamsDescriptionList() const;

  void setParamDescriptionList(const std::vector<Inscoper::ParamDescriptionPtr> &paramDescriptionList);

  const Inscoper::DriverDescriptionPtr &getDriverDescription() const;

  void setDriverDescription(const Inscoper::DriverDescriptionPtr &driverDescription);

  void addSubDeviceGroupDescription(const Inscoper::SubDeviceGroupDescriptionPtr &subDeviceGroupDescription);

  const std::vector<Inscoper::SubDeviceGroupDescriptionPtr> &getSubDeviceGroupDescriptionList() const;

  void setSubDeviceGroupDescriptionList(
      const std::vector<Inscoper::SubDeviceGroupDescriptionPtr> &subDeviceGroupDescriptionList);

  Inscoper::SubDeviceGroupDescriptionPtr getSubDeviceGroupDescription(unsigned short groupTag);

private:
  std::string _description;
  std::string _version;
  std::string _releaseDate;
  std::string _brand;
  std::string _model;
  std::string _author;
  std::string _changeLog;
  std::string _fxmlContent;
  bool _initialized;

  Inscoper::DriverDescriptionPtr _driverDescription;
  Inscoper::NBO::ENBOType _nboType;

  std::vector<Inscoper::SubDeviceGroupDescriptionPtr> _subDeviceGroupDescriptionList;
  std::vector<Inscoper::ParamDescriptionPtr> _paramDescriptionList;
};

typedef std::shared_ptr<DeviceDescription> DeviceDescriptionPtr;

} // namespace Inscoper

#endif // DEVICEDESCRIPTION_H

Updated on 2026-09-03 at 12:14:17 +0200