12 #ifndef hifi_HFMSerializer_h
13 #define hifi_HFMSerializer_h
15 #include <shared/HifiTypes.h>
18 #include <shared/MediaTypeLibrary.h>
27 virtual std::shared_ptr<Serializer> get() = 0;
31 class SimpleFactory :
public Factory {
32 std::shared_ptr<Serializer> get()
override {
33 return std::make_shared<T>();
37 virtual MediaType getMediaType()
const = 0;
38 virtual std::unique_ptr<Factory> getFactory()
const = 0;
40 virtual Model::Pointer read(
const hifi::ByteArray& data,
const hifi::VariantHash& mapping,
const hifi::URL& url = hifi::URL()) = 0;
45 using HFMSerializer = hfm::Serializer;