///-------------------------------------------------------------------------------------------------
/// 
/// \file TypeError.h
/// \author J. T. Lindgren / Inria.
/// \copyright Copyright (C) 2022 Inria
///
/// This program is free software: you can redistribute it and/or modify
/// it under the terms of the GNU Affero General Public License as published
/// by the Free Software Foundation, either version 3 of the License, or
/// (at your option) any later version.
///
/// This program is distributed in the hope that it will be useful,
/// but WITHOUT ANY WARRANTY; without even the implied warranty of
/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
/// GNU Affero General Public License for more details.
///
/// You should have received a copy of the GNU Affero General Public License
/// along with this program.  If not, see <https://www.gnu.org/licenses/>.
///
///-------------------------------------------------------------------------------------------------

#pragma once

#include <openvibe/ov_all.h>

#include "Chunk.h"

namespace OpenViBE {
namespace Tracker {
/// <summary> Abstract class for error situations /summary>
class TypeError
{
public:
	static CIdentifier getTypeIdentifier() { return CIdentifier::undefined(); }

	class Header : public Chunk { };

	class Buffer : public Chunk { };

	class End : public Chunk { };

	// Prevent constructing
	TypeError()                 = delete;
	TypeError(const TypeError&) = delete;
	TypeError(TypeError&&)      = delete;
};
}  // namespace Tracker
}  // namespace OpenViBE
