KNSCore::Provider

Search for usage in LXR

#include <provider.h>

Inheritance diagram for KNSCore::Provider:

Classes

struct  CategoryMetadata
 
struct  SearchPreset
 
struct  SearchRequest
 

Public Types

enum  Filter { None, Installed, Updates, ExactEntryId }
 
typedef QList< Provider * > List
 
enum  SearchPresetTypes {
  NoPresetType = 0, GoBack, Root, Start,
  Popular, Featured, Recommended, Shelf,
  Subscription, New, FolderUp, AllEntries
}
 
enum  SortMode { Newest, Alphabetical, Rating, Downloads }
 

Properties

QString contactEmail
 
QUrl host
 
bool supportsSsl
 
QString version
 
QUrl website
 
- Properties inherited from QObject
 objectName
 

Signals

void basicsLoaded ()
 
void categoriesMetadataLoded (const QList< CategoryMetadata > &categories)
 
void commentsLoaded (const QList< std::shared_ptr< KNSCore::Comment >> comments)
 
void entryDetailsLoaded (const KNSCore::EntryInternal &)
 
void loadingFailed (const KNSCore::Provider::SearchRequest &)
 
void loadingFinished (const KNSCore::Provider::SearchRequest &, const KNSCore::EntryInternal::List &) const
 
void payloadLinkLoaded (const KNSCore::EntryInternal &)
 
void personLoaded (const std::shared_ptr< KNSCore::Author > author)
 
void providerInitialized (KNSCore::Provider *)
 
void searchPresetsLoaded (const QList< SearchPreset > &presets)
 
void signalError (const QString &) const
 
void signalErrorCode (const KNSCore::ErrorCode &errorCode, const QString &message, const QVariant &metadata) const
 
void signalInformation (const QString &) const
 

Public Member Functions

 Provider ()
 
virtual ~Provider ()
 
virtual void becomeFan (const EntryInternal &entry)
 
QString contactEmail () const
 
QStringList downloadTagFilter () const
 
QUrl host () const
 
virtual QUrl icon () const
 
virtual QString id () const =0
 
virtual bool isInitialized () const =0
 
Q_SIGNAL void loadBasics ()
 
Q_SIGNAL void loadComments (const EntryInternal &entry, int commentsPerPage, int page)
 
virtual void loadEntries (const KNSCore::Provider::SearchRequest &request)=0
 
virtual void loadEntryDetails (const KNSCore::EntryInternal &)
 
virtual void loadPayloadLink (const EntryInternal &entry, int linkId)=0
 
Q_SIGNAL void loadPerson (const QString &username)
 
virtual QString name () const
 
virtual void setCachedEntries (const KNSCore::EntryInternal::List &cachedEntries)=0
 
void setContactEmail (const QString &contactEmail)
 
void setDownloadTagFilter (const QStringList &downloadTagFilter)
 
void setHost (const QUrl &host)
 
virtual bool setProviderXML (const QDomElement &xmldata)=0
 
void setSupportsSsl (bool supportsSsl)
 
void setTagFilter (const QStringList &tagFilter)
 
void setVersion (const QString &version)
 
void setWebsite (const QUrl &website)
 
bool supportsSsl () const
 
QStringList tagFilter () const
 
virtual bool userCanBecomeFan ()
 
virtual bool userCanVote ()
 
QString version () const
 
virtual void vote (const EntryInternal &entry, uint rating)
 
QUrl website () const
 
- Public Member Functions inherited from QObject
 QObject (QObject *parent)
 
bool blockSignals (bool block)
 
const QObjectListchildren () const const
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const
 
void deleteLater ()
 
void destroyed (QObject *obj)
 
bool disconnect (const char *signal, const QObject *receiver, const char *method) const const
 
bool disconnect (const QObject *receiver, const char *method) const const
 
void dumpObjectInfo ()
 
void dumpObjectInfo () const const
 
void dumpObjectTree ()
 
void dumpObjectTree () const const
 
