EHS/include/IO/RIFF.h
2023-12-17 15:00:08 -08:00

38 lines
585 B
C++

#pragma once
#include "EHS.h"
#include "Str.h"
#include "Vector.h"
#include "Serializer.h"
#include "RIFF_Chunk.h"
namespace lwe
{
class RIFF
{
private:
Str_8 type;
Vector<RIFF_Chunk> chunks;
public:
RIFF() = default;
RIFF(const Str_8& filePath);
RIFF(Serializer<>& data);
RIFF(const RIFF& riff) = default;
operator const RIFF_Chunk*() const;
Str_8 GetType() const;
bool HasChunk(const UInt_64 hashId) const;
bool HasChunk(const Str_8& id) const;
RIFF_Chunk GetChunk(const UInt_64 hashId) const;
RIFF_Chunk GetChunk(const Str_8& id) const;
};
}