GrssFeedsSubscriber

GrssFeedsSubscriber — feeds subscriber

Types and Values

Object Hierarchy

    GObject
    ╰── GrssFeedsSubscriber

Description

GrssFeedsSubscriber is an alternative for GrssFeedsPool, able to receive real-time notifications by feeds managed by one of the supported protocols. When the subscriber is executed (with grss_feeds_subscriber_switch()) it opens a server on a local port (configurable with grss_feeds_subscriber_set_port()), engage a subscription for each GrssFeedChannel passed with grss_feeds_subscriber_listen(), and waits for direct notifications by the remote server.

Pay attention to the fact this object doesn't provides any NAT traversing method to receive notification while behind a NAT.

Functions

grss_feeds_subscriber_new ()

GrssFeedsSubscriber *
grss_feeds_subscriber_new ();

Allocates a new GrssFeedsSubscriber.

Returns

a new GrssFeedsSubscriber.


grss_feeds_subscriber_listen ()

gboolean
grss_feeds_subscriber_listen (GrssFeedsSubscriber *sub,
                              GList *feeds);

To set the list of feeds to be managed by sub . The previous list, if any, is invalidated. After invokation to the function, grss_feeds_subscriber_switch() must be call to run the subscription. The list in feeds can be freed after calling this; linked GrssFeedChannel are g_object_ref'd here.

Parameters

sub

a GrssFeedsSubscriber.

 

feeds

a list of GrssFeedChannel.

[element-type GrssFeedChannel]

Returns

TRUE if all GrssFeedChannels involved in feeds are valid and can be listened with one of the implemented procotols, FALSE otherwise.


grss_feeds_subscriber_get_listened ()

GList *
grss_feeds_subscriber_get_listened (GrssFeedsSubscriber *sub);

Returns the list of feeds currently managed by sub .

Parameters

Returns

a list of GrssFeedChannel, to be freed with g_list_free() when no longer in use. Do not modify elements found in this list.

[element-type GrssFeedChannel][transfer container]


grss_feeds_subscriber_set_port ()

void
grss_feeds_subscriber_set_port (GrssFeedsSubscriber *sub,
                                int port);

To customize the port opened by the local server to catch incoming publishers' events. By default this is 8444. Changing the port while the subscriber is running imply restart the local server. Pay attention to the fact many publishers' implementations accept only certain ports.

Parameters

sub

a GrssFeedsSubscriber.

 

port

new listening port for the server.

 

grss_feeds_subscriber_switch ()

void
grss_feeds_subscriber_switch (GrssFeedsSubscriber *sub,
                              gboolean run);

Permits to pause or resume sub listening for events.

Parameters

sub

a GrssFeedsSubscriber.

 

run

TRUE to run the subscriber, FALSE to pause it.

 

grss_feeds_subscriber_get_address ()

GInetAddress *
grss_feeds_subscriber_get_address (GrssFeedsSubscriber *sub);

This function returns the Internet address where sub is listening for external events. It is often required by GrssFeedsSubscriberHandlers while subscribing contents to specify the local endpoint for communications.

Parameters

Returns

the GInetAddress used by sub , or NULL if the GrssFeedsSubscriber is switched off.

[transfer none]


grss_feeds_subscriber_get_port ()

int
grss_feeds_subscriber_get_port (GrssFeedsSubscriber *sub);

This function returns the Internet port where sub is listening for external events. It is often required by GrssFeedsSubscriberHandlers while subscribing contents to specify the local endpoint for communications.

Parameters

Returns

the port of the socket locally opened by sub .


grss_feeds_subscriber_get_session ()

SoupSession *
grss_feeds_subscriber_get_session (GrssFeedsSubscriber *sub);

To obtain the internal SoupSession of a GrssFeedsSubscriber, so to re-use it in GrssFeedsSubscriberHandlers or similar tasks.

Parameters

Returns

the SoupSession used by the provided GrssFeedsSubscriber.

[transfer none]

Types and Values

GRSS_FEEDS_SUBSCRIBER_TYPE

#define GRSS_FEEDS_SUBSCRIBER_TYPE		(grss_feeds_subscriber_get_type())

Signal Details

The “notification-received” signal

void
user_function (GrssFeedsSubscriber *pool,
               GObject             *feed,
               GObject             *item,
               gpointer             user_data)

Emitted when a notification has been received and parsed. The item is cached and unref'd when the GrssFeedsSubscriber is destroyed or a new set of feeds is provided.

Parameters

pool

the GrssFeedsSubscriber emitting the signal.

 

feed

the GrssFeedChannel which has been updated.

 

item

the GrssFeedItem received.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last