QList< QByteArraydynamicPropertyNames () const const
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
findChild (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegExp &regExp, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
 
bool inherits (const char *className) const const
 
void installEventFilter (QObject *filterObj)
 
bool isWidgetType () const const
 
bool isWindowType () const const
 
void killTimer (int id)
 
virtual const QMetaObjectmetaObject () const const
 
void moveToThread (QThread *targetThread)
 
QString objectName () const const
 
void objectNameChanged (const QString &objectName)
 
QObjectparent () const const
 
QVariant property (const char *name) const const
 
 Q_CLASSINFO (Name, Value)
 
 Q_DISABLE_COPY (Class)
 
 Q_DISABLE_COPY_MOVE (Class)
 
 Q_DISABLE_MOVE (Class)
 
 Q_EMIT Q_EMIT
 
 Q_ENUM (...)
 
 Q_ENUM_NS (...)
 
 Q_ENUMS (...)
 
 Q_FLAG (...)
 
 Q_FLAG_NS (...)
 
 Q_FLAGS (...)
 
 Q_GADGET Q_GADGET
 
 Q_INTERFACES (...)
 
 Q_INVOKABLE Q_INVOKABLE
 
 Q_NAMESPACE Q_NAMESPACE
 
 Q_NAMESPACE_EXPORT (EXPORT_MACRO)
 
 Q_OBJECT Q_OBJECT
 
 Q_PROPERTY (...)
 
 Q_REVISION Q_REVISION
 
 Q_SET_OBJECT_NAME (Object)
 
 Q_SIGNAL Q_SIGNAL
 
 Q_SIGNALS Q_SIGNALS
 
 Q_SLOT Q_SLOT
 
 Q_SLOTS Q_SLOTS
 
qFindChild (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QRegExp &regExp)
 
QList< T > qFindChildren (const QObject *obj, const QString &name)
 
qobject_cast (QObject *object)
 
qobject_cast (const QObject *object)
 
 QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
 
void removeEventFilter (QObject *obj)
 
void setObjectName (const QString &name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool signalsBlocked () const const
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds time, Qt::TimerType timerType)
 
QThreadthread () const const
 

Protected Attributes

QUrl mIcon
 
QString mName
 

Additional Inherited Members

- Static Public Member Functions inherited from QObject
QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, Functor functor)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type)
 
bool disconnect (const QMetaObject::Connection &connection)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
- Public Attributes inherited from QObject
typedef QObjectList
 
- Protected Member Functions inherited from QObject
virtual void childEvent (QChildEvent *event)
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void customEvent (QEvent *event)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
bool isSignalConnected (const QMetaMethod &signal) const const
 
int receivers (const char *signal) const const
 
QObjectsender () const const
 
int senderSignalIndex () const const
 
virtual void timerEvent (QTimerEvent *event)
 

Detailed Description

KNewStuff Base Provider class.

This class provides accessors for the provider object. It should not be used directly by the application. This class is the base class and will be instantiated for static website providers.

Author
Jeremy Whiting jpwhi[email protected]ting[email protected]@kde.[email protected]org

Definition at line 42 of file provider.h.

Member Enumeration Documentation

The SearchPresetTypes enum the preset type enum is a helper to identify the kind of label and icon the search preset should have if none are found.

Since
5.83
Enumerator
GoBack 

preset representing the previous search.

Root 

preset indicating a root directory.

Start 

preset indicating the first entry.

Popular 

preset indicating popular items.

Featured 

preset for featured items.

Recommended 

preset for recommended. This may be customized by the server per user.

Shelf 

preset indicating previously acquired items.

Subscription 

preset indicating items that the user is subscribed to.

New 

preset indicating new items.

FolderUp 

preset indicating going up in the search result hierarchy.

AllEntries 

preset indicating all possible entries, such as a crawlable list. Might be intense to load.

Definition at line 113 of file provider.h.

Constructor & Destructor Documentation

KNSCore::Provider::Provider ( )

Constructor.

Definition at line 80 of file provider.cpp.

KNSCore::Provider::~Provider ( )
virtual

Destructor.

Definition at line 85 of file provider.cpp.

Member Function Documentation

void KNSCore::Provider::basicsLoaded ( )
signal

Fired when the provider's basic information has been fetched and updated.

Since
5.85
void KNSCore::Provider::commentsLoaded ( const QList< std::shared_ptr< KNSCore::Comment >>  comments)
signal

Fired when new comments have been loaded.

Parameters
commentsThe list of newly loaded comments, in a depth-first order
Since
5.63
QString KNSCore::Provider::contactEmail ( ) const

The general contact email for this provider.

Returns
The general contact email for this provider
Since
5.85
QStringList KNSCore::Provider::downloadTagFilter ( ) const

The tag filter used for downloads by this provider.

Returns
The list of filters
See also
Engine::setDownloadTagFilter(QStringList)
Since
5.51

Definition at line 115 of file provider.cpp.

QUrl KNSCore::Provider::host ( ) const
Since
5.85
QUrl KNSCore::Provider::icon ( ) const
virtual

Retrieves the icon URL for this provider.

Returns
icon URL

Definition at line 95 of file provider.cpp.

virtual QString KNSCore::Provider::id ( ) const
pure virtual

A unique Id for this provider (the url in most cases)

Q_SIGNAL void KNSCore::Provider::loadBasics ( )

Request loading of the basic information for this provider.

