#pragma once
struct innerCsControl;
class Sensor;
#include "Identifier.h"
#include "dll_macro.h"
#include <memory>
enum CsControlMode
{
    Undefined,
    Software,
    Default,
    ObjectIsNull
};
class DLL_API CsControl
{
public:
    CsControl(std::shared_ptr<innerCsControl> inner);
    ~CsControl();
    bool isNull() const;
    CsControlMode getCsControlMode();
    Identifier getIdentifier();
    float getMaxSoftwareValue();
    float getMinSoftwareValue();
    Sensor getSensor();
    float getSoftwareValue();
    void SetDefault();
    void SetSoftware(float value);
private:
    std::shared_ptr<innerCsControl> inner;
};
