Exemplo n.º 1
0
/**
 * Destroy the given control point
 *
 * @param ctrlPoint The control point struct to destroy
 */
void cg_upnp_controlpoint_delete(CgUpnpControlPoint *ctrlPoint)
{
	cg_log_debug_l4("Entering...\n");

	cg_upnp_controlpoint_stop(ctrlPoint);
	
	/* Delete cached interfaces */
	cg_net_interfacelist_delete(ctrlPoint->ifCache);
	
	/* Delete expiration handlers */
	cg_thread_delete(ctrlPoint->expThread);
	cg_mutex_delete(ctrlPoint->expMutex);
	cg_cond_delete(ctrlPoint->expCond);
	
	/* Delete others */
	cg_mutex_delete(ctrlPoint->mutex);
	cg_xml_nodelist_delete(ctrlPoint->deviceRootNodeList);
	cg_upnp_devicelist_delete(ctrlPoint->deviceList);
	cg_upnp_ssdp_serverlist_delete(ctrlPoint->ssdpServerList);
	cg_upnp_ssdpresponse_serverlist_delete(ctrlPoint->ssdpResServerList);
	cg_http_serverlist_delete(ctrlPoint->httpServerList);
	cg_string_delete(ctrlPoint->httpEventURI);
	cg_upnp_eventlistenerlist_delete(ctrlPoint->eventListeners);	

#ifdef CG_HTTP_USE_PERSISTENT_CONNECTIONS	
	cg_http_persistentconnection_clear();
#endif
	free(ctrlPoint);

	cg_log_debug_l4("Leaving...\n");
}
Exemplo n.º 2
0
void cg_soap_response_delete(CgSoapResponse *soapRes)
{
	cg_log_debug_l4("Entering...\n");

	cg_soap_response_clear(soapRes);
	cg_xml_nodelist_delete(soapRes->rootNodeList);

	if (soapRes->isHttpResCreated == TRUE)
		cg_http_response_delete(soapRes->httpRes);

	free(soapRes);

	cg_log_debug_l4("Leaving...\n");
}
Exemplo n.º 3
0
void cg_xml_node_delete(CgXmlNode *node)
{
	cg_log_debug_l4("Entering...\n");

	cg_list_remove((CgList *)node);
	cg_string_delete(node->name);
	cg_string_delete(node->value);
	cg_xml_attributelist_delete(node->attrList);
	cg_xml_nodelist_delete(node->nodeList);
	if (node->userDataDestructorFunc != NULL)
		node->userDataDestructorFunc(node->userData);
	free(node);

	cg_log_debug_l4("Leaving...\n");
}