| GUPnP Reference Manual | ||||
|---|---|---|---|---|
GUPnPContext;
GUPnPContext* gupnp_context_new (GMainContext *main_context,
const char *interface,
guint port,
GError **error);
const char* gupnp_context_get_host_ip (GUPnPContext *context);
guint gupnp_context_get_port (GUPnPContext *context);
SoupServer* gupnp_context_get_server (GUPnPContext *context);
SoupSession* gupnp_context_get_session (GUPnPContext *context);
void gupnp_context_set_subscription_timeout
(GUPnPContext *context,
guint timeout);
guint gupnp_context_get_subscription_timeout
(GUPnPContext *context);
void gupnp_context_host_path (GUPnPContext *context,
const char *local_path,
const char *server_path);
void gupnp_context_unhost_path (GUPnPContext *context,
const char *server_path);
"port" guint : Read / Write / Construct Only "server" SoupServer* : Read "session" SoupSession* : Read "subscription-timeout" guint : Read / Write / Construct Only
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.
typedef struct _GUPnPContext GUPnPContext;
This struct contains private data only, and should be accessed using the functions below.
GUPnPContext* gupnp_context_new (GMainContext *main_context, const char *interface, guint port, GError **error);
Create a new GUPnPContext with the specified main_context, interface and
port.
main_context : |
A GMainContext, or NULL to use the default one
|
interface : |
The network interface to use, or NULL to auto-detect.
|
port : |
Port to run on, or 0 if you don't care what port is used. |
error : |
A location to store a GError, or NULL
|
| Returns : | A new GUPnPContext object, or NULL on an error
|
const char* gupnp_context_get_host_ip (GUPnPContext *context);
gupnp_context_get_host_ip has been deprecated since version 0.12.7 and should not be used in newly-written code. The "host-ip" property has moved to the base class
GSSDPClient so newer applications should use
gssdp_client_get_host_ip instead.
Get the IP address we advertise ourselves as using.
context : |
A GUPnPContext |
| Returns : | The IP address. This string should not be freed. |
guint gupnp_context_get_port (GUPnPContext *context);
Get the port that the SOAP server is running on.
context : |
A GUPnPContext |
| Returns : | The port the SOAP server is running on. |
SoupServer* gupnp_context_get_server (GUPnPContext *context);
Get the SoupServer HTTP server that GUPnP is using.
context : |
A GUPnPContext |
| Returns : | The SoupServer used by GUPnP. Do not unref this when finished. |
SoupSession* gupnp_context_get_session (GUPnPContext *context);
Get the SoupSession object that GUPnP is using.
context : |
A GUPnPContext |
| Returns : | The SoupSession used by GUPnP. Do not unref this when finished. |
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.
context : |
A GUPnPContext |
timeout : |
Event subscription timeout in seconds |
guint gupnp_context_get_subscription_timeout
(GUPnPContext *context);
Get the event subscription timeout (in seconds), or 0 meaning there is no timeout.
context : |
A GUPnPContext |
| Returns : | The event subscription timeout in seconds. |
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.
context : |
A GUPnPContext |
local_path : |
Path to the local file or folder to be hosted |
server_path : |
Web server path where local_path should be hosted
|
void gupnp_context_unhost_path (GUPnPContext *context, const char *server_path);
Stop hosting the file or folder at server_path.
context : |
A GUPnPContext |
server_path : |
Web server path where the file or folder is hosted |