#pragma once #include #include #include #include #include #include enum class Content1 : uint32_t {}; using ContentRegistry = entt::basic_registry; using ContentHandle = entt::basic_handle; namespace Content::Components { // or something struct TagFile {}; struct TagAudioStream {}; struct TagVideoStream {}; // the associated messages, if any // useful if you want to update progress on the message struct Messages { std::vector messages; }; // ? struct SuspectedParticipants { entt::dense_set participants; }; struct ReadHeadHint { // points to the first byte we want // this is just a hint, that can be set from outside // to guide the sequential "piece picker" strategy // the strategy *should* set this to the first byte we dont yet have uint64_t offset_into_file {0u}; }; } // Content::Components // TODO: i have no idea struct RawFile2ReadFromContentFactoryI { virtual std::shared_ptr open(ContentHandle h) = 0; };