mirror of
				https://gitlab.gnome.org/GNOME/glib.git
				synced 2025-10-31 16:32:18 +01:00 
			
		
		
		
	Add SPDX license (but not copyright) headers to all files which follow a certain pattern in their existing non-machine-readable header comment. This commit was entirely generated using the command: ``` git ls-files gio/tests/*.c | xargs perl -0777 -pi -e 's/\n \*\n \* This library is free software; you can redistribute it and\/or\n \* modify it under the terms of the GNU Lesser General Public/\n \*\n \* SPDX-License-Identifier: LGPL-2.1-or-later\n \*\n \* This library is free software; you can redistribute it and\/or\n \* modify it under the terms of the GNU Lesser General Public/igs' ``` Signed-off-by: Philip Withnall <pwithnall@endlessos.org> Helps: #1415
		
			
				
	
	
		
			95 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* GLib testing framework examples and tests
 | |
|  *
 | |
|  * Copyright 2014 Red Hat, Inc.
 | |
|  *
 | |
|  * SPDX-License-Identifier: LGPL-2.1-or-later
 | |
|  *
 | |
|  * This library is free software; you can redistribute it and/or
 | |
|  * modify it under the terms of the GNU Lesser General Public
 | |
|  * License as published by the Free Software Foundation; either
 | |
|  * version 2.1 of the License, or (at your option) any later version.
 | |
|  *
 | |
|  * This library is distributed in the hope that it will be useful,
 | |
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 | |
|  * Lesser General Public License for more details.
 | |
|  *
 | |
|  * You should have received a copy of the GNU Lesser General Public
 | |
|  * License along with this library; if not, see
 | |
|  * <http://www.gnu.org/licenses/>.
 | |
|  */
 | |
| 
 | |
| #include <gio/gio.h>
 | |
| 
 | |
| static void
 | |
| event_cb (GSocketListener      *listener,
 | |
|           GSocketListenerEvent  event,
 | |
|           GSocket              *socket,
 | |
|           gpointer              data)
 | |
| {
 | |
|   static GSocketListenerEvent expected_event = G_SOCKET_LISTENER_BINDING;
 | |
|   gboolean *success = (gboolean *)data;
 | |
| 
 | |
|   g_assert (G_IS_SOCKET_LISTENER (listener));
 | |
|   g_assert (G_IS_SOCKET (socket));
 | |
|   g_assert (event == expected_event);
 | |
| 
 | |
|   switch (event)
 | |
|     {
 | |
|       case G_SOCKET_LISTENER_BINDING:
 | |
|         expected_event = G_SOCKET_LISTENER_BOUND;
 | |
|         break;
 | |
|       case G_SOCKET_LISTENER_BOUND:
 | |
|         expected_event = G_SOCKET_LISTENER_LISTENING;
 | |
|         break;
 | |
|       case G_SOCKET_LISTENER_LISTENING:
 | |
|         expected_event = G_SOCKET_LISTENER_LISTENED;
 | |
|         break;
 | |
|       case G_SOCKET_LISTENER_LISTENED:
 | |
|         *success = TRUE;
 | |
|         break;
 | |
|     }
 | |
| }
 | |
| 
 | |
| static void
 | |
| test_event_signal (void)
 | |
| {
 | |
|   gboolean success = FALSE;
 | |
|   GInetAddress *iaddr;
 | |
|   GSocketAddress *saddr;
 | |
|   GSocketListener *listener;
 | |
|   GError *error = NULL;
 | |
| 
 | |
|   iaddr = g_inet_address_new_loopback (G_SOCKET_FAMILY_IPV4);
 | |
|   saddr = g_inet_socket_address_new (iaddr, 0);
 | |
|   g_object_unref (iaddr);
 | |
| 
 | |
|   listener = g_socket_listener_new ();
 | |
| 
 | |
|   g_signal_connect (listener, "event", G_CALLBACK (event_cb), &success);
 | |
| 
 | |
|   g_socket_listener_add_address (listener,
 | |
|                                  saddr,
 | |
|                                  G_SOCKET_TYPE_STREAM,
 | |
|                                  G_SOCKET_PROTOCOL_TCP,
 | |
|                                  NULL,
 | |
|                                  NULL,
 | |
|                                  &error);
 | |
|   g_assert_no_error (error);
 | |
|   g_assert_true (success);
 | |
| 
 | |
|   g_object_unref (saddr);
 | |
|   g_object_unref (listener);
 | |
| }
 | |
| 
 | |
| int
 | |
| main (int   argc,
 | |
|       char *argv[])
 | |
| {
 | |
|   g_test_init (&argc, &argv, NULL);
 | |
| 
 | |
|   g_test_add_func ("/socket-listener/event-signal", test_event_signal);
 | |
| 
 | |
|   return g_test_run();
 | |
| }
 |