/* * Send ssdp:alive message for @resource */ static void resource_alive (Resource *resource) { GSSDPResourceGroupPrivate *priv; GSSDPClient *client; guint max_age; char *al, *message; const char *group; char *dest; priv = gssdp_resource_group_get_instance_private (resource->resource_group); /* Send initial byebye if not sent already */ send_initial_resource_byebye (resource); /* Send message */ client = priv->client; max_age = priv->max_age; al = construct_al (resource); /* FIXME: UGLY V6 stuff */ group = _gssdp_client_get_mcast_group (client); if (strchr (group, ':') != NULL) dest = g_strdup_printf ("[%s]", group); else dest = g_strdup (group); message = g_strdup_printf (SSDP_ALIVE_MESSAGE, dest, max_age, (char *) resource->locations->data, al ? al : "", gssdp_client_get_server_id (client), resource->target, resource->usn); queue_message (resource->resource_group, message); g_free (dest); g_free (al); }
/* * Send ssdp:alive message for @resource */ static void resource_alive (Resource *resource) { LOGD("resource_alive"); LOGD("resource_alive"); LOGD("resource_alive"); GSSDPClient *client; guint max_age; char *al, *message; /* Send initial byebye if not sent already */ send_initial_resource_byebye (resource); LOGD("send_initial_resource_byebye"); LOGD("send_initial_resource_byebye"); LOGD("send_initial_resource_byebye"); /* Send message */ client = resource->resource_group->priv->client; max_age = resource->resource_group->priv->max_age; al = construct_al (resource); message = g_strdup_printf (SSDP_ALIVE_MESSAGE, max_age, (char *) resource->locations->data, al ? al : "", gssdp_client_get_server_id (client), resource->target, resource->usn); queue_message (resource->resource_group, message); g_free (al); }