#ifndef ComChannel_H
#define ComChannel_H

#include <string>
#include "TypeDefs.h"
#include "MySerializable.h"

namespace ProtoGenWrapper
{
	class ComChannel : public MySerializable
	{
	public:
		ComChannel();

		int64 GetHandle() const;
		void SetHandle(int64 handle);
		std::string GetIdentifier() const;
		void SetIdentifier(const std::string& identifier);
		std::string GetEcuVariantName() const;
		void SetEcuVariantName(const std::string& ecuVariantName);
		std::string GetLongName() const;
		void SetLongName(const std::string& longName);

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

	protected:
		int64 _handle;
		std::string _identifier;
		std::string _ecuVariantName;
		std::string _longName;
	};
}

#endif // ComChannel_H