00001
00002
00003
00004
00005
00006
00007
00008 #ifndef _UPNPSERVICE_H
00009 #define _UPNPSERVICE_H
00010
00011 #include <upnp/upnp.h>
00012
00021 class cUpnpService {
00022 public:
00029 cUpnpService(
00030 UpnpDevice_Handle DeviceHandle
00031 );
00032 virtual ~cUpnpService(){};
00044 virtual int subscribe(
00045 Upnp_Subscription_Request* Request
00046 ) = 0;
00059 virtual int execute(
00060 Upnp_Action_Request* Request
00061 ) = 0;
00062 protected:
00072 virtual void setError(
00073 Upnp_Action_Request* Request,
00074 int Error
00075 );
00090 int parseIntegerValue(
00091 IN IXML_Document* Document,
00092 IN const char* Item,
00093 OUT int* Value
00094 );
00109 int parseStringValue(
00110 IN IXML_Document* Document,
00111 IN const char* Item,
00112 OUT char** Value
00113 );
00114
00115 UpnpDevice_Handle mDeviceHandle;
00116 };
00117
00118 #endif
00119