1 /*
2 * libcddb - CDDB Interface Library for xmcd/cda
3 *
4 * This library implements an interface to access the "classic"
5 * CDDB1 services.
6 *
7 * Copyright (C) 1993-2004 Ti Kan
8 * E-mail: xmcd@amb.org
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
14 *
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public License
21 * along with this program; if not, write to the Free Software
22 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
23 *
24 */
25 #ifndef lint
26 static char *_userinfo_c_ident_ = "@(#)userinfo.c 1.14 03/12/12";
27 #endif
28
29 #include "fcddb.h"
30
31
32 /*
33 * CddbUserInfo_GetAge
34 * Return age
35 */
36 CddbResult
CddbUserInfo_GetAge(CddbUserInfoPtr uinfop,CddbStr * pval)37 CddbUserInfo_GetAge(CddbUserInfoPtr uinfop, CddbStr *pval)
38 {
39 cddb_userinfo_t *p = (cddb_userinfo_t *) uinfop;
40
41 *pval = (CddbStr) (p->age == NULL ? "" : p->age);
42 return Cddb_OK;
43 }
44
45
46 /*
47 * CddbUserInfo_GetAllowEmail
48 * Return allow email flag
49 */
50 CddbResult
CddbUserInfo_GetAllowEmail(CddbUserInfoPtr uinfop,CddbBoolean * pval)51 CddbUserInfo_GetAllowEmail(CddbUserInfoPtr uinfop, CddbBoolean *pval)
52 {
53 cddb_userinfo_t *p = (cddb_userinfo_t *) uinfop;
54
55 *pval = p->allowemail;
56 return Cddb_OK;
57 }
58
59
60 /*
61 * CddbUserInfo_GetAllowStats
62 * Return allow stats flag
63 */
64 CddbResult
CddbUserInfo_GetAllowStats(CddbUserInfoPtr uinfop,CddbBoolean * pval)65 CddbUserInfo_GetAllowStats(CddbUserInfoPtr uinfop, CddbBoolean *pval)
66 {
67 cddb_userinfo_t *p = (cddb_userinfo_t *) uinfop;
68
69 *pval = p->allowstats;
70 return Cddb_OK;
71 }
72
73
74 /*
75 * CddbUserInfo_GetEmailAddress
76 * Return email address
77 */
78 CddbResult
CddbUserInfo_GetEmailAddress(CddbUserInfoPtr uinfop,CddbStr * pval)79 CddbUserInfo_GetEmailAddress(CddbUserInfoPtr uinfop, CddbStr *pval)
80 {
81 cddb_userinfo_t *p = (cddb_userinfo_t *) uinfop;
82
83 *pval = (CddbStr) (p->emailaddress == NULL ? "" : p->emailaddress);
84 return Cddb_OK;
85 }
86
87
88 /*
89 * CddbUserInfo_GetPasswordHint
90 * Return password hint
91 */
92 CddbResult
CddbUserInfo_GetPasswordHint(CddbUserInfoPtr uinfop,CddbStr * pval)93 CddbUserInfo_GetPasswordHint(CddbUserInfoPtr uinfop, CddbStr *pval)
94 {
95 cddb_userinfo_t *p = (cddb_userinfo_t *) uinfop;
96
97 *pval = (CddbStr) (p->passwordhint == NULL ? "" : p->passwordhint);
98 return Cddb_OK;
99 }
100
101
102 /*
103 * CddbUserInfo_GetPostalCode
104 * Return postal code
105 */
106 CddbResult
CddbUserInfo_GetPostalCode(CddbUserInfoPtr uinfop,CddbStr * pval)107 CddbUserInfo_GetPostalCode(CddbUserInfoPtr uinfop, CddbStr *pval)
108 {
109 cddb_userinfo_t *p = (cddb_userinfo_t *) uinfop;
110
111 *pval = (CddbStr) (p->postalcode == NULL ? "" : p->postalcode);
112 return Cddb_OK;
113 }
114
115
116 /*
117 * CddbUserInfo_GetRegionId
118 * Return region ID
119 */
120 CddbResult
CddbUserInfo_GetRegionId(CddbUserInfoPtr uinfop,CddbStr * pval)121 CddbUserInfo_GetRegionId(CddbUserInfoPtr uinfop, CddbStr *pval)
122 {
123 cddb_userinfo_t *p = (cddb_userinfo_t *) uinfop;
124
125 *pval = (CddbStr) (p->regionid == NULL ? "" : p->regionid);
126 return Cddb_OK;
127 }
128
129
130 /*
131 * CddbUserInfo_GetSex
132 * Return gender
133 */
134 CddbResult
CddbUserInfo_GetSex(CddbUserInfoPtr uinfop,CddbStr * pval)135 CddbUserInfo_GetSex(CddbUserInfoPtr uinfop, CddbStr *pval)
136 {
137 cddb_userinfo_t *p = (cddb_userinfo_t *) uinfop;
138
139 *pval = (CddbStr) (p->sex == NULL ? "" : p->sex);
140 return Cddb_OK;
141 }
142
143
144 /*
145 * CddbUserInfo_GetUserHandle
146 * Return user handle
147 */
148 CddbResult
CddbUserInfo_GetUserHandle(CddbUserInfoPtr uinfop,CddbStr * pval)149 CddbUserInfo_GetUserHandle(CddbUserInfoPtr uinfop, CddbStr *pval)
150 {
151 cddb_userinfo_t *p = (cddb_userinfo_t *) uinfop;
152
153 *pval = (CddbStr) (p->userhandle == NULL ? "" : p->userhandle);
154 return Cddb_OK;
155 }
156
157
158 /*
159 * CddbUserInfo_PutAge
160 * Set the age
161 */
162 CddbResult
CddbUserInfo_PutAge(CddbUserInfoPtr uinfop,CddbConstStr newval)163 CddbUserInfo_PutAge(CddbUserInfoPtr uinfop, CddbConstStr newval)
164 {
165 cddb_userinfo_t *p = (cddb_userinfo_t *) uinfop;
166
167 if (p->age != NULL)
168 MEM_FREE(p->age);
169
170 if (newval == NULL || newval[0] == '\0')
171 p->age = NULL;
172 else
173 p->age = (CddbStr) fcddb_strdup((char *) newval);
174
175 return Cddb_OK;
176 }
177
178
179 /*
180 * CddbUserInfo_PutAllowEmail
181 * Set the allow email flag
182 */
183 CddbResult
CddbUserInfo_PutAllowEmail(CddbUserInfoPtr uinfop,CddbBoolean newval)184 CddbUserInfo_PutAllowEmail(CddbUserInfoPtr uinfop, CddbBoolean newval)
185 {
186 cddb_userinfo_t *p = (cddb_userinfo_t *) uinfop;
187
188 p->allowemail = newval;
189 return Cddb_OK;
190 }
191
192
193 /*
194 * CddbUserInfo_PutAllowStats
195 * Set the allow stats flag
196 */
197 CddbResult
CddbUserInfo_PutAllowStats(CddbUserInfoPtr uinfop,CddbBoolean newval)198 CddbUserInfo_PutAllowStats(CddbUserInfoPtr uinfop, CddbBoolean newval)
199 {
200 cddb_userinfo_t *p = (cddb_userinfo_t *) uinfop;
201
202 p->allowstats = newval;
203 return Cddb_OK;
204 }
205
206
207 /*
208 * CddbUserInfo_PutEmailAddress
209 * Set the email address
210 */
211 CddbResult
CddbUserInfo_PutEmailAddress(CddbUserInfoPtr uinfop,CddbConstStr newval)212 CddbUserInfo_PutEmailAddress(CddbUserInfoPtr uinfop, CddbConstStr newval)
213 {
214 cddb_userinfo_t *p = (cddb_userinfo_t *) uinfop;
215
216 if (p->emailaddress != NULL)
217 MEM_FREE(p->emailaddress);
218
219 if (newval == NULL || newval[0] == '\0')
220 p->emailaddress = NULL;
221 else
222 p->emailaddress = (CddbStr) fcddb_strdup((char *) newval);
223
224 return Cddb_OK;
225 }
226
227
228 /*
229 * CddbUserInfo_PutPassword
230 * Set the CDDB password
231 */
232 CddbResult
CddbUserInfo_PutPassword(CddbUserInfoPtr uinfop,CddbConstStr newval)233 CddbUserInfo_PutPassword(CddbUserInfoPtr uinfop, CddbConstStr newval)
234 {
235 cddb_userinfo_t *p = (cddb_userinfo_t *) uinfop;
236
237 if (p->password != NULL)
238 MEM_FREE(p->password);
239
240 if (newval == NULL || newval[0] == '\0')
241 p->password = NULL;
242 else
243 p->password = (CddbStr) fcddb_strdup((char *) newval);
244
245 return Cddb_OK;
246 }
247
248
249 /*
250 * CddbUserInfo_PutPasswordHint
251 * Set the password hint
252 */
253 CddbResult
CddbUserInfo_PutPasswordHint(CddbUserInfoPtr uinfop,CddbConstStr newval)254 CddbUserInfo_PutPasswordHint(CddbUserInfoPtr uinfop, CddbConstStr newval)
255 {
256 cddb_userinfo_t *p = (cddb_userinfo_t *) uinfop;
257
258 if (p->passwordhint != NULL)
259 MEM_FREE(p->passwordhint);
260
261 if (newval == NULL || newval[0] == '\0')
262 p->passwordhint = NULL;
263 else
264 p->passwordhint = (CddbStr) fcddb_strdup((char *) newval);
265
266 return Cddb_OK;
267 }
268
269
270 /*
271 * CddbUserInfo_PutPostalCode
272 * Set the postal code
273 */
274 CddbResult
CddbUserInfo_PutPostalCode(CddbUserInfoPtr uinfop,CddbConstStr newval)275 CddbUserInfo_PutPostalCode(CddbUserInfoPtr uinfop, CddbConstStr newval)
276 {
277 cddb_userinfo_t *p = (cddb_userinfo_t *) uinfop;
278
279 if (p->postalcode != NULL)
280 MEM_FREE(p->postalcode);
281
282 if (newval == NULL || newval[0] == '\0')
283 p->postalcode = NULL;
284 else
285 p->postalcode = (CddbStr) fcddb_strdup((char *) newval);
286
287 return Cddb_OK;
288 }
289
290
291 /*
292 * CddbUserInfo_PutRegionId
293 * Set the region ID
294 */
295 CddbResult
CddbUserInfo_PutRegionId(CddbUserInfoPtr uinfop,CddbConstStr newval)296 CddbUserInfo_PutRegionId(CddbUserInfoPtr uinfop, CddbConstStr newval)
297 {
298 cddb_userinfo_t *p = (cddb_userinfo_t *) uinfop;
299
300 if (p->regionid != NULL)
301 MEM_FREE(p->regionid);
302
303 if (newval == NULL || newval[0] == '\0')
304 p->regionid = NULL;
305 else
306 p->regionid = (CddbStr) fcddb_strdup((char *) newval);
307
308 return Cddb_OK;
309 }
310
311
312 /*
313 * CddbUserInfo_PutSex
314 * Set the gender
315 */
316 CddbResult
CddbUserInfo_PutSex(CddbUserInfoPtr uinfop,CddbConstStr newval)317 CddbUserInfo_PutSex(CddbUserInfoPtr uinfop, CddbConstStr newval)
318 {
319 cddb_userinfo_t *p = (cddb_userinfo_t *) uinfop;
320
321 if (p->sex != NULL)
322 MEM_FREE(p->sex);
323
324 if (newval == NULL || newval[0] == '\0')
325 p->sex = NULL;
326 else
327 p->sex = (CddbStr) fcddb_strdup((char *) newval);
328
329 return Cddb_OK;
330 }
331
332
333 /*
334 * CddbUserInfo_PutUserHandle
335 * Set the user handle
336 */
337 CddbResult
CddbUserInfo_PutUserHandle(CddbUserInfoPtr uinfop,CddbConstStr newval)338 CddbUserInfo_PutUserHandle(CddbUserInfoPtr uinfop, CddbConstStr newval)
339 {
340 cddb_userinfo_t *p = (cddb_userinfo_t *) uinfop;
341
342 if (p->userhandle != NULL)
343 MEM_FREE(p->userhandle);
344
345 if (newval == NULL || newval[0] == '\0')
346 p->userhandle = NULL;
347 else
348 p->userhandle = (CddbStr) fcddb_strdup((char *) newval);
349
350 return Cddb_OK;
351 }
352
353
354