/** * 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"); }
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"); }
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"); }