The engine listens to the basicsLoaded() signal for the result, which is also the signal the respective properties listen to.

This is fired automatically on the first attempt to read one of the properties which contain this basic information, and you will not need to call it as a user of the class (just listen to the properties, which will update when the information has been fetched).

Note
Implementation detail: All subclasses should connect to this signal and point it at a slot which does the actual work, if they support fetching this basic information (if the information is set during construction, you will not need to worry about this).

TODO: KF6 This should be a virtual function, but can't do it now because BIC

See also
version()
website()
host();
contactEmail()
supportsSsl()
Since
5.85
Q_SIGNAL void KNSCore::Provider::loadComments ( const EntryInternal entry,
int  commentsPerPage,
int  page 
)

Request a loading of comments from this provider.

The engine listens to the commentsLoaded() signal for the result

Note
Implementation detail: All subclasses should connect to this signal and point it at a slot which does the actual work, if they support comments.

TODO: KF6 This should be a virtual function, but can't do it now because BIC

See also
commentsLoaded(const QList<shared_ptr<KNSCore::Comment>> comments)
Since
5.63
virtual void KNSCore::Provider::loadEntries ( const KNSCore::Provider::SearchRequest request)
pure virtual

load the given search and return given page

Parameters
sortModestring to select the order in which the results are presented
searchstringstring to search with
pagepage number to load

Note: the engine connects to loadingFinished() signal to get the result

Q_SIGNAL void KNSCore::Provider::loadPerson ( const QString username)

Request loading of the details for a specific person with the given username.

The engine listens to the personLoaded() for the result

Note
Implementation detail: All subclasses should connect to this signal and point it at a slot which does the actual work, if they support comments.

TODO: KF6 This should be a virtual function, but can't do it now because BIC

Since
5.63
QString KNSCore::Provider::name ( ) const
virtual

Retrieves the common name of the provider.

Returns
provider name

Definition at line 90 of file provider.cpp.

void KNSCore::Provider::personLoaded ( const std::shared_ptr< KNSCore::Author author)
signal

Fired when the details of a person have been loaded.

Parameters
authorThe person we've just loaded data for
Since
5.63
void KNSCore::Provider::searchPresetsLoaded ( const QList< SearchPreset > &  presets)
signal

Fires when the provider has loaded search presets.

These represent interesting searches for the user, such as recommendations.

Since
5.83
void KNSCore::Provider::setContactEmail ( const QString contactEmail)

Sets the general contact email address for this provider.

Parameters
contactEmailThe general contact email for this provider
Since
5.85

Definition at line 182 of file provider.cpp.

void KNSCore::Provider::setDownloadTagFilter ( const QStringList downloadTagFilter)

Set the tag filter used for download items by this provider.

Parameters
downloadTagFilterThe new list of filters
See also
Engine::setDownloadTagFilter(QStringList)
Since
5.51

Definition at line 110 of file provider.cpp.

void KNSCore::Provider::setHost ( const QUrl host)
Parameters
hostThe host used for this provider
Since
5.85

Definition at line 168 of file provider.cpp.

virtual bool KNSCore::Provider::setProviderXML ( const QDomElement xmldata)
pure virtual

Set the provider data xml, to initialize the provider.

The Provider needs to have it's ID set in this function and cannot change it from there on.

void KNSCore::Provider::setSupportsSsl ( bool  supportsSsl)

Set whether or not the provider supports SSL connections.

Parameters
supportsSslTrue if the server supports SSL connections, false if not
Since
5.85

Definition at line 196 of file provider.cpp.

void KNSCore::Provider::setTagFilter ( const QStringList tagFilter)

Set the tag filter used for entries by this provider.

Parameters
tagFilterThe new list of filters
See also
Engine::setTagFilter(QStringList)
Since
5.51

Definition at line 100 of file provider.cpp.

void KNSCore::Provider::setVersion ( const QString version)
Since
5.85

Definition at line 140 of file provider.cpp.

void KNSCore::Provider::setWebsite ( const QUrl website)
Since
5.85

Definition at line 154 of file provider.cpp.

bool KNSCore::Provider::supportsSsl ( ) const

Whether or not the provider supports SSL connections.

Returns
True if the server supports SSL connections, false if not
Since
5.85
QStringList KNSCore::Provider::tagFilter ( ) const

The tag filter used for downloads by this provider.

Returns
The list of filters
See also
Engine::setTagFilter(QStringList)
Since
5.51

Definition at line 105 of file provider.cpp.

QString KNSCore::Provider::version ( ) const
Since
5.85
QUrl KNSCore::Provider::website ( ) const
Since
5.85

The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Fri Oct 15 2021 22:43:08 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.