Skip to content

InscoperAPI/API/Base/Device/AbstractSystem.h

Namespaces

Name
Inscoper
Inscoper namespace.

Classes

Name
class Inscoper::AbstractSystem
AbstractSystem class is the base class for all device types.

Source code

#ifndef ABSTRACTSYSTEM_H
#define ABSTRACTSYSTEM_H

#include <Base/Device/EDeviceType.h>
#include <Base/Device/EParamType.h>
#include <Base/Device/SubDeviceId.h>
#include <Base/Utils/ErrorListener.h>
#include <Global.h>
#include <Shared/Log/ELogLevel.h>
#include <Shared/Log/LogListener.h>
#include <map>
#include <memory>
#include <string>
#include <vector>

namespace Inscoper {
class INSCOPER_EXPORT AbstractSystem {
public:
  virtual ~AbstractSystem() = default;

  virtual Inscoper::EDeviceType getDeviceType() = 0;

  virtual std::string getLastError() = 0;

  virtual std::vector<std::string> getProperties() = 0;

  virtual std::vector<Inscoper::SubDeviceId> getModifiedProperties() = 0;

  virtual std::string getProperty(const std::string &name) = 0;

  virtual void setProperty(const std::string &name, const std::string &value) = 0;

  virtual void checkProperty(const std::string &name) = 0;

  virtual bool isReadOnly(const std::string &propName) = 0;

  virtual Inscoper::EParamType getType(const std::string &propName) = 0;

  virtual std::string getMin(const std::string &propName) = 0;

  virtual std::string getMax(const std::string &propName) = 0;

  virtual std::string getStep(const std::string &propName) = 0;

  virtual std::vector<std::string> getValueList(const std::string &propName) = 0;

  virtual bool isAccessibleInSequence(const std::string &propName) = 0;
};

typedef std::shared_ptr<AbstractSystem> SystemPtr;

} // namespace Inscoper

#endif /* ABSTRACTSYSTEM_H */

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