| Top |
| GUPnPContext * | gupnp_context_new () |
| guint | gupnp_context_get_port () |
| SoupServer * | gupnp_context_get_server () |
| SoupSession * | gupnp_context_get_session () |
| void | gupnp_context_set_subscription_timeout () |
| guint | gupnp_context_get_subscription_timeout () |
| const char * | gupnp_context_get_default_language () |
| void | gupnp_context_set_default_language () |
| void | gupnp_context_add_server_handler () |
| void | gupnp_context_remove_server_handler () |
| void | gupnp_context_host_path () |
| gboolean | gupnp_context_host_path_for_agent () |
| void | gupnp_context_unhost_path () |
| GUPnPAcl * | gupnp_context_get_acl () |
| void | gupnp_context_set_acl () |
| char * | gupnp_context_rewrite_uri () |
GUPnPContext wraps the networking bits that are used by the various GUPnP classes. It automatically starts a web server on demand.
For debugging, it is possible to see the messages being sent and received by
exporting GUPNP_DEBUG.
GUPnPContext * gupnp_context_new (const char *iface,guint port,GError **error);
Create a new GUPnPContext with the specified main_context
, iface
and
port
.
guint
gupnp_context_get_port (GUPnPContext *context);
Get the port that the SOAP server is running on.
SoupServer *
gupnp_context_get_server (GUPnPContext *context);
Get the SoupServer HTTP server that GUPnP is using.
SoupSession *
gupnp_context_get_session (GUPnPContext *context);
Get the SoupSession object that GUPnP is using.
Since: 0.12.3
void gupnp_context_set_subscription_timeout (GUPnPContext *context,guint timeout);
Sets the event subscription timeout to timeout
. Use 0 if you don't
want subscriptions to time out. Note that any client side subscriptions
will automatically be renewed.
guint
gupnp_context_get_subscription_timeout
(GUPnPContext *context);
Get the event subscription timeout (in seconds), or 0 meaning there is no timeout.
const char *
gupnp_context_get_default_language (GUPnPContext *context);
Get the default Content-Language header for this context.
Since: 0.17.0
void gupnp_context_set_default_language (GUPnPContext *context,const char *language);
Set the default language for the Content-Length header to language
.
If the client sends an Accept-Language header the UPnP HTTP server is required to send a Content-Language header in return. If there are no files hosted in languages which match the requested ones the Content-Language header is set to this value. The default value is "en".
Since: 0.17.0
void gupnp_context_add_server_handler (GUPnPContext *context,gboolean use_acl,const char *path,SoupServerCallback callback,gpointer user_data,GDestroyNotify destroy);
Add a SoupServerCallback to the GUPnPContext's SoupServer.
context |
||
use_acl |
|
|
path |
the toplevel path for the handler. |
|
callback |
callback to invoke for requests under |
|
user_data |
the user_data passed to |
|
destroy |
A GDestroyNotify for |
[allow-none] |
Since: 0.20.11
void gupnp_context_remove_server_handler (GUPnPContext *context,const char *path);
Remove a SoupServerCallback from the GUPnPContext's SoupServer.
Since: 0.20.11
void gupnp_context_host_path (GUPnPContext *context,const char *local_path,const char *server_path);
Start hosting local_path
at server_path
. Files with the path
local_path.LOCALE
(if they exist) will be served up when LOCALE is
specified in the request's Accept-Language header.
gboolean gupnp_context_host_path_for_agent (GUPnPContext *context,const char *local_path,const char *server_path,GRegex *user_agent);
Use this method to serve different local path to specific user-agent(s). The
path server_path
must already be hosted by context
.
context |
||
local_path |
Path to the local file or folder to be hosted |
|
server_path |
Web server path already being hosted |
|
user_agent |
The user-agent as a GRegex. |
Since: 0.13.3
void gupnp_context_unhost_path (GUPnPContext *context,const char *server_path);
Stop hosting the file or folder at server_path
.
GUPnPAcl *
gupnp_context_get_acl (GUPnPContext *context);
Access the GUPnPAcl associated with this client. If there isn't any,
retturns NULL. The returned ACL must not be freed.
The access control list associated with this context or NULL
if no acl is set.
[transfer none]
Since: 0.20.11
void gupnp_context_set_acl (GUPnPContext *context,GUPnPAcl *acl);
Attach or remove the assoicated access control list to this context. If
acl
is NULL, the current access control list will be removed.
Since: 0.20.11
char * gupnp_context_rewrite_uri (GUPnPContext *context,const char *uri);
Utility function to re-write an uri to the IPv6 link-local form which has the zone index appended to the IP address.
A re-written version of the uri
if the context is on a link-local
IPv6 address, a copy of the uri
otherwise.
Since: 1.1.1