#ifndef DFlashSession_H
#define DFlashSession_H
#include <string>
#include "TypeDefs.h"

namespace ProtoGenWrapper
{
	class DFlashSession
	{
	public:
		DFlashSession(std::string identifier, std::string shortName, std::string flashKey, int32 priority, bool isDownload);
		DFlashSession(const DFlashSession& other);

		void Identifier(const std::string& identifier);
		std::string Identifier() const;
		void ShortName(const std::string& shortName);
		std::string ShortName() const;
		void FlashKey(const std::string flashKey);
		std::string FlashKey() const;
		void Priority(int32 priority);
		int32 Priority() const;
		void IsDownload(const bool isDownload);
		bool IsDownload() const;

		void GetValues(std::string& identifier, std::string& shortName, std::string& flashKey, int32& priority, bool& isDownload);

		friend bool operator==(const DFlashSession& lhs, const DFlashSession& rhs);
		friend bool operator!=(const DFlashSession& lhs, const DFlashSession& rhs);

	protected:
		std::string _identifier;
		std::string _shortName;
		std::string _flashKey;
		int32 _priority;
		bool _isDownload;
	};
}
#endif // DFlashSession_H
