![]() |
![]() |
![]() |
libgrss Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Signals |
struct GrssFeedsSubscriber; GrssFeedsSubscriber * grss_feeds_subscriber_new (); gboolean grss_feeds_subscriber_listen (GrssFeedsSubscriber *sub
,GList *feeds
); GList * grss_feeds_subscriber_get_listened (GrssFeedsSubscriber *sub
); void grss_feeds_subscriber_set_port (GrssFeedsSubscriber *sub
,int port
); void grss_feeds_subscriber_switch (GrssFeedsSubscriber *sub
,gboolean run
); GInetAddress * grss_feeds_subscriber_get_address (GrssFeedsSubscriber *sub
); int grss_feeds_subscriber_get_port (GrssFeedsSubscriber *sub
); SoupSession * grss_feeds_subscriber_get_session (GrssFeedsSubscriber *sub
);
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.
GrssFeedsSubscriber * grss_feeds_subscriber_new ();
Allocates a new GrssFeedsSubscriber.
Returns : |
a new GrssFeedsSubscriber. |
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.
|
a GrssFeedsSubscriber. |
|
a list of GrssFeedChannel. |
Returns : |
TRUE if all GrssFeedChannels involved in feeds are valid
and can be listened with one of the implemented procotols, FALSE otherwise. |
GList * grss_feeds_subscriber_get_listened (GrssFeedsSubscriber *sub
);
Returns the list of feeds currently managed by sub
.
|
a GrssFeedsSubscriber. |
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. |
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.
|
a GrssFeedsSubscriber. |
|
new listening port for the server. |
void grss_feeds_subscriber_switch (GrssFeedsSubscriber *sub
,gboolean run
);
Permits to pause or resume sub
listening for events.
|
a GrssFeedsSubscriber. |
|
TRUE to run the subscriber, FALSE to pause it. |
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.
|
a GrssFeedsSubscriber. |
Returns : |
the GInetAddress used by sub , or NULL if the
GrssFeedsSubscriber is switched off. |
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.
|
a GrssFeedsSubscriber. |
Returns : |
the port of the socket locally opened by sub . |
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.
|
a GrssFeedsSubscriber. |
Returns : |
the SoupSession used by the provided GrssFeedsSubscriber. |
"notification-received"
signalvoid user_function (GrssFeedsSubscriber *pool,
GObject *feed,
GObject *item,
gpointer user_data) : Run Last
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.
|
the GrssFeedsSubscriber emitting the signal. |
|
the GrssFeedChannel which has been updated. |
|
the GrssFeedItem received. |
|
user data set when the signal handler was connected. |