#ifndef MySerializer_H
#define MySerializer_H

#include "MySerializable.h"
namespace ProtoGenWrapper
{
	class MySerializer :
		public ISerializer
	{
	public:
		bool SerializeToString(const ComChannel& comChannel, std::string* output) override;
		bool SerializeToString(const DiagService& diagService, std::string* output) override;
		bool SerializeToString(const DResponse& response, std::string* output) override;
		bool SerializeToString(const DResult& result, std::string* output) override;
		bool SerializeToString(const DParameter& parameter, std::string* output) override;
		bool SerializeToString(const ComInterface& comInterface, std::string* output) override;
		bool SerializeToString(const DResultState& resultState, std::string* output) override;
		bool SerializeToString(const DError& error, std::string* output) override;
		bool SerializeToString(const DResponseParameter& error, std::string* output) override;
		bool SerializeToString(const DRequest& request, std::string* output) override;
		bool SerializeToString(const OnPrimitiveBufferHasResult& onPrimitiveBufferHasResult, std::string* output) override;
	};
}
#endif // MySerializer_H
