loudmouth/lm-connection.c
changeset 211 efbf2da5e443
parent 210 96b01140c00c
child 219 6daf884bc7bd
equal deleted inserted replaced
210:96b01140c00c 211:efbf2da5e443
   178 		_lm_utils_free_callback (connection->auth_cb);
   178 		_lm_utils_free_callback (connection->auth_cb);
   179 	}
   179 	}
   180 
   180 
   181 	lm_connection_set_disconnect_function (connection, NULL, NULL, NULL);
   181 	lm_connection_set_disconnect_function (connection, NULL, NULL, NULL);
   182 
   182 
       
   183 	if (connection->proxy) {
       
   184 		lm_proxy_unref (connection->proxy);
       
   185 	}
       
   186 
   183 	lm_message_queue_unref (connection->queue);
   187 	lm_message_queue_unref (connection->queue);
   184 
   188 
   185         if (connection->context) {
   189         if (connection->context) {
   186                 g_main_context_unref (connection->context);
   190                 g_main_context_unref (connection->context);
   187         }
   191         }
   415 void
   419 void
   416 _lm_connection_do_close (LmConnection *connection)
   420 _lm_connection_do_close (LmConnection *connection)
   417 {
   421 {
   418 	connection_stop_keep_alive (connection);
   422 	connection_stop_keep_alive (connection);
   419 
   423 
   420 	lm_socket_close (connection->socket);
   424 	if (connection->socket) {
       
   425 		lm_socket_close (connection->socket);
       
   426 	}
   421 
   427 
   422 	lm_message_queue_detach (connection->queue);
   428 	lm_message_queue_detach (connection->queue);
   423 	
   429 	
   424 	if (!lm_connection_is_open (connection)) {
   430 	if (!lm_connection_is_open (connection)) {
   425 		/* lm_connection_is_open is FALSE for state OPENING as well */
   431 		/* lm_connection_is_open is FALSE for state OPENING as well */
   931  **/
   937  **/
   932 void
   938 void
   933 lm_connection_cancel_open (LmConnection *connection)
   939 lm_connection_cancel_open (LmConnection *connection)
   934 {
   940 {
   935 	g_return_if_fail (connection != NULL);
   941 	g_return_if_fail (connection != NULL);
       
   942 
       
   943 	if (connection->open_cb) {
       
   944 		_lm_utils_free_callback (connection->open_cb);
       
   945 		connection->open_cb = NULL;
       
   946 	}
   936 
   947 
   937 	connection->cancel_open = TRUE;
   948 	connection->cancel_open = TRUE;
   938 }
   949 }
   939 
   950 
   940 /**
   951 /**