1 /* 2 * Copyright (C) 2006, 2007, 2008 OpenedHand Ltd. 3 * Copyright (C) 2010 Jens Georg <mail@jensge.org> 4 * 5 * Author: Jorn Baayen <jorn@openedhand.com> 6 * Jens Georg <mail@jensge.org> 7 * 8 * SPDX-License-Identifier: LGPL-2.1-or-later 9 * 10 */ 11 12 #ifndef GSSDP_SOCKET_SOURCE_H 13 #define GSSDP_SOCKET_SOURCE_H 14 15 #include <glib-object.h> 16 17 #include <gio/gio.h> 18 19 G_BEGIN_DECLS 20 21 #define GSSDP_TYPE_SOCKET_SOURCE (gssdp_socket_source_get_type ()) 22 23 G_DECLARE_FINAL_TYPE (GSSDPSocketSource, 24 gssdp_socket_source, 25 GSSDP, 26 SOCKET_SOURCE, 27 GObject) 28 29 typedef enum { 30 GSSDP_SOCKET_SOURCE_TYPE_REQUEST, 31 GSSDP_SOCKET_SOURCE_TYPE_MULTICAST, 32 GSSDP_SOCKET_SOURCE_TYPE_SEARCH 33 } GSSDPSocketSourceType; 34 35 G_GNUC_INTERNAL GSSDPSocketSource * 36 gssdp_socket_source_new (GSSDPSocketSourceType type, 37 GInetAddress *address, 38 guint ttl, 39 const char *device_name, 40 guint index, 41 GError **error); 42 43 G_GNUC_INTERNAL GSocket* 44 gssdp_socket_source_get_socket (GSSDPSocketSource *socket_source); 45 46 G_GNUC_INTERNAL void 47 gssdp_socket_source_set_callback (GSSDPSocketSource *socket_source, 48 GSourceFunc callback, 49 gpointer user_data); 50 51 G_GNUC_INTERNAL void 52 gssdp_socket_source_attach (GSSDPSocketSource *socket_source); 53 54 G_END_DECLS 55 56 #endif /* GSSDP_SOCKET_SOURCE_H */ 57