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 567 of file KisResourceStorage.cpp.

568{
570 return m_cachedResource;
571 }
572
575
576 return m_cachedResource;
577}
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 510 of file KisResourceStorage.cpp.

511{
512 struct DumbIterator : public ResourceIterator
513 {
514 public:
515 DumbIterator(const ResourceIterator *parent)
516 : m_parent(parent)
517 {
518 }
519
520 bool hasNext() const override {
521 return !m_isStarted;
522 }
523
524 void next() override {
525 KIS_SAFE_ASSERT_RECOVER_NOOP(!m_isStarted);
526 m_isStarted = true;
527 }
528 QString url() const override
529 {
530 return m_parent->url();
531 }
532
533 QString type() const override
534 {
535 return m_parent->type();
536 }
537
538 QDateTime lastModified() const override
539 {
540 return m_parent->lastModified();
541 }
542
543 int guessedVersion() const override
544 {
545 return m_parent->guessedVersion();
546 }
547
549 {
550 return toQShared(new DumbIterator(m_parent));
551 }
552
553 protected:
554 KoResourceSP resourceImpl() const override
555 {
556 return m_parent->resource();
557 }
558
559 private:
560 bool m_isStarted = false;
561 const ResourceIterator *m_parent;
562 };
563
564 return QSharedPointer<KisResourceStorage::ResourceIterator>(new DumbIterator(this));
565}
#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: