1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
|
/*
* Copyright (C) 2006, 2007 OpenedHand Ltd.
*
* Author: Jorn Baayen <jorn@openedhand.com>
*
* SPDX-License-Identifier: LGPL-2.1-or-later
*
*/
#ifndef GSSDP_CLIENT_H
#define GSSDP_CLIENT_H
#include <glib-object.h>
#include <gio/gio.h>
G_BEGIN_DECLS
#define GSSDP_TYPE_CLIENT (gssdp_client_get_type ())
G_DECLARE_DERIVABLE_TYPE (GSSDPClient, gssdp_client, GSSDP, CLIENT, GObject)
typedef struct _GSSDPClient GSSDPClient;
typedef struct _GSSDPClientClass GSSDPClientClass;
/**
* GSSDPUDAVersion:
* @GSSDP_UDA_VERSION_UNSPECIFIED: When creating a client, use the default version
* @GSSDP_UDA_VERSION_1_0: Use Version 1.0 of the UDA specification (UPnP/1.0)
* @GSSDP_UDA_VERSION_1_1: Use Version 1.1 of the UDA specification (UPnP/1.1)
*
* Implemented behavior of the UDA (Unified Device Architecture) protocol.
*/
typedef enum /*< prefix=GSSDP_UDA_ >*/
{
GSSDP_UDA_VERSION_UNSPECIFIED,
GSSDP_UDA_VERSION_1_0,
GSSDP_UDA_VERSION_1_1,
} GSSDPUDAVersion;
struct _GSSDPClientClass {
GObjectClass parent_class;
/* future padding */
void (* _gssdp_reserved1) (void);
void (* _gssdp_reserved2) (void);
void (* _gssdp_reserved3) (void);
void (* _gssdp_reserved4) (void);
};
G_DEPRECATED_FOR(gssdp_client_new_for_address)
GSSDPClient *
gssdp_client_new (const char *iface,
GError **error);
G_DEPRECATED_FOR(gssdp_client_new_for_address)
GSSDPClient *
gssdp_client_new_with_port (const char *iface,
guint16 msearch_port,
GError **error);
GSSDPClient *
gssdp_client_new_for_address (GInetAddress *addr,
guint16 port,
GSSDPUDAVersion uda_version,
GError **error);
GSSDPClient *
gssdp_client_new_full (const char *iface,
GInetAddress *addr,
guint16 port,
GSSDPUDAVersion uda_version,
GError **error);
void
gssdp_client_set_server_id (GSSDPClient *client,
const char *server_id);
const char *
gssdp_client_get_server_id (GSSDPClient *client);
const char *
gssdp_client_get_interface (GSSDPClient *client);
const char *
gssdp_client_get_host_ip (GSSDPClient *client);
void
gssdp_client_set_network (GSSDPClient *client,
const char *network);
const char *
gssdp_client_get_network (GSSDPClient *client);
gboolean
gssdp_client_get_active (GSSDPClient *client);
GInetAddress *
gssdp_client_get_address (GSSDPClient *client);
guint
gssdp_client_get_index (GSSDPClient *client);
GSocketFamily
gssdp_client_get_family (GSSDPClient *client);
guint
gssdp_client_get_port (GSSDPClient *client);
GInetAddressMask *
gssdp_client_get_address_mask (GSSDPClient *client);
void
gssdp_client_append_header (GSSDPClient *client,
const char *name,
const char *value);
void
gssdp_client_remove_header (GSSDPClient *client,
const char *name);
void
gssdp_client_clear_headers (GSSDPClient *client);
void
gssdp_client_add_cache_entry (GSSDPClient *client,
const char *ip_address,
const char *user_agent);
const char *
gssdp_client_guess_user_agent (GSSDPClient *client,
const char *ip_address);
GSSDPUDAVersion
gssdp_client_get_uda_version (GSSDPClient *client);
void
gssdp_client_set_boot_id (GSSDPClient *client,
gint32 boot_id);
void
gssdp_client_set_config_id (GSSDPClient *client,
gint32 config_id);
gboolean
gssdp_client_can_reach (GSSDPClient *client,
GInetSocketAddress *address);
G_END_DECLS
#endif /* GSSDP_CLIENT_H */
|