Template object for Discovery.
This commit is contained in:
@@ -9,103 +9,29 @@
|
||||
*
|
||||
* \brief UpnpDiscovery object declararion.
|
||||
*
|
||||
* Returned in a \b UPNP_DISCOVERY_RESULT callback.
|
||||
*
|
||||
* \author Marcelo Roberto Jimenez
|
||||
*/
|
||||
|
||||
#include "UpnpInet.h" /* for struct sockaddr_storage */
|
||||
|
||||
/*! Returned in a \b UPNP_DISCOVERY_RESULT callback. */
|
||||
typedef struct s_UpnpDiscovery UpnpDiscovery;
|
||||
#define CLASS UpnpDiscovery
|
||||
|
||||
#define EXPAND_CLASS_MEMBERS(CLASS) \
|
||||
EXPAND_CLASS_MEMBER_INT(CLASS, ErrCode, int) \
|
||||
EXPAND_CLASS_MEMBER_INT(CLASS, Expires, int) \
|
||||
EXPAND_CLASS_MEMBER_STRING(CLASS, DeviceID) \
|
||||
EXPAND_CLASS_MEMBER_STRING(CLASS, DeviceType) \
|
||||
EXPAND_CLASS_MEMBER_STRING(CLASS, ServiceType) \
|
||||
EXPAND_CLASS_MEMBER_STRING(CLASS, ServiceVer) \
|
||||
EXPAND_CLASS_MEMBER_STRING(CLASS, Location) \
|
||||
EXPAND_CLASS_MEMBER_STRING(CLASS, Os) \
|
||||
EXPAND_CLASS_MEMBER_STRING(CLASS, Date) \
|
||||
EXPAND_CLASS_MEMBER_STRING(CLASS, Ext) \
|
||||
EXPAND_CLASS_MEMBER_BUFFER(CLASS, DestAddr, struct sockaddr_storage) \
|
||||
|
||||
#include "UpnpGlobal.h" /* for EXPORT_SPEC */
|
||||
#include "UpnpInet.h" /* for sockaddr, sockaddr_storage */
|
||||
#include "UpnpString.h"
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
|
||||
/*! Constructor */
|
||||
EXPORT_SPEC UpnpDiscovery *UpnpDiscovery_new();
|
||||
|
||||
/*! Destructor */
|
||||
EXPORT_SPEC void UpnpDiscovery_delete(UpnpDiscovery *p);
|
||||
|
||||
/*! Copy Constructor */
|
||||
EXPORT_SPEC UpnpDiscovery *UpnpDiscovery_dup(const UpnpDiscovery *p);
|
||||
|
||||
/*! Assignment operator */
|
||||
EXPORT_SPEC void UpnpDiscovery_assign(UpnpDiscovery *p, const UpnpDiscovery *q);
|
||||
|
||||
/*! The result code of the \b UpnpSearchAsync call. */
|
||||
EXPORT_SPEC int UpnpDiscovery_get_ErrCode(const UpnpDiscovery *p);
|
||||
EXPORT_SPEC void UpnpDiscovery_set_ErrCode(UpnpDiscovery *p, int n);
|
||||
|
||||
/*! The expiration time of the advertisement. */
|
||||
EXPORT_SPEC int UpnpDiscovery_get_Expires(const UpnpDiscovery *p);
|
||||
EXPORT_SPEC void UpnpDiscovery_set_Expires(UpnpDiscovery *p, int n);
|
||||
|
||||
/*! The unique device identifier. */
|
||||
EXPORT_SPEC const UpnpString *UpnpDiscovery_get_DeviceID(const UpnpDiscovery *p);
|
||||
EXPORT_SPEC const char *UpnpDiscovery_get_DeviceID_cstr(const UpnpDiscovery *p);
|
||||
EXPORT_SPEC void UpnpDiscovery_set_DeviceID(UpnpDiscovery *p, const UpnpString *s);
|
||||
EXPORT_SPEC void UpnpDiscovery_strcpy_DeviceID(UpnpDiscovery *p, const char *s);
|
||||
|
||||
/*! The device type. */
|
||||
EXPORT_SPEC const UpnpString *UpnpDiscovery_get_DeviceType(const UpnpDiscovery *p);
|
||||
EXPORT_SPEC const char *UpnpDiscovery_get_DeviceType_cstr(const UpnpDiscovery *p);
|
||||
EXPORT_SPEC void UpnpDiscovery_set_DeviceType(UpnpDiscovery *p, const UpnpString *s);
|
||||
EXPORT_SPEC void UpnpDiscovery_strcpy_DeviceType(UpnpDiscovery *p, const char *s);
|
||||
|
||||
/*! The ServiceType. */
|
||||
EXPORT_SPEC const UpnpString *UpnpDiscovery_get_ServiceType(const UpnpDiscovery *p);
|
||||
EXPORT_SPEC const char *UpnpDiscovery_get_ServiceType_cstr(const UpnpDiscovery *p);
|
||||
EXPORT_SPEC void UpnpDiscovery_set_ServiceType(UpnpDiscovery *p, const UpnpString *s);
|
||||
EXPORT_SPEC void UpnpDiscovery_strcpy_ServiceType(UpnpDiscovery *p, const char *s);
|
||||
|
||||
/*! The service version. */
|
||||
EXPORT_SPEC const UpnpString *UpnpDiscovery_get_ServiceVer(const UpnpDiscovery *p);
|
||||
EXPORT_SPEC const char *UpnpDiscovery_get_ServiceVer_cstr(const UpnpDiscovery *p);
|
||||
EXPORT_SPEC void UpnpDiscovery_set_ServiceVer(UpnpDiscovery *p, const UpnpString *s);
|
||||
EXPORT_SPEC void UpnpDiscovery_strcpy_ServiceVer(UpnpDiscovery *p, const char *s);
|
||||
|
||||
/*! The URL to the UPnP description document for the device. */
|
||||
EXPORT_SPEC const UpnpString *UpnpDiscovery_get_Location(const UpnpDiscovery *p);
|
||||
EXPORT_SPEC const char *UpnpDiscovery_get_Location_cstr(const UpnpDiscovery *p);
|
||||
EXPORT_SPEC void UpnpDiscovery_set_Location(UpnpDiscovery *p, const UpnpString *s);
|
||||
EXPORT_SPEC void UpnpDiscovery_strcpy_Location(UpnpDiscovery *p, const char *s);
|
||||
EXPORT_SPEC void UpnpDiscovery_strncpy_Location(UpnpDiscovery *p, const char *s, int n);
|
||||
|
||||
/*! The operating system the device is running. */
|
||||
EXPORT_SPEC const UpnpString *UpnpDiscovery_get_Os(const UpnpDiscovery *p);
|
||||
EXPORT_SPEC const char *UpnpDiscovery_get_Os_cstr(const UpnpDiscovery *p);
|
||||
EXPORT_SPEC void UpnpDiscovery_set_Os(UpnpDiscovery *p, const UpnpString *s);
|
||||
EXPORT_SPEC void UpnpDiscovery_strcpy_Os(UpnpDiscovery *p, const char *s);
|
||||
EXPORT_SPEC void UpnpDiscovery_strncpy_Os(UpnpDiscovery *p, const char *s, int n);
|
||||
|
||||
/*! Date when the response was generated. */
|
||||
EXPORT_SPEC const UpnpString *UpnpDiscovery_get_Date(const UpnpDiscovery *p);
|
||||
EXPORT_SPEC const char *UpnpDiscovery_get_Date_cstr(const UpnpDiscovery *p);
|
||||
EXPORT_SPEC void UpnpDiscovery_set_Date(UpnpDiscovery *p, const UpnpString *s);
|
||||
EXPORT_SPEC void UpnpDiscovery_strcpy_Date(UpnpDiscovery *p, const char *s);
|
||||
|
||||
/*! Confirmation that the MAN header was understood by the device. */
|
||||
EXPORT_SPEC const UpnpString *UpnpDiscovery_get_Ext(const UpnpDiscovery *p);
|
||||
EXPORT_SPEC const char *UpnpDiscovery_get_Ext_cstr(const UpnpDiscovery *p);
|
||||
EXPORT_SPEC void UpnpDiscovery_set_Ext(UpnpDiscovery *p, const UpnpString *s);
|
||||
EXPORT_SPEC void UpnpDiscovery_strcpy_Ext(UpnpDiscovery *p, const char *s);
|
||||
EXPORT_SPEC void UpnpDiscovery_strncpy_Ext(UpnpDiscovery *p, const char *s, int n);
|
||||
|
||||
/*! The host address of the device responding to the search. */
|
||||
EXPORT_SPEC const struct sockaddr *UpnpDiscovery_get_DestAddr(const UpnpDiscovery *p);
|
||||
EXPORT_SPEC void UpnpDiscovery_set_DestAddr(UpnpDiscovery *p, const struct sockaddr *sa);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
#include "TemplateInclude.h"
|
||||
|
||||
|
||||
#endif /* DISCOVERY_H */
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
|
||||
|
||||
/*!
|
||||
* \file
|
||||
*
|
||||
@@ -8,389 +7,8 @@
|
||||
* \author Marcelo Roberto Jimenez
|
||||
*/
|
||||
|
||||
|
||||
#include "config.h"
|
||||
|
||||
|
||||
#define TEMPLATE_GENERATE_SOURCE
|
||||
#include "Discovery.h"
|
||||
|
||||
|
||||
#include <stdlib.h> /* for calloc(), free() */
|
||||
#include <string.h> /* for memset() */
|
||||
|
||||
|
||||
struct SUpnpDiscovery
|
||||
{
|
||||
int m_errCode;
|
||||
int m_expires;
|
||||
UpnpString *m_deviceID;
|
||||
UpnpString *m_deviceType;
|
||||
UpnpString *m_serviceType;
|
||||
UpnpString *m_serviceVer;
|
||||
UpnpString *m_location;
|
||||
UpnpString *m_os;
|
||||
UpnpString *m_date;
|
||||
UpnpString *m_ext;
|
||||
/* Variables should be declared with struct sockaddr_storage,
|
||||
* but users must only see a struct sockaddr pointer */
|
||||
struct sockaddr_storage m_destAddr;
|
||||
};
|
||||
|
||||
|
||||
UpnpDiscovery *UpnpDiscovery_new()
|
||||
{
|
||||
struct SUpnpDiscovery *p = calloc(1, sizeof (struct SUpnpDiscovery));
|
||||
|
||||
#if 0
|
||||
p->errCode = 0;
|
||||
p->m_expires = 0;
|
||||
#endif
|
||||
p->m_deviceID = UpnpString_new();
|
||||
p->m_deviceType = UpnpString_new();
|
||||
p->m_serviceType = UpnpString_new();
|
||||
p->m_serviceVer = UpnpString_new();
|
||||
p->m_location = UpnpString_new();
|
||||
p->m_os = UpnpString_new();
|
||||
p->m_date = UpnpString_new();
|
||||
p->m_ext = UpnpString_new();
|
||||
memset(&p->m_destAddr, 0, sizeof(struct sockaddr_storage));
|
||||
|
||||
return (UpnpDiscovery *)p;
|
||||
}
|
||||
|
||||
|
||||
void UpnpDiscovery_delete(UpnpDiscovery *p)
|
||||
{
|
||||
struct SUpnpDiscovery *q = (struct SUpnpDiscovery *)p;
|
||||
|
||||
if (!q) return;
|
||||
|
||||
q->m_errCode = 0;
|
||||
|
||||
q->m_expires = 0;
|
||||
|
||||
UpnpString_delete(q->m_deviceID);
|
||||
q->m_deviceID = NULL;
|
||||
|
||||
UpnpString_delete(q->m_deviceType);
|
||||
q->m_deviceType = NULL;
|
||||
|
||||
UpnpString_delete(q->m_serviceType);
|
||||
q->m_serviceType = NULL;
|
||||
|
||||
UpnpString_delete(q->m_serviceVer);
|
||||
q->m_serviceVer = NULL;
|
||||
|
||||
UpnpString_delete(q->m_location);
|
||||
q->m_location = NULL;
|
||||
|
||||
UpnpString_delete(q->m_os);
|
||||
q->m_os = NULL;
|
||||
|
||||
UpnpString_delete(q->m_date);
|
||||
q->m_date = NULL;
|
||||
|
||||
UpnpString_delete(q->m_ext);
|
||||
q->m_ext = NULL;
|
||||
|
||||
memset(&q->m_destAddr, 0, sizeof(struct sockaddr_storage));
|
||||
|
||||
free(p);
|
||||
}
|
||||
|
||||
|
||||
UpnpDiscovery *UpnpDiscovery_dup(const UpnpDiscovery *p)
|
||||
{
|
||||
UpnpDiscovery *q = UpnpDiscovery_new();
|
||||
|
||||
UpnpDiscovery_assign(q, p);
|
||||
|
||||
return q;
|
||||
}
|
||||
|
||||
|
||||
void UpnpDiscovery_assign(UpnpDiscovery *p, const UpnpDiscovery *q)
|
||||
{
|
||||
if (p != q) {
|
||||
UpnpDiscovery_set_ErrCode(p, UpnpDiscovery_get_ErrCode(q));
|
||||
UpnpDiscovery_set_Expires(p, UpnpDiscovery_get_Expires(q));
|
||||
UpnpDiscovery_set_DeviceID(p, UpnpDiscovery_get_DeviceID(q));
|
||||
UpnpDiscovery_set_DeviceType(p, UpnpDiscovery_get_DeviceType(q));
|
||||
UpnpDiscovery_set_ServiceType(p, UpnpDiscovery_get_ServiceType(q));
|
||||
UpnpDiscovery_set_ServiceVer(p, UpnpDiscovery_get_ServiceVer(q));
|
||||
UpnpDiscovery_set_Location(p, UpnpDiscovery_get_Location(q));
|
||||
UpnpDiscovery_set_Os(p, UpnpDiscovery_get_Os(q));
|
||||
UpnpDiscovery_set_Date(p, UpnpDiscovery_get_Date(q));
|
||||
UpnpDiscovery_set_Ext(p, UpnpDiscovery_get_Ext(q));
|
||||
UpnpDiscovery_set_DestAddr(p, UpnpDiscovery_get_DestAddr(q));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
int UpnpDiscovery_get_ErrCode(const UpnpDiscovery *p)
|
||||
{
|
||||
return ((struct SUpnpDiscovery *)p)->m_errCode;
|
||||
}
|
||||
|
||||
|
||||
void UpnpDiscovery_set_ErrCode(UpnpDiscovery *p, int n)
|
||||
{
|
||||
((struct SUpnpDiscovery *)p)->m_errCode = n;
|
||||
}
|
||||
|
||||
|
||||
int UpnpDiscovery_get_Expires(const UpnpDiscovery *p)
|
||||
{
|
||||
return ((struct SUpnpDiscovery *)p)->m_expires;
|
||||
}
|
||||
|
||||
|
||||
void UpnpDiscovery_set_Expires(UpnpDiscovery *p, int n)
|
||||
{
|
||||
((struct SUpnpDiscovery *)p)->m_expires = n;
|
||||
}
|
||||
|
||||
|
||||
const UpnpString *UpnpDiscovery_get_DeviceID(const UpnpDiscovery *p)
|
||||
{
|
||||
return ((struct SUpnpDiscovery *)p)->m_deviceID;
|
||||
}
|
||||
|
||||
const char *UpnpDiscovery_get_DeviceID_cstr(const UpnpDiscovery *p)
|
||||
{
|
||||
return UpnpString_get_String(UpnpDiscovery_get_DeviceID(p));
|
||||
}
|
||||
|
||||
|
||||
void UpnpDiscovery_set_DeviceID(UpnpDiscovery *p, const UpnpString *s)
|
||||
{
|
||||
UpnpString_delete(((struct SUpnpDiscovery *)p)->m_deviceID);
|
||||
((struct SUpnpDiscovery *)p)->m_deviceID = UpnpString_dup(s);
|
||||
}
|
||||
|
||||
|
||||
void UpnpDiscovery_strcpy_DeviceID(UpnpDiscovery *p, const char *s)
|
||||
{
|
||||
UpnpString_delete(((struct SUpnpDiscovery *)p)->m_deviceID);
|
||||
((struct SUpnpDiscovery *)p)->m_deviceID = UpnpString_new();
|
||||
UpnpString_set_String(((struct SUpnpDiscovery *)p)->m_deviceID, s);
|
||||
}
|
||||
|
||||
|
||||
const UpnpString *UpnpDiscovery_get_DeviceType(const UpnpDiscovery *p)
|
||||
{
|
||||
return ((struct SUpnpDiscovery *)p)->m_deviceType;
|
||||
}
|
||||
|
||||
const char *UpnpDiscovery_get_DeviceType_cstr(const UpnpDiscovery *p)
|
||||
{
|
||||
return UpnpString_get_String(UpnpDiscovery_get_DeviceType(p));
|
||||
}
|
||||
|
||||
|
||||
void UpnpDiscovery_set_DeviceType(UpnpDiscovery *p, const UpnpString *s)
|
||||
{
|
||||
UpnpString_delete(((struct SUpnpDiscovery *)p)->m_deviceType);
|
||||
((struct SUpnpDiscovery *)p)->m_deviceType = UpnpString_dup(s);
|
||||
}
|
||||
|
||||
|
||||
void UpnpDiscovery_strcpy_DeviceType(UpnpDiscovery *p, const char *s)
|
||||
{
|
||||
UpnpString_delete(((struct SUpnpDiscovery *)p)->m_deviceType);
|
||||
((struct SUpnpDiscovery *)p)->m_deviceType = UpnpString_new();
|
||||
UpnpString_set_String(((struct SUpnpDiscovery *)p)->m_deviceType, s);
|
||||
}
|
||||
|
||||
|
||||
const UpnpString *UpnpDiscovery_get_ServiceType(const UpnpDiscovery *p)
|
||||
{
|
||||
return ((struct SUpnpDiscovery *)p)->m_serviceType;
|
||||
}
|
||||
|
||||
const char *UpnpDiscovery_get_ServiceType_cstr(const UpnpDiscovery *p)
|
||||
{
|
||||
return UpnpString_get_String(UpnpDiscovery_get_ServiceType(p));
|
||||
}
|
||||
|
||||
|
||||
void UpnpDiscovery_set_ServiceType(UpnpDiscovery *p, const UpnpString *s)
|
||||
{
|
||||
UpnpString_delete(((struct SUpnpDiscovery *)p)->m_serviceType);
|
||||
((struct SUpnpDiscovery *)p)->m_serviceType = UpnpString_dup(s);
|
||||
}
|
||||
|
||||
|
||||
void UpnpDiscovery_strcpy_ServiceType(UpnpDiscovery *p, const char *s)
|
||||
{
|
||||
UpnpString_delete(((struct SUpnpDiscovery *)p)->m_serviceType);
|
||||
((struct SUpnpDiscovery *)p)->m_serviceType = UpnpString_new();
|
||||
UpnpString_set_String(((struct SUpnpDiscovery *)p)->m_serviceType, s);
|
||||
}
|
||||
|
||||
|
||||
const UpnpString *UpnpDiscovery_get_ServiceVer(const UpnpDiscovery *p)
|
||||
{
|
||||
return ((struct SUpnpDiscovery *)p)->m_serviceVer;
|
||||
}
|
||||
|
||||
const char *UpnpDiscovery_get_ServiceVer_cstr(const UpnpDiscovery *p)
|
||||
{
|
||||
return UpnpString_get_String(UpnpDiscovery_get_ServiceVer(p));
|
||||
}
|
||||
|
||||
|
||||
void UpnpDiscovery_set_ServiceVer(UpnpDiscovery *p, const UpnpString *s)
|
||||
{
|
||||
UpnpString_delete(((struct SUpnpDiscovery *)p)->m_serviceVer);
|
||||
((struct SUpnpDiscovery *)p)->m_serviceVer = UpnpString_dup(s);
|
||||
}
|
||||
|
||||
|
||||
void UpnpDiscovery_strcpy_ServiceVer(UpnpDiscovery *p, const char *s)
|
||||
{
|
||||
UpnpString_delete(((struct SUpnpDiscovery *)p)->m_serviceVer);
|
||||
((struct SUpnpDiscovery *)p)->m_serviceVer = UpnpString_new();
|
||||
UpnpString_set_String(((struct SUpnpDiscovery *)p)->m_serviceVer, s);
|
||||
}
|
||||
|
||||
|
||||
const UpnpString *UpnpDiscovery_get_Location(const UpnpDiscovery *p)
|
||||
{
|
||||
return ((struct SUpnpDiscovery *)p)->m_location;
|
||||
}
|
||||
|
||||
const char *UpnpDiscovery_get_Location_cstr(const UpnpDiscovery *p)
|
||||
{
|
||||
return UpnpString_get_String(UpnpDiscovery_get_Location(p));
|
||||
}
|
||||
|
||||
|
||||
void UpnpDiscovery_set_Location(UpnpDiscovery *p, const UpnpString *s)
|
||||
{
|
||||
UpnpString_delete(((struct SUpnpDiscovery *)p)->m_location);
|
||||
((struct SUpnpDiscovery *)p)->m_location = UpnpString_dup(s);
|
||||
}
|
||||
|
||||
|
||||
void UpnpDiscovery_strcpy_Location(UpnpDiscovery *p, const char *s)
|
||||
{
|
||||
UpnpString_delete(((struct SUpnpDiscovery *)p)->m_location);
|
||||
((struct SUpnpDiscovery *)p)->m_location = UpnpString_new();
|
||||
UpnpString_set_String(((struct SUpnpDiscovery *)p)->m_location, s);
|
||||
}
|
||||
|
||||
|
||||
void UpnpDiscovery_strncpy_Location(UpnpDiscovery *p, const char *s, int n)
|
||||
{
|
||||
UpnpString_delete(((struct SUpnpDiscovery *)p)->m_location);
|
||||
((struct SUpnpDiscovery *)p)->m_location = UpnpString_new();
|
||||
UpnpString_set_StringN(((struct SUpnpDiscovery *)p)->m_location, s, n);
|
||||
}
|
||||
|
||||
|
||||
const UpnpString *UpnpDiscovery_get_Os(const UpnpDiscovery *p)
|
||||
{
|
||||
return ((struct SUpnpDiscovery *)p)->m_os;
|
||||
}
|
||||
|
||||
const char *UpnpDiscovery_get_Os_cstr(const UpnpDiscovery *p)
|
||||
{
|
||||
return UpnpString_get_String(UpnpDiscovery_get_Os(p));
|
||||
}
|
||||
|
||||
|
||||
void UpnpDiscovery_set_Os(UpnpDiscovery *p, const UpnpString *s)
|
||||
{
|
||||
UpnpString_delete(((struct SUpnpDiscovery *)p)->m_os);
|
||||
((struct SUpnpDiscovery *)p)->m_os = UpnpString_dup(s);
|
||||
}
|
||||
|
||||
|
||||
void UpnpDiscovery_strcpy_Os(UpnpDiscovery *p, const char *s)
|
||||
{
|
||||
UpnpString_delete(((struct SUpnpDiscovery *)p)->m_os);
|
||||
((struct SUpnpDiscovery *)p)->m_os = UpnpString_new();
|
||||
UpnpString_set_String(((struct SUpnpDiscovery *)p)->m_os, s);
|
||||
}
|
||||
|
||||
|
||||
void UpnpDiscovery_strncpy_Os(UpnpDiscovery *p, const char *s, int n)
|
||||
{
|
||||
UpnpString_delete(((struct SUpnpDiscovery *)p)->m_os);
|
||||
((struct SUpnpDiscovery *)p)->m_os = UpnpString_new();
|
||||
UpnpString_set_StringN(((struct SUpnpDiscovery *)p)->m_os, s, n);
|
||||
}
|
||||
|
||||
|
||||
const UpnpString *UpnpDiscovery_get_Date(const UpnpDiscovery *p)
|
||||
{
|
||||
return ((struct SUpnpDiscovery *)p)->m_date;
|
||||
}
|
||||
|
||||
const char *UpnpDiscovery_get_Date_cstr(const UpnpDiscovery *p)
|
||||
{
|
||||
return UpnpString_get_String(UpnpDiscovery_get_Date(p));
|
||||
}
|
||||
|
||||
|
||||
void UpnpDiscovery_set_Date(UpnpDiscovery *p, const UpnpString *s)
|
||||
{
|
||||
UpnpString_delete(((struct SUpnpDiscovery *)p)->m_date);
|
||||
((struct SUpnpDiscovery *)p)->m_date = UpnpString_dup(s);
|
||||
}
|
||||
|
||||
|
||||
void UpnpDiscovery_strcpy_Date(UpnpDiscovery *p, const char *s)
|
||||
{
|
||||
UpnpString_delete(((struct SUpnpDiscovery *)p)->m_date);
|
||||
((struct SUpnpDiscovery *)p)->m_date = UpnpString_new();
|
||||
UpnpString_set_String(((struct SUpnpDiscovery *)p)->m_date, s);
|
||||
}
|
||||
|
||||
|
||||
const UpnpString *UpnpDiscovery_get_Ext(const UpnpDiscovery *p)
|
||||
{
|
||||
return ((struct SUpnpDiscovery *)p)->m_ext;
|
||||
}
|
||||
|
||||
const char *UpnpDiscovery_get_Ext_cstr(const UpnpDiscovery *p)
|
||||
{
|
||||
return UpnpString_get_String(UpnpDiscovery_get_Ext(p));
|
||||
}
|
||||
|
||||
|
||||
void UpnpDiscovery_set_Ext(UpnpDiscovery *p, const UpnpString *s)
|
||||
{
|
||||
UpnpString_delete(((struct SUpnpDiscovery *)p)->m_ext);
|
||||
((struct SUpnpDiscovery *)p)->m_ext = UpnpString_dup(s);
|
||||
}
|
||||
|
||||
|
||||
void UpnpDiscovery_strcpy_Ext(UpnpDiscovery *p, const char *s)
|
||||
{
|
||||
UpnpString_delete(((struct SUpnpDiscovery *)p)->m_ext);
|
||||
((struct SUpnpDiscovery *)p)->m_ext = UpnpString_new();
|
||||
UpnpString_set_String(((struct SUpnpDiscovery *)p)->m_ext, s);
|
||||
}
|
||||
|
||||
|
||||
void UpnpDiscovery_strncpy_Ext(UpnpDiscovery *p, const char *s, int n)
|
||||
{
|
||||
UpnpString_delete(((struct SUpnpDiscovery *)p)->m_ext);
|
||||
((struct SUpnpDiscovery *)p)->m_ext = UpnpString_new();
|
||||
UpnpString_set_StringN(((struct SUpnpDiscovery *)p)->m_ext, s, n);
|
||||
}
|
||||
|
||||
|
||||
const struct sockaddr *UpnpDiscovery_get_DestAddr(const UpnpDiscovery *p)
|
||||
{
|
||||
return (struct sockaddr *)&((struct SUpnpDiscovery *)p)->m_destAddr;
|
||||
}
|
||||
|
||||
|
||||
void UpnpDiscovery_set_DestAddr(UpnpDiscovery *p, const struct sockaddr *sa)
|
||||
{
|
||||
((struct SUpnpDiscovery *)p)->m_destAddr = *(struct sockaddr_storage *)sa;
|
||||
}
|
||||
|
||||
|
||||
@@ -215,12 +215,12 @@ int Make_Socket_NoBlocking (int sock);
|
||||
***************************************************************************/
|
||||
#ifdef INCLUDE_DEVICE_APIS
|
||||
void ssdp_handle_device_request(
|
||||
IN http_message_t* hmsg,
|
||||
IN struct sockaddr* dest_addr );
|
||||
IN http_message_t *hmsg,
|
||||
IN struct sockaddr_storage *dest_addr);
|
||||
#else
|
||||
static inline void ssdp_handle_device_request(
|
||||
IN http_message_t* hmsg,
|
||||
IN struct sockaddr* dest_addr ) {}
|
||||
IN http_message_t *hmsg,
|
||||
IN struct sockaddr_storage *dest_addr) {}
|
||||
#endif
|
||||
|
||||
/************************************************************************
|
||||
@@ -244,10 +244,10 @@ static inline void ssdp_handle_device_request(
|
||||
*
|
||||
***************************************************************************/
|
||||
void ssdp_handle_ctrlpt_msg(
|
||||
IN http_message_t* hmsg,
|
||||
IN struct sockaddr* dest_addr,
|
||||
IN http_message_t *hmsg,
|
||||
IN struct sockaddr_storage *dest_addr,
|
||||
IN xboolean timeout,
|
||||
IN void* cookie );
|
||||
IN void *cookie);
|
||||
|
||||
/************************************************************************
|
||||
* Function : unique_service_name
|
||||
|
||||
@@ -106,7 +106,7 @@ void send_search_result(IN void *data)
|
||||
***************************************************************************/
|
||||
void ssdp_handle_ctrlpt_msg(
|
||||
IN http_message_t *hmsg,
|
||||
IN struct sockaddr *dest_addr,
|
||||
IN struct sockaddr_storage *dest_addr,
|
||||
IN xboolean timeout, // only in search reply
|
||||
IN void *cookie) // only in search reply
|
||||
{
|
||||
|
||||
@@ -91,7 +91,7 @@ advertiseAndReplyThread( IN void *data )
|
||||
*
|
||||
* Parameters:
|
||||
* IN http_message_t *hmsg: SSDP search request from the control point
|
||||
* IN struct sockaddr *dest_addr: The address info of control point
|
||||
* IN struct sockaddr_storage *dest_addr: The address info of control point
|
||||
*
|
||||
* Description:
|
||||
* This function handles the search request. It do the sanity checks of
|
||||
@@ -102,9 +102,9 @@ advertiseAndReplyThread( IN void *data )
|
||||
* 1 if successful else appropriate error
|
||||
***************************************************************************/
|
||||
#ifdef INCLUDE_DEVICE_APIS
|
||||
void
|
||||
ssdp_handle_device_request( IN http_message_t *hmsg,
|
||||
IN struct sockaddr *dest_addr )
|
||||
void ssdp_handle_device_request(
|
||||
IN http_message_t *hmsg,
|
||||
IN struct sockaddr_storage *dest_addr)
|
||||
{
|
||||
#define MX_FUDGE_FACTOR 10
|
||||
|
||||
@@ -144,7 +144,7 @@ ssdp_handle_device_request( IN http_message_t *hmsg,
|
||||
|
||||
HandleLock();
|
||||
// device info
|
||||
if( GetDeviceHandleInfo( dest_addr->sa_family,
|
||||
if( GetDeviceHandleInfo( dest_addr->ss_family,
|
||||
&handle, &dev_info ) != HND_DEVICE ) {
|
||||
HandleUnlock();
|
||||
return; // no info found
|
||||
|
||||
@@ -742,7 +742,7 @@ start_event_handler( void *Data )
|
||||
* Returns: void
|
||||
*
|
||||
***************************************************************************/
|
||||
static void ssdp_event_handler_thread(void * the_data)
|
||||
static void ssdp_event_handler_thread(void *the_data)
|
||||
{
|
||||
ssdp_thread_data *data = (ssdp_thread_data *)the_data;
|
||||
http_message_t *hmsg = &data->parser.msg;
|
||||
@@ -754,10 +754,10 @@ static void ssdp_event_handler_thread(void * the_data)
|
||||
if (hmsg->method == HTTPMETHOD_NOTIFY ||
|
||||
hmsg->request_method == HTTPMETHOD_MSEARCH) {
|
||||
#ifdef INCLUDE_CLIENT_APIS
|
||||
ssdp_handle_ctrlpt_msg(hmsg, (struct sockaddr*)&data->dest_addr, FALSE, NULL);
|
||||
ssdp_handle_ctrlpt_msg(hmsg, &data->dest_addr, FALSE, NULL);
|
||||
#endif /* INCLUDE_CLIENT_APIS */
|
||||
} else {
|
||||
ssdp_handle_device_request(hmsg, (struct sockaddr*)&data->dest_addr);
|
||||
ssdp_handle_device_request(hmsg, &data->dest_addr);
|
||||
}
|
||||
|
||||
/* free data */
|
||||
|
||||
Reference in New Issue
Block a user