Krita Source Code Documentation
Loading...
Searching...
No Matches
KisResourceStorage::ResourceIterator Class Referenceabstract

#include <KisResourceStorage.h>

+ Inheritance diagram for KisResourceStorage::ResourceIterator:

Public Member Functions

virtual int guessedVersion () const
 
virtual bool hasNext () const =0
 
virtual QDateTime lastModified () const =0
 
virtual void next ()=0
 The iterator is only valid if next() has been called at least once.
 
KoResourceSP resource () const
 
virtual QString type () const =0
 
virtual QString url () const =0
 
virtual QSharedPointer< KisResourceStorage::ResourceIteratorversions () const
 
virtual ~ResourceIterator ()
 

Protected Member Functions

virtual KoResourceSP resourceImpl () const =0
 This only loads the resource when called.
 

Private Attributes

KoResourceSP m_cachedResource
 
QString m_cachedResourceUrl
 

Detailed Description

Definition at line 77 of file KisResourceStorage.h.

Constructor & Destructor Documentation

◆ ~ResourceIterator()

virtual KisResourceStorage::ResourceIterator::~ResourceIterator ( )
inlinevirtual

Definition at line 81 of file KisResourceStorage.h.

81{}

Member Function Documentation

◆ guessedVersion()

virtual int KisResourceStorage::ResourceIterator::guessedVersion ( ) const
inlinevirtual

Reimplemented in KisVersionedStorageIterator.

Definition at line 90 of file KisResourceStorage.h.

90{ return 0; }

◆ hasNext()

virtual bool KisResourceStorage::ResourceIterator::hasNext ( ) const
pure virtual

◆ lastModified()

virtual QDateTime KisResourceStorage::ResourceIterator::lastModified ( ) const
pure virtual

◆ next()

virtual void KisResourceStorage::ResourceIterator::next ( )
pure virtual

The iterator is only valid if next() has been called at least once.

Implemented in AbrIterator, FontIterator, AslIterator, and KisVersionedStorageIterator.

◆ resource()

KoResourceSP KisResourceStorage::ResourceIterator::resource ( ) const

Definition at line 524 of file KisResourceStorage.cpp.

525{
527 return m_cachedResource;
528 }
529
532
533 return m_cachedResource;
534}
virtual QString url() const =0
virtual KoResourceSP resourceImpl() const =0
This only loads the resource when called.

◆ resourceImpl()

virtual KoResourceSP KisResourceStorage::ResourceIterator::resourceImpl ( ) const
protectedpure virtual

This only loads the resource when called.

Implemented in AbrIterator, FontIterator, AslIterator, and KisVersionedStorageIterator.

◆ type()

virtual QString KisResourceStorage::ResourceIterator::type ( ) const
pure virtual

◆ url()

virtual QString KisResourceStorage::ResourceIterator::url ( ) const
pure virtual

◆ versions()

QSharedPointer< KisResourceStorage::ResourceIterator > KisResourceStorage::ResourceIterator::versions ( ) const
virtual

Reimplemented in KisVersionedStorageIterator.

Definition at line 467 of file KisResourceStorage.cpp.

468{
469 struct DumbIterator : public ResourceIterator
470 {
471 public:
472 DumbIterator(const ResourceIterator *parent)
473 : m_parent(parent)
474 {
475 }
476
477 bool hasNext() const override {
478 return !m_isStarted;
479 }
480
481 void next() override {
482 KIS_SAFE_ASSERT_RECOVER_NOOP(!m_isStarted);
483 m_isStarted = true;
484 }
485 QString url() const override
486 {
487 return m_parent->url();
488 }
489
490 QString type() const override
491 {
492 return m_parent->type();
493 }
494
495 QDateTime lastModified() const override
496 {
497 return m_parent->lastModified();
498 }
499
500 int guessedVersion() const override
501 {
502 return m_parent->guessedVersion();
503 }
504
506 {
507 return toQShared(new DumbIterator(m_parent));
508 }
509
510 protected:
511 KoResourceSP resourceImpl() const override
512 {
513 return m_parent->resource();
514 }
515
516 private:
517 bool m_isStarted = false;
518 const ResourceIterator *m_parent;
519 };
520
521 return QSharedPointer<KisResourceStorage::ResourceIterator>(new DumbIterator(this));
522}
#define KIS_SAFE_ASSERT_RECOVER_NOOP(cond)
Definition kis_assert.h:130
QSharedPointer< T > toQShared(T *ptr)
QAction * next(const QObject *recvr, const char *slot, QObject *parent)
ChildIterator< value_type, is_const > parent(const ChildIterator< value_type, is_const > &it)
Definition KisForest.h:327

References KIS_SAFE_ASSERT_RECOVER_NOOP, and toQShared().

Member Data Documentation

◆ m_cachedResource

KoResourceSP KisResourceStorage::ResourceIterator::m_cachedResource
mutableprivate

Definition at line 100 of file KisResourceStorage.h.

◆ m_cachedResourceUrl

QString KisResourceStorage::ResourceIterator::m_cachedResourceUrl
mutableprivate

Definition at line 101 of file KisResourceStorage.h.


The documentation for this class was generated from the following files: