GSSDPResourceGroup

GSSDPResourceGroup — Class for controlling resource announcement.

Synopsis

struct              GSSDPResourceGroup;
GSSDPResourceGroup * gssdp_resource_group_new           (GSSDPClient *client);
GSSDPClient *       gssdp_resource_group_get_client     (GSSDPResourceGroup *resource_group);
void                gssdp_resource_group_set_max_age    (GSSDPResourceGroup *resource_group,
                                                         guint max_age);
guint               gssdp_resource_group_get_max_age    (GSSDPResourceGroup *resource_group);
void                gssdp_resource_group_set_available  (GSSDPResourceGroup *resource_group,
                                                         gboolean available);
gboolean            gssdp_resource_group_get_available  (GSSDPResourceGroup *resource_group);
void                gssdp_resource_group_set_message_delay
                                                        (GSSDPResourceGroup *resource_group,
                                                         guint message_delay);
guint               gssdp_resource_group_get_message_delay
                                                        (GSSDPResourceGroup *resource_group);
guint               gssdp_resource_group_add_resource   (GSSDPResourceGroup *resource_group,
                                                         const char *target,
                                                         const char *usn,
                                                         GList *locations);
guint               gssdp_resource_group_add_resource_simple
                                                        (GSSDPResourceGroup *resource_group,
                                                         const char *target,
                                                         const char *usn,
                                                         const char *location);
void                gssdp_resource_group_remove_resource
                                                        (GSSDPResourceGroup *resource_group,
                                                         guint resource_id);

Description

A GSSDPResourceGroup is a group of SSDP resources whose availability can be controlled as one. This is useful when one needs to announce a single service as multiple SSDP resources (UPnP does this for example).

Details

struct GSSDPResourceGroup

struct GSSDPResourceGroup {
        GObject parent;

        GSSDPResourceGroupPrivate *priv;
};


gssdp_resource_group_new ()

GSSDPResourceGroup * gssdp_resource_group_new           (GSSDPClient *client);

client :

The GSSDPClient to associate with

Returns :

A new GSSDPResourceGroup object.

gssdp_resource_group_get_client ()

GSSDPClient *       gssdp_resource_group_get_client     (GSSDPResourceGroup *resource_group);

resource_group :

A GSSDPResourceGroup

Returns :

The GSSDPClient resource_group is associated with. [transfer none]

gssdp_resource_group_set_max_age ()

void                gssdp_resource_group_set_max_age    (GSSDPResourceGroup *resource_group,
                                                         guint max_age);

Sets the number of seconds advertisements are valid to max_age.

resource_group :

A GSSDPResourceGroup

max_age :

The number of seconds advertisements are valid

gssdp_resource_group_get_max_age ()

guint               gssdp_resource_group_get_max_age    (GSSDPResourceGroup *resource_group);

resource_group :

A GSSDPResourceGroup

Returns :

The number of seconds advertisements are valid.

gssdp_resource_group_set_available ()

void                gssdp_resource_group_set_available  (GSSDPResourceGroup *resource_group,
                                                         gboolean available);

Sets resource_groups availability to available. Changing resource_groups availability causes it to announce its new state to listening SSDP clients.

resource_group :

A GSSDPResourceGroup

available :

TRUE if resource_group should be available (advertised)

gssdp_resource_group_get_available ()

gboolean            gssdp_resource_group_get_available  (GSSDPResourceGroup *resource_group);

resource_group :

A GSSDPResourceGroup

Returns :

TRUE if resource_group is available (advertised).

gssdp_resource_group_set_message_delay ()

void                gssdp_resource_group_set_message_delay
                                                        (GSSDPResourceGroup *resource_group,
                                                         guint message_delay);

Sets the minimum time between each SSDP message.

resource_group :

A GSSDPResourceGroup

message_delay :

The message delay in ms.

gssdp_resource_group_get_message_delay ()

guint               gssdp_resource_group_get_message_delay
                                                        (GSSDPResourceGroup *resource_group);

resource_group :

A GSSDPResourceGroup

Returns :

the minimum time between each SSDP message in ms.

gssdp_resource_group_add_resource ()

guint               gssdp_resource_group_add_resource   (GSSDPResourceGroup *resource_group,
                                                         const char *target,
                                                         const char *usn,
                                                         GList *locations);

Adds a resource with target target, USN usn, and locations locations to resource_group.

resource_group :

An GSSDPResourceGroup

target :

The resource's target

usn :

The resource's USN

locations :

A GList of the resource's locations

Returns :

The ID of the added resource.

gssdp_resource_group_add_resource_simple ()

guint               gssdp_resource_group_add_resource_simple
                                                        (GSSDPResourceGroup *resource_group,
                                                         const char *target,
                                                         const char *usn,
                                                         const char *location);

Adds a resource with target target, USN usn, and location location to resource_group.

resource_group :

An GSSDPResourceGroup

target :

The resource's target

usn :

The resource's USN

location :

The resource's location

Returns :

The ID of the added resource.

gssdp_resource_group_remove_resource ()

void                gssdp_resource_group_remove_resource
                                                        (GSSDPResourceGroup *resource_group,
                                                         guint resource_id);

Removes the resource with ID resource_id from resource_group.

resource_group :

An GSSDPResourceGroup

resource_id :

The ID of the resource to remove