#ifndef ProtoGenWrapper_DResultState_H
#define ProtoGenWrapper_DResultState_H

#include "MySerializable.h"

#include "TypeDefs.h"
namespace ProtoGenWrapper
{
	class DResultState : public MySerializable
	{
	public:
		DResultState();
		DResultState(int32 executionState, int32 lockState, int32 logicalLinkState, int32 repetitionState);

		int32 GetExecutionState() const;
		void SetExecutionState(int32 executionState);
		int32 GetLockState() const;
		void SetLockState(int32 lockState);
		int32 GetLogicalLinkState() const;
		void SetLogicalLinkState(int32);
		int32 GetRepetitionState() const;
		void SetRepetitionState(int32);

		void Serialize(std::string* output) const override;
		void Deserialize(const std::string& data) override;

	protected:
		int32 _executionState = 0;
		int32 _lockState = 0;
		int32 _logicalLinkState = 0;
		int32 _repetitionState = 0;
	};
}
#endif // ProtoGenWrapper_DResultState_H
