UPnPsdk 0.1
Universal Plug and Play +, Software Development Kit
 
Loading...
Searching...
No Matches
UpnpDiscovery.cpp
Go to the documentation of this file.
1// Copyright (C) 2022+ GPL 3 and higher by Ingo Höft, <Ingo@Hoeft-online.de>
2// Redistribution only with this Copyright remark. Last modified: 2024-08-17
3// Also Copyright by other contributor as noted below.
10#include <UpnpDiscovery.hpp>
11#include <UPnPsdk/port_sock.hpp>
12
14#include <stdlib.h> /* for calloc(), free() */
15#include <string.h> /* for strlen(), strdup() */
17
35
37 struct s_UpnpDiscovery* p =
38 (s_UpnpDiscovery*)calloc(1, sizeof(struct s_UpnpDiscovery));
39
40 if (!p)
41 return 0;
42
43 /*p->m_ErrCode = 0;*/
44 /*p->m_Expires = 0;*/
50 p->m_Os = UpnpString_new();
52 p->m_Ext = UpnpString_new();
53 /* memset(&p->m_DestAddr, 0, sizeof (struct sockaddr_storage)); */
54
55 return (UpnpDiscovery*)p;
56}
57
59 struct s_UpnpDiscovery* p = (struct s_UpnpDiscovery*)q;
60
61 if (!p)
62 return;
63
64 memset(&p->m_DestAddr, 0, sizeof(struct sockaddr_storage));
66 p->m_Ext = 0;
68 p->m_Date = 0;
70 p->m_Os = 0;
72 p->m_Location = 0;
74 p->m_ServiceVer = 0;
76 p->m_ServiceType = 0;
78 p->m_DeviceType = 0;
80 p->m_DeviceID = 0;
81 p->m_Expires = 0;
82 p->m_ErrCode = 0;
83
84 free(p);
85}
86
109
112
113 if (!p)
114 return 0;
115
117
118 return p;
119}
120
122
124 p->m_ErrCode = n;
125
126 return 1;
127}
128
130
132 p->m_Expires = n;
133
134 return 1;
135}
136
138 return p->m_DeviceID;
139}
140
142 const char* q = UpnpString_get_String(s);
143
144 return UpnpString_set_String(p->m_DeviceID, q);
145}
146
150
154
156 return UpnpString_set_String(p->m_DeviceID, s);
157}
158
159int UpnpDiscovery_strncpy_DeviceID(UpnpDiscovery* p, const char* s, size_t n) {
160 return UpnpString_set_StringN(p->m_DeviceID, s, n);
161}
162
166
170
172 const char* q = UpnpString_get_String(s);
173
175}
176
180
184
188
190 size_t n) {
191 return UpnpString_set_StringN(p->m_DeviceType, s, n);
192}
193
197
201
203 const char* q = UpnpString_get_String(s);
204
206}
207
211
215
219
221 size_t n) {
222 return UpnpString_set_StringN(p->m_ServiceType, s, n);
223}
224
228
232
234 const char* q = UpnpString_get_String(s);
235
237}
238
242
246
250
252 size_t n) {
253 return UpnpString_set_StringN(p->m_ServiceVer, s, n);
254}
255
259
261 return p->m_Location;
262}
263
265 const char* q = UpnpString_get_String(s);
266
267 return UpnpString_set_String(p->m_Location, q);
268}
269
273
277
279 return UpnpString_set_String(p->m_Location, s);
280}
281
282int UpnpDiscovery_strncpy_Location(UpnpDiscovery* p, const char* s, size_t n) {
283 return UpnpString_set_StringN(p->m_Location, s, n);
284}
285
289
291 return p->m_Os;
292}
293
295 const char* q = UpnpString_get_String(s);
296
297 return UpnpString_set_String(p->m_Os, q);
298}
299
303
307
309 return UpnpString_set_String(p->m_Os, s);
310}
311
312int UpnpDiscovery_strncpy_Os(UpnpDiscovery* p, const char* s, size_t n) {
313 return UpnpString_set_StringN(p->m_Os, s, n);
314}
315
317
319 return p->m_Date;
320}
321
323 const char* q = UpnpString_get_String(s);
324
325 return UpnpString_set_String(p->m_Date, q);
326}
327
331
335
337 return UpnpString_set_String(p->m_Date, s);
338}
339
340int UpnpDiscovery_strncpy_Date(UpnpDiscovery* p, const char* s, size_t n) {
341 return UpnpString_set_StringN(p->m_Date, s, n);
342}
343
345
347 return p->m_Ext;
348}
349
351 const char* q = UpnpString_get_String(s);
352
353 return UpnpString_set_String(p->m_Ext, q);
354}
355
359
363
365 return UpnpString_set_String(p->m_Ext, s);
366}
367
368int UpnpDiscovery_strncpy_Ext(UpnpDiscovery* p, const char* s, size_t n) {
369 return UpnpString_set_StringN(p->m_Ext, s, n);
370}
371
373
374const struct sockaddr_storage*
376 return &p->m_DestAddr;
377}
378
380 const struct sockaddr_storage* buf) {
381 p->m_DestAddr = *buf;
382
383 return 1;
384}
385
387 memset(&p->m_DestAddr, 0, sizeof(struct sockaddr_storage));
388}
const UpnpString * UpnpDiscovery_get_Ext(const UpnpDiscovery *p)
UpnpString * m_Ext
int UpnpDiscovery_set_Ext(UpnpDiscovery *p, const UpnpString *s)
int UpnpDiscovery_strncpy_Os(UpnpDiscovery *p, const char *s, size_t n)
int UpnpDiscovery_set_Date(UpnpDiscovery *p, const UpnpString *s)
const char * UpnpDiscovery_get_Location_cstr(const UpnpDiscovery *p)
int UpnpDiscovery_set_Location(UpnpDiscovery *p, const UpnpString *s)
int UpnpDiscovery_strcpy_ServiceVer(UpnpDiscovery *p, const char *s)
const UpnpString * UpnpDiscovery_get_Os(const UpnpDiscovery *p)
UpnpString * m_ServiceVer
const char * UpnpDiscovery_get_ServiceType_cstr(const UpnpDiscovery *p)
int UpnpDiscovery_strncpy_DeviceID(UpnpDiscovery *p, const char *s, size_t n)
size_t UpnpDiscovery_get_DeviceID_Length(const UpnpDiscovery *p)
int UpnpDiscovery_set_Os(UpnpDiscovery *p, const UpnpString *s)
const char * UpnpDiscovery_get_DeviceType_cstr(const UpnpDiscovery *p)
int UpnpDiscovery_set_Expires(UpnpDiscovery *p, int n)
void UpnpDiscovery_delete(UpnpDiscovery *q)
int UpnpDiscovery_strcpy_ServiceType(UpnpDiscovery *p, const char *s)
void UpnpDiscovery_clear_Date(UpnpDiscovery *p)
const struct sockaddr_storage * UpnpDiscovery_get_DestAddr(const UpnpDiscovery *p)
const UpnpString * UpnpDiscovery_get_Date(const UpnpDiscovery *p)
const char * UpnpDiscovery_get_Date_cstr(const UpnpDiscovery *p)
int UpnpDiscovery_set_DeviceType(UpnpDiscovery *p, const UpnpString *s)
const UpnpString * UpnpDiscovery_get_ServiceVer(const UpnpDiscovery *p)
UpnpDiscovery * UpnpDiscovery_dup(const UpnpDiscovery *q)
struct sockaddr_storage m_DestAddr
void UpnpDiscovery_clear_Os(UpnpDiscovery *p)
const UpnpString * UpnpDiscovery_get_ServiceType(const UpnpDiscovery *p)
int UpnpDiscovery_strncpy_Date(UpnpDiscovery *p, const char *s, size_t n)
int UpnpDiscovery_strcpy_Date(UpnpDiscovery *p, const char *s)
const UpnpString * UpnpDiscovery_get_Location(const UpnpDiscovery *p)
int UpnpDiscovery_strncpy_ServiceType(UpnpDiscovery *p, const char *s, size_t n)
int UpnpDiscovery_set_DestAddr(UpnpDiscovery *p, const struct sockaddr_storage *buf)
int UpnpDiscovery_set_ServiceType(UpnpDiscovery *p, const UpnpString *s)
size_t UpnpDiscovery_get_Ext_Length(const UpnpDiscovery *p)
int UpnpDiscovery_set_ErrCode(UpnpDiscovery *p, int n)
int UpnpDiscovery_strncpy_Ext(UpnpDiscovery *p, const char *s, size_t n)
int UpnpDiscovery_strncpy_Location(UpnpDiscovery *p, const char *s, size_t n)
int UpnpDiscovery_set_ServiceVer(UpnpDiscovery *p, const UpnpString *s)
UpnpString * m_DeviceID
size_t UpnpDiscovery_get_Location_Length(const UpnpDiscovery *p)
void UpnpDiscovery_clear_Location(UpnpDiscovery *p)
int UpnpDiscovery_strcpy_DeviceType(UpnpDiscovery *p, const char *s)
const char * UpnpDiscovery_get_Os_cstr(const UpnpDiscovery *p)
UpnpString * m_DeviceType
int UpnpDiscovery_get_ErrCode(const UpnpDiscovery *p)
const char * UpnpDiscovery_get_DeviceID_cstr(const UpnpDiscovery *p)
int UpnpDiscovery_strncpy_DeviceType(UpnpDiscovery *p, const char *s, size_t n)
void UpnpDiscovery_clear_DestAddr(UpnpDiscovery *p)
int UpnpDiscovery_strcpy_Os(UpnpDiscovery *p, const char *s)
int UpnpDiscovery_assign(UpnpDiscovery *p, const UpnpDiscovery *q)
void UpnpDiscovery_clear_Ext(UpnpDiscovery *p)
int UpnpDiscovery_strcpy_DeviceID(UpnpDiscovery *p, const char *s)
void UpnpDiscovery_clear_ServiceVer(UpnpDiscovery *p)
void UpnpDiscovery_clear_DeviceType(UpnpDiscovery *p)
UpnpString * m_Os
UpnpDiscovery * UpnpDiscovery_new()
size_t UpnpDiscovery_get_Date_Length(const UpnpDiscovery *p)
UpnpString * m_ServiceType
const char * UpnpDiscovery_get_Ext_cstr(const UpnpDiscovery *p)
UpnpString * m_Location
size_t UpnpDiscovery_get_ServiceVer_Length(const UpnpDiscovery *p)
void UpnpDiscovery_clear_DeviceID(UpnpDiscovery *p)
int UpnpDiscovery_get_Expires(const UpnpDiscovery *p)
void UpnpDiscovery_clear_ServiceType(UpnpDiscovery *p)
int UpnpDiscovery_set_DeviceID(UpnpDiscovery *p, const UpnpString *s)
int UpnpDiscovery_strcpy_Ext(UpnpDiscovery *p, const char *s)
size_t UpnpDiscovery_get_ServiceType_Length(const UpnpDiscovery *p)
const UpnpString * UpnpDiscovery_get_DeviceType(const UpnpDiscovery *p)
int UpnpDiscovery_strcpy_Location(UpnpDiscovery *p, const char *s)
size_t UpnpDiscovery_get_Os_Length(const UpnpDiscovery *p)
int UpnpDiscovery_strncpy_ServiceVer(UpnpDiscovery *p, const char *s, size_t n)
size_t UpnpDiscovery_get_DeviceType_Length(const UpnpDiscovery *p)
const char * UpnpDiscovery_get_ServiceVer_cstr(const UpnpDiscovery *p)
const UpnpString * UpnpDiscovery_get_DeviceID(const UpnpDiscovery *p)
UpnpString * m_Date
s_UpnpDiscovery
Header file for UpnpDiscovery methods.
Internal implementation of the class UpnpString.
PUPNP_Api int UpnpString_set_StringN(UpnpString *p, const char *s, size_t n)
Sets the string from a pointer to char using a maximum of N chars.
PUPNP_Api int UpnpString_set_String(UpnpString *p, const char *s)
Sets the string from a pointer to char.
PUPNP_Api size_t UpnpString_get_Length(const UpnpString *p)
Returns the length of the string.
PUPNP_Api UpnpString * UpnpString_new(void)
Constructor.
PUPNP_Api const char * UpnpString_get_String(const UpnpString *p)
Returns the pointer to char.
PUPNP_Api void UpnpString_delete(UpnpString *p)
Destructor.
PUPNP_Api void UpnpString_clear(UpnpString *p)
Clears the string, sets its size to zero.
Specifications to be portable with sockets between different platforms.