#include <cybergarage/typedef.h>
#include <cybergarage/xml/cxml.h>
#include <cybergarage/util/clist.h>
#include <cybergarage/util/cstring.h>
#include <cybergarage/util/cmutex.h>
#include <cybergarage/util/cthread.h>
#include <cybergarage/http/chttp.h>
#include <cybergarage/net/curl.h>
#include <cybergarage/net/cinterface.h>
#include <cybergarage/upnp/cservice.h>
#include <cybergarage/upnp/cicon.h>
#include <cybergarage/upnp/ssdp/cssdp_server.h>
Data Structures | |
struct | _CgUpnpDevice |
The generic UPnP device structure. More... | |
Defines | |
#define | CG_UPNP_DEVICE_ELEM_NAME "device" |
#define | CG_UPNP_DEVICELIST_ELEM_NAME "deviceList" |
#define | CG_UPNP_DEVICE_UPNP_ROOTDEVICE "upnp:rootdevice" |
#define | CG_UPNP_DEVICE_DEFAULT_STARTUP_WAIT_TIME 1000 |
#define | CG_UPNP_DEVICE_DEFAULT_DISCOVERY_WAIT_TIME 500 |
#define | CG_UPNP_DEVICE_DEFAULT_LEASE_TIME (30 * 60) |
#define | CG_UPNP_DEVICE_HTTP_DEFAULT_PORT 38400 |
#define | CG_UPNP_DEVICE_DEFAULT_DESCRIPTION_URI "/description.xml" |
#define | CG_UPNP_DEVICE_URLBASE_MAXLEN 64 |
#define | CG_UPNP_DEVICE_M_SEARCH_FILTER_INTERVAL 15 |
#define | CG_UPNP_DEVICE_URLBASE_NAME "URLBase" |
#define | CG_UPNP_DEVICE_DEVICE_TYPE "deviceType" |
#define | CG_UPNP_DEVICE_FRIENDLY_NAME "friendlyName" |
#define | CG_UPNP_DEVICE_MANUFACTURE "manufacture" |
#define | CG_UPNP_DEVICE_MANUFACTURE_URL "manufactureURL" |
#define | CG_UPNP_DEVICE_MODEL_DESCRIPTION "modelDescription" |
#define | CG_UPNP_DEVICE_MODEL_NAME "modelName" |
#define | CG_UPNP_DEVICE_MODEL_NUMBER "modelNumber" |
#define | CG_UPNP_DEVICE_MODEL_URL "modelURL" |
#define | CG_UPNP_DEVICE_SERIAL_NUMBER "serialNumber" |
#define | CG_UPNP_DEVICE_UDN "UDN" |
#define | CG_UPNP_DEVICE_UPC "UPC" |
#define | CG_UPNP_DEVICE_PRESENTATION_URL "presentationURL" |
#define | cg_upnp_device_next(dev) (CgUpnpDevice *)cg_list_next((CgList *)dev) |
#define | cg_upnp_device_remove(dev) cg_list_remove((CgList *)dev) |
#define | cg_upnp_device_isdevicenode(node) cg_xml_node_isname(node, CG_UPNP_DEVICE_ELEM_NAME) |
#define | cg_upnp_device_getrootnode(dev) cg_xml_nodelist_gets(dev->rootNodeList) |
#define | cg_upnp_device_getdevicenode(dev) (dev->deviceNode) |
#define | cg_upnp_device_isrootdevice(dev) ((dev->rootNodeList != NULL) ? TRUE : FALSE) |
#define | cg_upnp_device_setparentdevice(dev, pDev) (dev->parentDevice = pDev) |
#define | cg_upnp_device_getparentdevice(dev) (dev->parentDevice) |
#define | cg_upnp_device_setdevicetype(dev, value) cg_xml_node_setchildnode(cg_upnp_device_getdevicenode(dev), CG_UPNP_DEVICE_DEVICE_TYPE, value) |
#define | cg_upnp_device_getdevicetype(dev) cg_xml_node_getchildnodevalue(cg_upnp_device_getdevicenode(dev), CG_UPNP_DEVICE_DEVICE_TYPE) |
#define | cg_upnp_device_isdevicetype(dev, value) cg_streq(cg_upnp_device_getdevicetype(dev), value) |
#define | cg_upnp_device_setfriendlyname(dev, value) cg_xml_node_setchildnode(cg_upnp_device_getdevicenode(dev), CG_UPNP_DEVICE_FRIENDLY_NAME, value) |
#define | cg_upnp_device_getfriendlyname(dev) cg_xml_node_getchildnodevalue(cg_upnp_device_getdevicenode(dev), CG_UPNP_DEVICE_FRIENDLY_NAME) |
#define | cg_upnp_device_setmanufacture(dev, value) cg_xml_node_setchildnode(cg_upnp_device_getdevicenode(dev), CG_UPNP_DEVICE_MANUFACTURE, value) |
#define | cg_upnp_device_getmanufacture(dev) cg_xml_node_getchildnodevalue(cg_upnp_device_getdevicenode(dev), CG_UPNP_DEVICE_MANUFACTURE) |
#define | cg_upnp_device_setmanufactureurl(dev, value) cg_xml_node_setchildnode(cg_upnp_device_getdevicenode(dev), CG_UPNP_DEVICE_MANUFACTURE_URL, value) |
#define | cg_upnp_device_getmanufactureurl(dev) cg_xml_node_getchildnodevalue(cg_upnp_device_getdevicenode(dev), CG_UPNP_DEVICE_MANUFACTURE_URL) |
#define | cg_upnp_device_setmodeldescription(dev, value) cg_xml_node_setchildnode(cg_upnp_device_getdevicenode(dev), CG_UPNP_DEVICE_MODEL_DESCRIPTION, value) |
#define | cg_upnp_device_getmodeldescription(dev) cg_xml_node_getchildnodevalue(cg_upnp_device_getdevicenode(dev), CG_UPNP_DEVICE_MODEL_DESCRIPTION) |
#define | cg_upnp_device_setmodelname(dev, value) cg_xml_node_setchildnode(cg_upnp_device_getdevicenode(dev), CG_UPNP_DEVICE_MODEL_NAME, value) |
#define | cg_upnp_device_getmodelname(dev) cg_xml_node_getchildnodevalue(cg_upnp_device_getdevicenode(dev), CG_UPNP_DEVICE_MODEL_NAME) |
#define | cg_upnp_device_setmodelnumber(dev, value) cg_xml_node_setchildnode(cg_upnp_device_getdevicenode(dev), CG_UPNP_DEVICE_MODEL_NUMBER, value) |
#define | cg_upnp_device_getmodelnumber(dev) cg_xml_node_getchildnodevalue(cg_upnp_device_getdevicenode(dev), CG_UPNP_DEVICE_MODEL_NUMBER) |
#define | cg_upnp_device_setmodelurl(dev, value) cg_xml_node_setchildnode(cg_upnp_device_getdevicenode(dev), CG_UPNP_DEVICE_MODEL_URL, value) |
#define | cg_upnp_device_getmodelurl(dev) cg_xml_node_getchildnodevalue(cg_upnp_device_getdevicenode(dev), CG_UPNP_DEVICE_MODEL_URL) |
#define | cg_upnp_device_setserialnumber(dev, value) cg_xml_node_setchildnode(cg_upnp_device_getdevicenode(dev), CG_UPNP_DEVICE_SERIAL_NUMBER, value) |
#define | cg_upnp_device_getserialnumber(dev) cg_xml_node_getchildnodevalue(cg_upnp_device_getdevicenode(dev), CG_UPNP_DEVICE_SERIAL_NUMBER) |
#define | cg_upnp_device_setudn(dev, value) cg_xml_node_setchildnode(cg_upnp_device_getdevicenode(dev), CG_UPNP_DEVICE_UDN, value) |
#define | cg_upnp_device_getudn(dev) cg_xml_node_getchildnodevalue(cg_upnp_device_getdevicenode(dev), CG_UPNP_DEVICE_UDN) |
#define | cg_upnp_device_hasudn(dev) ((0 < cg_strlen(cg_upnp_device_getudn(dev))) ? TRUE : FALSE) |
#define | cg_upnp_device_setupc(dev, value) cg_xml_node_setchildnode(cg_upnp_device_getdevicenode(dev), CG_UPNP_DEVICE_UPC, value) |
#define | cg_upnp_device_getupc(dev) cg_xml_node_getchildnodevalue(cg_upnp_device_getdevicenode(dev), CG_UPNP_DEVICE_UPC) |
#define | cg_upnp_device_setpresentationurl(dev, value) cg_xml_node_setchildnode(cg_upnp_device_getdevicenode(dev), CG_UPNP_DEVICE_PRESENTATION_URL, value) |
#define | cg_upnp_device_getpresentationurl(dev) cg_xml_node_getchildnodevalue(cg_upnp_device_getdevicenode(dev), CG_UPNP_DEVICE_PRESENTATION_URL) |
#define | cg_upnp_device_geturlbase(dev) cg_xml_node_getchildnodevalue(cg_upnp_device_getrootnode(cg_upnp_device_getrootdevice(dev)), CG_UPNP_DEVICE_URLBASE_NAME) |
#define | cg_upnp_device_lock(dev) cg_mutex_lock(dev->mutex) |
#define | cg_upnp_device_unlock(dev) cg_mutex_unlock(dev->mutex) |
#define | cg_upnp_device_setuserdata(dev, value) (dev->userData = value) |
#define | cg_upnp_device_getuserdata(dev) (dev->userData) |
#define | cg_upnp_device_setdescriptionuri(dev, url) cg_string_setvalue(dev->descriptionURI, url) |
#define | cg_upnp_device_getdescriptionuri(dev) cg_string_getvalue(dev->descriptionURI) |
#define | cg_upnp_device_isdescriptionuri(dev, url) cg_streq(cg_string_getvalue(dev->descriptionURI), url) |
#define | cg_upnp_device_setleasetime(dev, value) (dev->leaseTime = value) |
#define | cg_upnp_device_getleasetime(dev) (dev->leaseTime) |
#define | cg_upnp_device_getdevicelist(dev) (dev->deviceList) |
#define | cg_upnp_device_getdevice(dev, idx) ((CgUpnpDevice *)cg_list_get(dev->deviceList,idx)) |
#define | cg_upnp_device_getdevices(dev) ((CgUpnpDevice *)cg_list_gets((CgList *)dev->deviceList)) |
#define | cg_upnp_device_getservicelist(dev) (dev->serviceList) |
#define | cg_upnp_device_getservice(dev, idx) ((CgUpnpService *)cg_list_get(dev->serviceList,idx)) |
#define | cg_upnp_device_getservices(dev) ((CgUpnpService *)cg_list_gets((CgList *)dev->serviceList)) |
#define | cg_upnp_device_geticonlist(dev) (dev->iconList) |
#define | cg_upnp_device_geticon(dev, idx) ((CgUpnpIcon *)cg_list_get((CgList *)dev->iconList,idx)) |
#define | cg_upnp_device_geticons(dev) ((CgUpnpIcon *)cg_list_gets((CgList *)dev->iconList)) |
#define | cg_upnp_devicelist_clear(devList) cg_list_clear((CgList *)devList, (CG_LIST_DESTRUCTORFUNC)cg_upnp_device_delete) |
#define | cg_upnp_devicelist_size(devList) cg_list_size((CgList *)devList) |
#define | cg_upnp_devicelist_gets(devList) (CgUpnpDevice *)cg_list_next((CgList *)devList) |
#define | cg_upnp_devicelist_add(devList, dev) cg_list_add((CgList *)devList, (CgList *)dev) |
#define | cg_upnp_service_getdevice(service) ((CgUpnpDevice *)service->parentDevice) |
#define | cg_upnp_service_getrootdevice(service) cg_upnp_device_getrootdevice((CgUpnpDevice *)service->parentDevice) |
#define | cg_upnp_device_sethttpport(dev, value) (dev->httpPort = value) |
#define | cg_upnp_device_gethttpport(dev) (dev->httpPort) |
#define | cg_upnp_device_sethttplistener(dev, func) (dev->httpListener = func) |
#define | cg_upnp_device_gethttplistener(dev) (dev->httpListener) |
#define | cg_upnp_device_getssdpserverlist(dev) (dev->ssdpServerList) |
#define | cg_upnp_device_getssdppacket(dev) (dev->ssdpPkt) |
#define | cg_upnp_device_setssdppacket(dev, srcSsdpPkt) cg_upnp_ssdp_packet_copy(dev->ssdpPkt, srcSsdpPkt) |
#define | cg_upnp_device_getlocationfromssdppacket(dev) cg_upnp_ssdp_packet_getlocation(dev->ssdpPkt) |
#define | cg_upnp_device_getinterfaceaddressfromssdppacket(dev) cg_upnp_ssdp_packet_getlocaladdress(dev->ssdpPkt) |
#define | cg_upnp_device_getadvertiserthead(dev) (dev->advertiser) |
Typedefs | |
typedef _CgUpnpDevice | CgUpnpDevice |
The generic UPnP device structure. | |
typedef _CgUpnpDevice | CgUpnpDeviceList |
The generic UPnP device structure. | |
Functions | |
CgUpnpDevice * | cg_upnp_device_new () |
void | cg_upnp_device_delete (CgUpnpDevice *dev) |
void | cg_upnp_device_clear (CgUpnpDevice *dev) |
void | cg_upnp_device_setdevicenode (CgUpnpDevice *dev, CgXmlNode *node) |
CgUpnpDevice * | cg_upnp_device_getrootdevice (CgUpnpDevice *dev) |
BOOL | cg_upnp_device_parsedescription (CgUpnpDevice *dev, char *desciption, int descriptionLen) |
BOOL | cg_upnp_device_parsedescriptionurl (CgUpnpDevice *dev, CgNetURL *url) |
BOOL | cg_upnp_device_loaddescriptionfile (CgUpnpDevice *dev, char *fileName) |
BOOL | cg_upnp_device_updatefromssdppacket (CgUpnpDevice *dev, CgUpnpSSDPPacket *ssdpPkt) |
char * | cg_upnp_devicetype_getidentifier (char *deviceType) |
char * | cg_upnp_devicetype_geturn (char *deviceType) |
char * | cg_upnp_devicetype_getdevice (char *deviceType) |
char * | cg_upnp_devicetype_gettype (char *deviceType) |
char * | cg_upnp_devicetype_getschematype (char *deviceType) |
char * | cg_upnp_devicetype_getversion (char *deviceType) |
void | cg_upnp_device_seturlbase (CgUpnpDevice *dev, char *value) |
BOOL | cg_upnp_device_start (CgUpnpDevice *dev) |
BOOL | cg_upnp_device_stop (CgUpnpDevice *dev) |
char * | cg_upnp_device_getlocationurl (CgUpnpDevice *dev, char *host, char *buf, int bufSize) |
void | cg_upnp_device_announce (CgUpnpDevice *dev) |
void | cg_upnp_device_byebye (CgUpnpDevice *dev) |
void | cg_upnp_device_setactionlistener (CgUpnpDevice *dev, CG_UPNP_ACTION_LISTNER actionListner) |
void | cg_upnp_device_setquerylistener (CgUpnpDevice *dev, CG_UPNP_STATEVARIABLE_LISTNER queryListner) |
CgUpnpDevice * | cg_upnp_device_getdevicebyexacttype (CgUpnpDevice *dev, char *exacttype) |
CgUpnpDevice * | cg_upnp_device_getdevicebytype (CgUpnpDevice *dev, char *type) |
CgUpnpDevice * | cg_upnp_device_getdevicebyudn (CgUpnpDevice *dev, char *udn) |
CgUpnpDevice * | cg_upnp_device_getdevicebydescriptionuri (CgUpnpDevice *dev, char *url) |
CgUpnpService * | cg_upnp_device_getservicebyserviceid (CgUpnpDevice *dev, char *serviceId) |
CgUpnpService * | cg_upnp_device_getservicebyexacttype (CgUpnpDevice *dev, char *type) |
CgUpnpService * | cg_upnp_device_getservicebytype (CgUpnpDevice *dev, char *type) |
CgUpnpService * | cg_upnp_device_getservicebysid (CgUpnpDevice *dev, char *sid) |
CgUpnpService * | cg_upnp_device_getservicebyscpdurl (CgUpnpDevice *dev, char *url) |
CgUpnpService * | cg_upnp_device_getservicebycontrolurl (CgUpnpDevice *dev, char *url) |
CgUpnpService * | cg_upnp_device_getservicebyeventsuburl (CgUpnpDevice *dev, char *url) |
CgUpnpAction * | cg_upnp_device_getactionbyname (CgUpnpDevice *dev, char *name) |
CgUpnpStateVariable * | cg_upnp_device_getstatevariablebyname (CgUpnpDevice *dev, char *name) |
CgUpnpDeviceList * | cg_upnp_devicelist_new () |
void | cg_upnp_devicelist_delete (CgUpnpDeviceList *devList) |
void | cg_upnp_device_httprequestrecieved (CgHttpRequest *httpReq) |
void | cg_upnp_device_ssdplistener (CgUpnpSSDPPacket *ssdpPkt) |
char * | cg_upnp_device_getnotifydevicent (CgUpnpDevice *dev, char *buf, int bufSize) |
char * | cg_upnp_device_getnotifydeviceusn (CgUpnpDevice *dev, char *buf, int bufSize) |
char * | cg_upnp_device_getnotifydevicetypent (CgUpnpDevice *dev, char *buf, int bufSize) |
char * | cg_upnp_device_getnotifydevicetypeusn (CgUpnpDevice *dev, char *buf, int bufSize) |
void | cg_upnp_device_ssdpmessagereceived (CgUpnpDevice *dev, CgUpnpSSDPPacket *ssdpPkt, int filter) |
BOOL | cg_upnp_device_postsearchresponse (CgUpnpDevice *dev, CgUpnpSSDPPacket *ssdpPkt, char *st, char *usn) |
BOOL | cg_upnp_device_ipchanged (CgUpnpDevice *dev) |
BOOL | cg_upnp_device_advertiser_start (CgUpnpDevice *dev) |
BOOL | cg_upnp_device_advertiser_stop (CgUpnpDevice *dev) |
|
Definition for default description file "location" |
|
Definition for default device discovery wait time |
|
Definition for default device lease time |
|
Definition for default device start up wait time |
|
Definition for device type XML element name |
|
Definition for device XML element name |
|
Definition for device friendly name XML element name |
|
Get the advertiser thread from the device
|
|
Get the device's description URI
|
|
Find a certain device from the given device list
|
|
Get the device's internal device list
|
|
Return the device XML description node
|
|
|
|
Return the device type
|
|
Return the device's friendly name.
|
|
Get the device's HTTP listener function
|
|
Get the device's HTTP port
|
|
Get an icon by its index from the device's list of icons
|
|
Get the device's list of icons
|
|
|
|
Extract the interface address from the device's SSDP packet
|
|
Get the device's lease time. See cg_upnp_device_setleasetime.
|
|
Extract location information from the device's SSDP packet
|
|
Get the device's manufacturer.
|
|
Get the device's manufacturer URL
|
|
Get the device model description
|
|
Get the device's model name
|
|
Get the device's model number
|
|
Get the device's model URL
|
|
Return the device's parent device
|
|
Get the device's presentation URL
|
|
Return the device's root node
|
|
Get the device's model number
|
|
Get a service from <idx> from the device
|
|
Get the device's list of services
|
|
|
|
Get the device's SSDP packet
|
|
Get the device's list of SSDP servers
|
|
Get the device's Unique Device Name (UDN)
|
|
Get the device's Universal Product Code (UPC)
|
|
Get the device's base URL. The base URL is the root for all relative URLs.
|
|
Get device's user data pointer
|
|
Check whether the device has a Unique Device Name (UDN)
|
|
Definition for default device HTTP port |
|
Check, whether the given URL matches the device's description URI
|
|
Check whether the given node is of type CG_UPNP_DEVICE_ELEM_NAME
|
|
Check, whether the device is of the exact specified type (including version)
|
|
Check whether the given device contains a list of root nodes i.e. is it the root device
|
|
Lock the device's mutex (grant exclusive access to the device) until cg_upnp_device_unlock is called.
|
|
Definition for M-SEARCH filter interval |
|
Definition for device manufacturer XML element name |
|
Definition for manufacturer URL XML element name |
|
Definition for device model description XML element name |
|
Definition fo device model name XML element name |
|
Definition for device model number XML element name |
|
Definition for device model URL XML element name |
|
Get the next device in the device list. Use as an iterator.
|
|
Definition for device presentation URL XML element name |
|
Remove the device from the device list.
|
|
Definition for device serial number XML element name |
|
Set the given URL as the device's description URI
|
|
Modify the device type.
|
|
Modify the device's friendly name.
|
|
Set an HTTP listener function to the device
|
|
Modify the port that the device's HTTP server is listening
|
|
Set the device's lease time. The lease time is basically the maximum amount of time that can elapse before an advertisement is broadcast again. It does not set the exact advertisement interval, but rather a time window for each advertisement. Advertisement actually occurs at (more or less) random intervals inside this time window.
|
|
Modify the device's manufacturer.
|
|
Modify the device's manufacturer URL
|
|
Modify the device model description
|
|
Modify the device's model name
|
|
Modify the device's model number
|
|
Modify the device's model URL
|
|
Set a parent device for the given child device
|
|
Modify the device's presentation URL
|
|
Modify the device's serial number
|
|
Modify the device's SSDP packet (creates a copy of the original)
|
|
Modify the device's Unique Device Name (UDN)
|
|
Modify the device's Universal Product Code (UPC)
|
|
Set device's user data pointer
|
|
Definition for device UDN XML element name |
|
Unlock the device's mutex (release exclusive access to the device) locked previously with cg_upnp_device_lock.
|
|
Definition for device UPC XML element name |
|
Definition for UPnP rootdevice ID |
|
Definition for maximum URL base length |
|
Definition for urlbase XML element name |
|
Add a device to the device list
|
|
Clear the contents of a device list. Use cg_upnp_devicelist_delete instead of this function.
|
|
Definition for device XML element list name |
|
|
|
Get the size of the device list
|
|
Get the device associated to the given service
|
|
Get the root device of the given service
|
|
The generic UPnP device structure.
|
|
The generic UPnP device structure.
|
|
cg_upnp_device_advertiser_start Start the advertiser thread for the given device
|
|
cg_upnp_device_advertiser_stop Stop the advertiser thread for the given device
|
|
Broadcast an SSDP:alive to notify control points that the device is available.
|
|
Broadcast an SSDP:byebye message to notify control points that the device is no longer available.
|
|
Clear a UPnP device structure. This is an internal function and should not be called from outside.
|
|
Delete a UPnP device
|
|
Find an action from a device by its name
|
|
Find a child device by its description URI.
|
|
Find a device from the device's children by the type of the device. This function searches for devices, whose *complete type string* matches the given string, including version number. For example: "urn:schemas-upnp-org:device:FooDevice:1". If you need to disregard the version number, use cg_upnp_device_getdevicebytype
|
|
Find a device from the device's children by the type of the device. This function searches for devices, whose *type part* (i.e. not including the version) of the device type string matches the given string. For example: "urn:schemas-upnp-org:device:FooDevice". If you need to know the version of a device, use cg_upnp_devicetype_getversion
|
|
Find a device from the device's children by the UDN of the device.
|
|
Get device's location URL. Transforms the given <host> address to URL form: "http://<host>:<port>/description.xml". Port is usually 80 or 38400. If <host> is an IPv6 address, the address is "http://[<host>]:<port>/description.xml".
|
|
Get the device's Notification Type (NT). For the root device this is "upnp:rootdevice", otherwise the device's UDN (Unique Device Name).
|
|
Get the device type
|
|
Get the device's USN (Unique Service Name). For the root device this is "<UDN>::upnp:rootdevice", otherwise the UDN (Unique Device Name).
|
|
TODO: cg_upnp_device_getnotifydeviceusn doc |
|
Return the root (i.e. the topmost) device in the device structure
|
|
Find a service from a device by its control URL
|
|
Find a service from a device by its event subscription URL
|
|
Find a service from the device by the type of the service. This function searches for services, whose *complete type string* matches the given string, including version number. For example: "urn:schemas-upnp-org:service:ContentDirectory:1". If you need to know the version of a service, use cg_upnp_servicetype_getversion
|
|
Find a service from the device by the SCPD (Service Control Protocol Definition) URL of the service.
|
|
Find service from the device by a given serviceId. This function searches recursively device and its subdevices for a service with a given serviceId
|
|
Find a service from the device by the subscribtion ID
|
|
Find a service from the device by the type of the service. This function searches for services, whose *type part* (i.e. not including the version) of the service type string matches the given string. For example: "urn:schemas-upnp-org:service:ContentDirectory". If you need to know the version of a service, use cg_upnp_servicetype_getversion
|
|
Find a state variable from a device by its name
|
|
Handler function for a received HTTP request. Delegates GET and POST requests to their respective handlers, or treats as a BAD REQUEST, when appropriate.
|
|
Notify device that IP address of the host has been changed.
|
|
Load and parse the device description from an XML file. Not available for T-Engine, ITron and BTron platforms.
|
|
Create a new UPnP device |
|
Parse the device description XML document.
|
|
Fetch and parse the device description XML file, located in the given URL.
|
|
Post a response to an SSDP search message
|
|
Set an action listener to the device. Actions are basically commands, that the device (service) responds to.
|
|
Set the device description node and initialise its child nodes
|
|
Set a query listener to the device. Queries are meant for state variables.
|
|
Modify the device's URL base The base URL is the root for all relative URLs.
|
|
The SSDP message handler function.
|
|
SSDP message handler
|
|
Start the device. This essentially starts:
|
|
Stop the device. This concerns:
|
|
Update the device's contents from an SSDP packet if necessary.
|
|
Delete a device list completely, freeing all devices and their contents.
|
|
Create a new device list |
|
Get the device part of a device type string (usually just "device")
|
|
Get the identifier-part of a device type string (usually "urn")
|
|
Get the schema type part of a device type string (without last colon) (ex. "urn:schemas-upnp-org:device:ContentDirectory")
|
|
Get the type part of a device type string (ex. "ContentDirectory")
|
|
Get the URN part of a device type string (usually "schemas-upnp-org")
|
|
Get the version part of a device type string (ex. "1")
|