9 #ifndef hifi_Recording_ClipCache_h
10 #define hifi_Recording_ClipCache_h
12 #include <QtCore/QSharedPointer>
14 #include <ResourceCache.h>
17 #include "impl/PointerClip.h"
21 class NetworkClip :
public PointerClip {
23 using Pointer = std::shared_ptr<NetworkClip>;
25 NetworkClip(
const QUrl& url) : _url(url) {}
26 virtual void init(
const QByteArray& clipData);
27 virtual QString getName()
const override {
return _url.toString(); }
34 class NetworkClipLoader :
public Resource {
37 NetworkClipLoader(
const QUrl& url);
38 NetworkClipLoader(
const NetworkClipLoader& other) :
Resource(other), _clip(other._clip) {}
40 virtual void downloadFinished(
const QByteArray& data)
override;
41 ClipPointer getClip() {
return _clip; }
42 bool completed() {
return _failedToLoad ||
isLoaded(); }
48 const NetworkClip::Pointer _clip;
51 using NetworkClipLoaderPointer = QSharedPointer<NetworkClipLoader>;
58 NetworkClipLoaderPointer getClipLoader(
const QUrl& url);
61 virtual QSharedPointer<Resource> createResource(
const QUrl& url)
override;
62 QSharedPointer<Resource> createResourceCopy(
const QSharedPointer<Resource>& resource)
override;
65 ClipCache(QObject* parent =
nullptr);
Base class for resource caches.
Definition: ResourceCache.h:196
Base class for resources.
Definition: ResourceCache.h:409
virtual bool isLoaded() const
Checks whether the resource has loaded.
Definition: ResourceCache.h:439