• Skip to content
  • Skip to link menu
  • KDE API Reference
  • kdepimlibs-4.14.10 API Reference
  • KDE Home
  • Contact Us
 

Syndication Library

  • Syndication
  • Loader
Signals | Public Member Functions | Static Public Member Functions | List of all members
Syndication::Loader Class Reference

#include <loader.h>

Inherits QObject.

Signals

void loadingComplete (Syndication::Loader *loader, Syndication::FeedPtr feed, Syndication::ErrorCode error)
 

Public Member Functions

void abort ()
 
KUrl discoveredFeedURL () const
 
ErrorCode errorCode () const
 
void loadFrom (const KUrl &url)
 
void loadFrom (const KUrl &url, DataRetriever *retriever)
 
int retrieverError () const
 

Static Public Member Functions

static Loader * create ()
 
static Loader * create (QObject *object, const char *slot)
 

Detailed Description

This class is the preferred way of loading feed sources.

Usage is very straightforward:

Loader *loader = Loader::create();
connect(loader, SIGNAL(loadingComplete(Loader*, FeedPtr, ErrorCode)),
this, SLOT(slotLoadingComplete(Loader*, FeedPtr, ErrorCode)));
loader->loadFrom("http://www.blah.org/foobar.rdf");
Syndication::Loader
This class is the preferred way of loading feed sources.
Definition: loader.h:76
Syndication::Loader::loadFrom
void loadFrom(const KUrl &url, DataRetriever *retriever)
Loads the feed source referenced by the given URL using the specified retrieval algorithm.
Definition: loader.cpp:79
Syndication::Loader::loadingComplete
void loadingComplete(Syndication::Loader *loader, Syndication::FeedPtr feed, Syndication::ErrorCode error)
This signal gets emitted when the loading process triggered by calling loadFrom() finished.
Syndication::Loader::create
static Loader * create()
Constructs a Loader instance.
Definition: loader.cpp:51
Syndication::ErrorCode
ErrorCode
error code indicating fetching or parsing errors
Definition: global.h:86

This creates a Loader object, connects it's loadingComplete() signal to your custom slot and then makes it load the file 'http://www.blah.org/foobar.rdf'. You could've done something like this as well:

// create the Loader, connect it's signal...
loader->loadFrom("/home/myself/some-script.py", new OutputRetriever);
Syndication::OutputRetriever
Implements a data retriever which executes a program and stores returned by the program on stdout.
Definition: dataretriever.h:101

That'd make the Loader use a custom algorithm for retrieving the RSS data; 'OutputRetriever' will make it execute the script '/home/myself/some-script.py' and assume whatever that script prints to stdout is RSS/Azom markup. This is e.g. handy for conversion scripts, which download a HTML file and convert it's contents into RSS markup.

No matter what kind of retrieval algorithm you employ, your 'slotLoadingComplete' method might look like this:

void MyClass::slotLoadingComplete(Loader* loader, FeedPtr feed, ErrorCode status)
{
// Note that Loader::~Loader() is private, so you cannot delete Loader instances.
// You don't need to do that anyway since Loader instances delete themselves.
if (status != Syndication::Success)
return;
QString title = feed->title();
// do whatever you want with the information.
}
Syndication::Success
@ Success
No error occurred, feed was fetched and parsed successfully.
Definition: global.h:87

Definition at line 75 of file loader.h.

Member Function Documentation

◆ abort()

void Syndication::Loader::abort ( )

aborts the loading process

Definition at line 103 of file loader.cpp.

◆ create() [1/2]

Loader * Syndication::Loader::create ( )
static

Constructs a Loader instance.

This is pretty much what the default constructor would do, except that it ensures that all Loader instances have been allocated on the heap (this is required so that Loader's can delete themselves safely after they emitted the loadingComplete() signal.).

Returns
A pointer to a new Loader instance.

Definition at line 51 of file loader.cpp.

◆ create() [2/2]

Loader * Syndication::Loader::create ( QObject *  object,
const char *  slot 
)
static

Convenience method.

Does the same as the above method except that it also does the job of connecting the loadingComplete() signal to the given slot for you.

Parameters
objectA QObject which features the specified slot
slotWhich slot to connect to.

Definition at line 56 of file loader.cpp.

◆ discoveredFeedURL()

KUrl Syndication::Loader::discoveredFeedURL ( ) const

returns the URL of a feed discovered in the feed source

Definition at line 116 of file loader.cpp.

◆ errorCode()

Syndication::ErrorCode Syndication::Loader::errorCode ( ) const

Retrieves the error code of the last loading process (if any).

Definition at line 98 of file loader.cpp.

◆ loadFrom() [1/2]

void Syndication::Loader::loadFrom ( const KUrl &  url)

Convenience method.

Does the same as the above method, where FileRetriever is used as retriever implementation.

Parameters
urlA URL referencing the input file.

Definition at line 74 of file loader.cpp.

◆ loadFrom() [2/2]

void Syndication::Loader::loadFrom ( const KUrl &  url,
DataRetriever *  retriever 
)

Loads the feed source referenced by the given URL using the specified retrieval algorithm.

Make sure that you connected to the loadingComplete() signal before calling this method so that you're guaranteed to get notified when the loading finished.

Note
A Loader object cannot load from multiple URLs simultaneously; consequently, subsequent calls to loadFrom will be discarded silently, only the first loadFrom request will be executed.
Parameters
urlA URL referencing the input file.
retrieverA subclass of DataRetriever which implements a specialized retrieval behaviour. Note that the ownership of the retriever is transferred to the Loader, i.e. the Loader will delete it when it doesn't need it anymore.
See also
DataRetriever, Loader::loadingComplete()

Definition at line 79 of file loader.cpp.

◆ loadingComplete

void Syndication::Loader::loadingComplete ( Syndication::Loader *  loader,
Syndication::FeedPtr  feed,
Syndication::ErrorCode  error 
)
signal

This signal gets emitted when the loading process triggered by calling loadFrom() finished.

Parameters
loaderA pointer pointing to the loader object which emitted this signal; this is handy in case you connect multiple loaders to a single slot.
feedIn case errortus is Success, this parameter holds the parsed feed. If fetching/parsing failed, feed is NULL.
errorAn error code telling whether there were any problems while retrieving or parsing the data.
See also
Feed, ErrorCode

◆ retrieverError()

int Syndication::Loader::retrieverError ( ) const

the error code returned from the retriever.

Use this if you use your custom retriever implementation and need the specific error, not covered by errorCode().

Definition at line 93 of file loader.cpp.


The documentation for this class was generated from the following files:
  • loader.h
  • loader.cpp
This file is part of the KDE documentation.
Documentation copyright © 1996-2022 The KDE developers.
Generated on Thu Jul 21 2022 00:00:00 by doxygen 1.9.5 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

Syndication Library

Skip menu "Syndication Library"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • Related Pages

kdepimlibs-4.14.10 API Reference

Skip menu "kdepimlibs-4.14.10 API Reference"
  • akonadi
  •   contact
  •   kmime
  •   socialutils
  • kabc
  • kalarmcal
  • kblog
  • kcal
  • kcalcore
  • kcalutils
  • kholidays
  • kimap
  • kioslave
  •   imap4
  •   mbox
  •   nntp
  • kldap
  • kmbox
  • kmime
  • kontactinterface
  • kpimidentities
  • kpimtextedit
  • kpimutils
  • kresources
  • ktnef
  • kxmlrpcclient
  • mailtransport
  • microblog
  • qgpgme
  • syndication
  •   atom
  •   rdf
  •   rss2
Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal