/**
 * \file    Mimic_Float.hpp
 * \author  Silvan Murer
 * \date    02 August 2022
 *
 * \brief   Float class of genSDK GF implementation, based on Mimic_Node
 */

#ifndef INC_FEATURES_MIMIC_FLOAT
#define INC_FEATURES_MIMIC_FLOAT

#include "features/Mimic_Node.hpp"

#include <memory>
#include <string>

namespace mimic {

class Mimic_Float : public Mimic_Node
{
private:

public:
	Mimic_Float();
	Mimic_Float(GenApi_3_4::INode* node);
	virtual ~Mimic_Float();

	virtual std::variant<int64_t, double, bool, std::string> getVariant(std::string name);
	virtual void setVariant(std::string name, std::variant<int64_t, double, bool, std::string> value);

	double getValue();
	void setValue(double value);

	//double getMin();
	//double getMax();
	//EIncMode getIncMode();
	//double getInc();
	//std::vector<double> GetListOfValidValue();
	//ERepresentation GetRepresentation();
	//std::string GetUnit();
};

} /* namespace mimic */

#endif
