UPnPsdk 0.1
Universal Plug and Play +, Software Development Kit
 
Loading...
Searching...
No Matches
UpnpExtraHeaders.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-03-03
3// Also Copyright by other contributor as noted below.
10#include <UpnpExtraHeaders.hpp>
11
12#include <cstdlib> /* for calloc(), free() */
13
24
26 struct s_UpnpExtraHeaders* p =
27 (s_UpnpExtraHeaders*)calloc(1, sizeof(struct s_UpnpExtraHeaders));
28
29 if (!p)
30 return 0;
31
35 /*p->m_resp = 0;*/
36
37 return (UpnpExtraHeaders*)p;
38}
39
41 struct s_UpnpExtraHeaders* p = (struct s_UpnpExtraHeaders*)q;
42
43 if (!p)
44 return;
45
47 p->m_resp = 0;
49 p->m_value = 0;
51 p->m_name = 0;
53
54 free(p);
55}
56
58 int ok = 1;
59
60 if (p != q) {
65 }
66
67 return ok;
68}
69
72
73 if (!p)
74 return 0;
75
77
78 return p;
79}
80
82 return &p->m_node;
83}
84
86 p->m_node = *q;
87
88 return 1;
89}
90
92 struct UpnpListHead* head) {
93 UpnpListHead* list = &p->m_node;
94 UpnpListInsert(list, UpnpListEnd(list), head);
95}
96
98 return p->m_name;
99}
100
102 const char* q = UpnpString_get_String(s);
103
104 return UpnpString_set_String(p->m_name, q);
105}
106
110
114
116 return UpnpString_set_String(p->m_name, s);
117}
118
120 size_t n) {
121 return UpnpString_set_StringN(p->m_name, s, n);
122}
123
127
129 return p->m_value;
130}
131
133 const char* q = UpnpString_get_String(s);
134
135 return UpnpString_set_String(p->m_value, q);
136}
137
141
145
147 return UpnpString_set_String(p->m_value, s);
148}
149
151 size_t n) {
152 return UpnpString_set_StringN(p->m_value, s, n);
153}
154
158
160 return p->m_resp;
161}
162
165 if (!q)
166 return 0;
168 p->m_resp = q;
169
170 return 1;
171}
172
174 return (const char*)UpnpExtraHeaders_get_resp(p);
175}
size_t UpnpExtraHeaders_get_value_Length(const UpnpExtraHeaders *p)
void UpnpExtraHeaders_clear_value(UpnpExtraHeaders *p)
const UpnpString * UpnpExtraHeaders_get_name(const UpnpExtraHeaders *p)
int UpnpExtraHeaders_strcpy_name(UpnpExtraHeaders *p, const char *s)
size_t UpnpExtraHeaders_get_name_Length(const UpnpExtraHeaders *p)
void UpnpExtraHeaders_clear_name(UpnpExtraHeaders *p)
void UpnpExtraHeaders_delete(UpnpExtraHeaders *q)
const char * UpnpExtraHeaders_get_resp_cstr(const UpnpExtraHeaders *p)
UpnpExtraHeaders * UpnpExtraHeaders_new()
const UpnpString * UpnpExtraHeaders_get_value(const UpnpExtraHeaders *p)
int UpnpExtraHeaders_strcpy_value(UpnpExtraHeaders *p, const char *s)
const DOMString UpnpExtraHeaders_get_resp(const UpnpExtraHeaders *p)
const UpnpListHead * UpnpExtraHeaders_get_node(const UpnpExtraHeaders *p)
void UpnpExtraHeaders_add_to_list_node(UpnpExtraHeaders *p, struct UpnpListHead *head)
const char * UpnpExtraHeaders_get_name_cstr(const UpnpExtraHeaders *p)
int UpnpExtraHeaders_set_name(UpnpExtraHeaders *p, const UpnpString *s)
int UpnpExtraHeaders_strncpy_value(UpnpExtraHeaders *p, const char *s, size_t n)
int UpnpExtraHeaders_set_value(UpnpExtraHeaders *p, const UpnpString *s)
int UpnpExtraHeaders_set_node(UpnpExtraHeaders *p, const UpnpListHead *q)
int UpnpExtraHeaders_assign(UpnpExtraHeaders *p, const UpnpExtraHeaders *q)
UpnpExtraHeaders * UpnpExtraHeaders_dup(const UpnpExtraHeaders *q)
int UpnpExtraHeaders_set_resp(UpnpExtraHeaders *p, const DOMString s)
const char * UpnpExtraHeaders_get_value_cstr(const UpnpExtraHeaders *p)
int UpnpExtraHeaders_strncpy_name(UpnpExtraHeaders *p, const char *s, size_t n)
s_UpnpExtraHeaders
Header file for UpnpExtraHeaders 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.
#define DOMString
The type of DOM strings.
Definition ixml.hpp:47
PUPNP_Api void ixmlFreeDOMString(DOMString buf)
Frees a DOMString.
Definition ixml.cpp:418
PUPNP_Api DOMString ixmlCloneDOMString(const DOMString src)
Clones an existing DOMString.
Definition ixml.cpp:410
PUPNP_Api UpnpListIter UpnpListInsert(UpnpListHead *list, UpnpListIter pos, UpnpListHead *elt)
Insert element before pos, returns iterator pointing to inserted element.
Definition list.cpp:68
PUPNP_Api UpnpListIter UpnpListEnd(UpnpListHead *list)
Return end of list sentinel iterator (not an element)
Definition list.cpp:58
PUPNP_Api void UpnpListInit(UpnpListHead *list)
Initialize empty list.
Definition list.cpp:44
List anchor structure.
Definition list.hpp:56