FeedHandler

FeedHandler — interface for specialized parsers

Stability Level

, unless otherwise indicated

Synopsis

                    FeedHandler;
void                feed_handler_set_ns_handler         (FeedHandler *self,
                                                         NSHandler *handler);
gboolean            feed_handler_check_format           (FeedHandler *self,
                                                         xmlDocPtr doc,
                                                         xmlNodePtr cur);
GList*              feed_handler_parse                  (FeedHandler *self,
                                                         FeedChannel *feed,
                                                         xmlDocPtr doc,
                                                         GError **error);

Object Hierarchy

  GInterface
   +----FeedHandler

Known Implementations

FeedHandler is implemented by FeedPieHandler, FeedRssHandler and FeedAtomHandler.

Description

The FeedHandler interface defines a unique API for all specialized parsers implementations

Details

FeedHandler

typedef struct _FeedHandler FeedHandler;


feed_handler_set_ns_handler ()

void                feed_handler_set_ns_handler         (FeedHandler *self,
                                                         NSHandler *handler);

Permits to assign a NSHandler to the specified FeedHandler, to expand his parsing capabilities to the external managed tags

self :

a FeedHandler

handler :

instance of NSHandler

feed_handler_check_format ()

gboolean            feed_handler_check_format           (FeedHandler *self,
                                                         xmlDocPtr doc,
                                                         xmlNodePtr cur);

Used to check validity of an XML document against the given feed parser

self :

a FeedHandler

doc :

XML document from a parsed feed

cur :

first valid node into the XML document

Returns :

TRUE if the document can be parsed with the given FeedHandler, FALSE otherwise

feed_handler_parse ()

GList*              feed_handler_parse                  (FeedHandler *self,
                                                         FeedChannel *feed,
                                                         xmlDocPtr doc,
                                                         GError **error);

Parses the given doc (obtained fetching feed) and extracts a list of items

self :

a FeedHandler

feed :

feed to be parsed

doc :

XML document from the feed

error :

location for eventual errors

Returns :

a list of FeedItem, to be freed when no longer in use, or NULL if an error occours (and error is set accordly)