|
a/libupnpp/control/service.cxx |
|
b/libupnpp/control/service.cxx |
|
... |
|
... |
22 |
|
22 |
|
23 |
#include <upnp/upnp.h>
|
23 |
#include <upnp/upnp.h>
|
24 |
|
24 |
|
25 |
#include "libupnpp/log.hxx"
|
25 |
#include "libupnpp/log.hxx"
|
26 |
#include "libupnpp/ptmutex.hxx"
|
26 |
#include "libupnpp/ptmutex.hxx"
|
|
|
27 |
#include "libupnpp/upnpp_p.hxx"
|
27 |
#include "libupnpp/upnpplib.hxx"
|
28 |
#include "libupnpp/upnpplib.hxx"
|
28 |
#include "libupnpp/control/service.hxx"
|
29 |
#include "libupnpp/control/service.hxx"
|
29 |
#include "libupnpp/control/cdirectory.hxx"
|
30 |
#include "libupnpp/control/cdirectory.hxx"
|
30 |
#include "libupnpp/control/avlastchg.hxx"
|
31 |
#include "libupnpp/control/avlastchg.hxx"
|
31 |
|
32 |
|
|
... |
|
... |
42 |
{
|
43 |
{
|
43 |
if (*rqpp) ixmlDocument_free(*rqpp);
|
44 |
if (*rqpp) ixmlDocument_free(*rqpp);
|
44 |
if (*rspp) ixmlDocument_free(*rspp);
|
45 |
if (*rspp) ixmlDocument_free(*rspp);
|
45 |
}
|
46 |
}
|
46 |
};
|
47 |
};
|
|
|
48 |
|
|
|
49 |
Service::Service(const UPnPDeviceDesc& device,
|
|
|
50 |
const UPnPServiceDesc& service)
|
|
|
51 |
: m_reporter(0),
|
|
|
52 |
m_actionURL(caturl(device.URLBase, service.controlURL)),
|
|
|
53 |
m_eventURL(caturl(device.URLBase, service.eventSubURL)),
|
|
|
54 |
m_serviceType(service.serviceType),
|
|
|
55 |
m_deviceId(device.UDN),
|
|
|
56 |
m_friendlyName(device.friendlyName),
|
|
|
57 |
m_manufacturer(device.manufacturer),
|
|
|
58 |
m_modelName(device.modelName)
|
|
|
59 |
{
|
|
|
60 |
initEvents();
|
|
|
61 |
subscribe();
|
|
|
62 |
}
|
47 |
|
63 |
|
48 |
int Service::runAction(const SoapEncodeInput& args, SoapDecodeOutput& data)
|
64 |
int Service::runAction(const SoapEncodeInput& args, SoapDecodeOutput& data)
|
49 |
{
|
65 |
{
|
50 |
LibUPnP* lib = LibUPnP::getLibUPnP();
|
66 |
LibUPnP* lib = LibUPnP::getLibUPnP();
|
51 |
if (lib == 0) {
|
67 |
if (lib == 0) {
|