#ifndef OpenTestSystem_OtxDiagManager_Common_ISerializable_H
#define OpenTestSystem_OtxDiagManager_Common_ISerializable_H

#include "CommonDefs.h"
#include <string>
#include <iostream>

namespace OpenTestSystem
{
	namespace OtxDiagManager
	{
		namespace Common
		{
			class COMMON_EXPORTS ISerializable
			{
			protected:
				ISerializable() {};
			public:
				virtual ~ISerializable() {};
				virtual void Serialize(std::string* /*output*/) const {};
				virtual void Deserialize(const std::string& /*data*/) {};
				virtual std::string GetSerializationName() { return "ISerializable"; }; // Typname
			};
		}
	}
}
#endif // OpenTestSystem_OtxDiagManager_Common_ISerializable_H
