RSA sync with private
[platform/core/messaging/msg-service.git] / plugin / mms_plugin / MmsPluginDebug.cpp
1 /*
2 * Copyright 2012  Samsung Electronics Co., Ltd
3 *
4 * Licensed under the Flora License, Version 1.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *    http://www.tizenopensource.org/license
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17 #include <stdio.h>
18 #include "MmsPluginMIME.h"
19 #include "MmsPluginMessage.h"
20
21 static char gszDebugStringBuf[50];
22
23 static char *MmsDebugPrintUnknownValue(int value)
24 {
25         printf(gszDebugStringBuf, "unknown value(%d)", value);
26         return gszDebugStringBuf;
27 }
28
29
30 const char *MmsDebugGetMimeType(MimeType mimeType)
31 {
32         switch (mimeType) {
33         case MIME_APPLICATION_XML:
34                 return "MIME_APPLICATION_XML";
35         case MIME_APPLICATION_WML_XML:
36                 return "MIME_APPLICATION_WML_XML";
37         case MIME_APPLICATION_XHTML_XML:
38                 return "MIME_APPLICATION_XHTML_XML";
39         case MIME_APPLICATION_JAVA_VM:
40                 return "MIME_APPLICATION_JAVA_VM";
41         case MIME_APPLICATION_SMIL:
42                 return "MIME_APPLICATION_SMIL";
43         case MIME_APPLICATION_JAVA_ARCHIVE:
44                 return "MIME_APPLICATION_JAVA_ARCHIVE";
45         case MIME_APPLICATION_JAVA:
46                 return "MIME_APPLICATION_JAVA";
47         case MIME_APPLICATION_OCTET_STREAM:
48                 return "MIME_APPLICATION_OCTET_STREAM";
49         case MIME_APPLICATION_STUDIOM:
50                 return "MIME_APPLICATION_STUDIOM";
51         case MIME_APPLICATION_FUNMEDIA:
52                 return "MIME_APPLICATION_FUNMEDIA";
53         case MIME_APPLICATION_MSWORD:
54                 return "MIME_APPLICATION_MSWORD";
55         case MIME_APPLICATION_PDF:
56                 return "MIME_APPLICATION_PDF";
57         case MIME_APPLICATION_ASTERIC:
58                 return "MIME_APPLICATION_ASTERIC";
59         case MIME_APPLICATION_VND_WAP_XHTMLXML:
60                 return "MIME_APPLICATION_VND_WAP_XHTMLXML";
61         case MIME_APPLICATION_VND_WAP_WMLC:
62                 return "MIME_APPLICATION_VND_WAP_WMLC";
63         case MIME_APPLICATION_VND_WAP_WMLSCRIPTC:
64                 return "MIME_APPLICATION_VND_WAP_WMLSCRIPTC";
65         case MIME_APPLICATION_VND_WAP_WTA_EVENTC:
66                 return "MIME_APPLICATION_VND_WAP_WTA_EVENTC";
67         case MIME_APPLICATION_VND_WAP_UAPROF:
68                 return "MIME_APPLICATION_VND_WAP_UAPROF";
69         case MIME_APPLICATION_VND_WAP_SIC:
70                 return "MIME_APPLICATION_VND_WAP_SIC";
71         case MIME_APPLICATION_VND_WAP_SLC:
72                 return "MIME_APPLICATION_VND_WAP_SLC";
73         case MIME_APPLICATION_VND_WAP_COC:
74                 return "MIME_APPLICATION_VND_WAP_COC";
75         case MIME_APPLICATION_VND_WAP_SIA:
76                 return "MIME_APPLICATION_VND_WAP_SIA";
77         case MIME_APPLICATION_VND_WAP_CONNECTIVITY_WBXML:
78                 return "MIME_APPLICATION_VND_WAP_CONNECTIVITY_WBXML";
79         case MIME_APPLICATION_VND_WAP_MULTIPART_FORM_DATA:
80                 return "MIME_APPLICATION_VND_WAP_MULTIPART_FORM_DATA";
81         case MIME_APPLICATION_VND_WAP_MULTIPART_BYTERANGES:
82                 return "MIME_APPLICATION_VND_WAP_MULTIPART_BYTERANGES";
83         case MIME_APPLICATION_VND_WAP_MULTIPART_MIXED:
84                 return "MIME_APPLICATION_VND_WAP_MULTIPART_MIXED";
85         case MIME_APPLICATION_VND_WAP_MULTIPART_RELATED:
86                 return "MIME_APPLICATION_VND_WAP_MULTIPART_RELATED";
87         case MIME_APPLICATION_VND_WAP_MULTIPART_ALTERNATIVE:
88                 return "MIME_APPLICATION_VND_WAP_MULTIPART_ALTERNATIVE";
89         case MIME_APPLICATION_VND_WAP_MULTIPART_ASTERIC:
90                 return "MIME_APPLICATION_VND_WAP_MULTIPART_ASTERIC";
91         case MIME_APPLICATION_VND_OMA_DD_XML:
92                 return "MIME_APPLICATION_VND_OMA_DD_XML";
93         case MIME_APPLICATION_VND_OMA_DRM_MESSAGE:
94                 return "MIME_APPLICATION_VND_OMA_DRM_MESSAGE";
95         case MIME_APPLICATION_VND_OMA_DRM_CONTENT:
96                 return "MIME_APPLICATION_VND_OMA_DRM_CONTENT";
97         case MIME_APPLICATION_VND_OMA_DRM_RIGHTS_XML:
98                 return "MIME_APPLICATION_VND_OMA_DRM_RIGHTS_XML";
99         case MIME_APPLICATION_VND_OMA_DRM_RIGHTS_WBXML:
100                 return "MIME_APPLICATION_VND_OMA_DRM_RIGHTS_WBXML";
101         case MIME_APPLICATION_VND_SMAF:
102                 return "MIME_APPLICATION_VND_SMAF";
103         case MIME_APPLICATION_VND_RN_REALMEDIA:
104                 return "MIME_APPLICATION_VND_RN_REALMEDIA";
105         case MIME_APPLICATION_VND_SUN_J2ME_JAVA_ARCHIVE:
106                 return "MIME_APPLICATION_VND_SUN_J2ME_JAVA_ARCHIVE";
107         case MIME_APPLICATION_VND_SAMSUNG_THEME:
108                 return "MIME_APPLICATION_VND_SAMSUNG_THEME";
109         case MIME_APPLICATION_VND_EXCEL:
110                 return "MIME_APPLICATION_VND_EXCEL";
111         case MIME_APPLICATION_X_HDMLC:
112                 return "MIME_APPLICATION_X_HDMLC";
113         case MIME_APPLICATION_X_X968_USERCERT:
114                 return "MIME_APPLICATION_X_X968_USERCERT";
115         case MIME_APPLICATION_X_WWW_FORM_URLENCODED:
116                 return "MIME_APPLICATION_X_WWW_FORM_URLENCODED";
117         case MIME_APPLICATION_X_SMAF:
118                 return "MIME_APPLICATION_X_SMAF";
119         case MIME_APPLICATION_X_FLASH:
120                 return "MIME_APPLICATION_X_FLASH";
121         case MIME_APPLICATION_X_EXCEL:
122                 return "MIME_APPLICATION_X_EXCEL";
123         case MIME_APPLICATION_X_POWERPOINT:
124                 return "MIME_APPLICATION_X_POWERPOINT";
125
126         case MIME_AUDIO_BASIC:
127                 return "MIME_AUDIO_BASIC";
128         case MIME_AUDIO_MPEG:
129                 return "MIME_AUDIO_MPEG";
130         case MIME_AUDIO_MP3:
131                 return "MIME_AUDIO_MP3";
132         case MIME_AUDIO_MPG3:
133                 return "MIME_AUDIO_MPG3";
134         case MIME_AUDIO_MPEG3:
135                 return "MIME_AUDIO_MPEG3";
136         case MIME_AUDIO_MPG:
137                 return "MIME_AUDIO_MPG";
138         case MIME_AUDIO_AAC:
139                 return "MIME_AUDIO_AAC";
140         case MIME_AUDIO_G72:
141                 return "MIME_AUDIO_G72";
142         case MIME_AUDIO_AMR:
143                 return "MIME_AUDIO_AMR";
144         case MIME_AUDIO_AMR_WB:
145                 return "MIME_AUDIO_AMR_WB";
146         case MIME_AUDIO_MMF:
147                 return "MIME_AUDIO_MMF";
148         case MIME_AUDIO_SMAF:
149                 return "MIME_AUDIO_SMAF";
150         case MIME_AUDIO_IMELODY:
151                 return "MIME_AUDIO_IMELODY";
152         case MIME_AUDIO_MELODY:
153                 return "MIME_AUDIO_MELODY";
154         case MIME_AUDIO_MID:
155                 return "MIME_AUDIO_MID";
156         case MIME_AUDIO_MIDI:
157                 return "MIME_AUDIO_MIDI";
158         case MIME_AUDIO_X_MID:
159                 return "MIME_AUDIO_X_MID";
160         case MIME_AUDIO_SP_MIDI:
161                 return "MIME_AUDIO_SP_MIDI";
162         case MIME_AUDIO_WAVE:
163                 return "MIME_AUDIO_WAVE";
164         case MIME_AUDIO_3GPP:
165                 return "MIME_AUDIO_3GPP";
166         case MIME_AUDIO_MP4:
167                 return "MIME_AUDIO_MP4";
168         case MIME_AUDIO_MP4A_LATM:
169                 return "MIME_AUDIO_MP4A_LATM";
170         case MIME_AUDIO_VND_RN_REALAUDIO:
171                 return "MIME_AUDIO_VND_RN_REALAUDIO";
172         case MIME_AUDIO_X_MPEG:
173                 return "MIME_AUDIO_X_MPEG";
174         case MIME_AUDIO_X_MP3:
175                 return "MIME_AUDIO_X_MP3";
176         case MIME_AUDIO_X_MPEG3:
177                 return "MIME_AUDIO_X_MPEG3";
178         case MIME_AUDIO_X_MPG:
179                 return "MIME_AUDIO_X_MPG";
180         case MIME_AUDIO_X_AMR:
181                 return "MIME_AUDIO_X_AMR";
182         case MIME_AUDIO_X_MMF:
183                 return "MIME_AUDIO_X_MMF";
184         case MIME_AUDIO_X_SMAF:
185                 return "MIME_AUDIO_X_SMAF";
186         case MIME_AUDIO_X_IMELODY:
187                 return "MIME_AUDIO_X_IMELODY";
188         case MIME_AUDIO_X_MIDI:
189                 return "MIME_AUDIO_X_MIDI";
190         case MIME_AUDIO_X_MPEGAUDIO:
191                 return "MIME_AUDIO_X_MPEGAUDIO";
192         case MIME_AUDIO_X_PN_REALAUDIO:
193                 return "MIME_AUDIO_X_PN_REALAUDIO";
194         case MIME_AUDIO_X_PN_MULTIRATE_REALAUDIO:
195                 return "MIME_AUDIO_X_PN_MULTIRATE_REALAUDIO";
196         case MIME_AUDIO_X_PN_MULTIRATE_REALAUDIO_LIVE:
197                 return "MIME_AUDIO_X_PN_MULTIRATE_REALAUDIO_LIVE";
198         case MIME_AUDIO_X_WAV:
199                 return "MIME_AUDIO_X_WAV";
200
201         case MIME_IMAGE_GIF:
202                 return "MIME_IMAGE_GIF";
203         case MIME_IMAGE_JPEG:
204                 return "MIME_IMAGE_JPEG";
205         case MIME_IMAGE_JPG:
206                 return "MIME_IMAGE_JPG";
207         case MIME_IMAGE_TIFF:
208                 return "MIME_IMAGE_TIFF";
209         case MIME_IMAGE_TIF:
210                 return "MIME_IMAGE_TIF";
211         case MIME_IMAGE_PNG:
212                 return "MIME_IMAGE_PNG";
213         case MIME_IMAGE_WBMP:
214                 return "MIME_IMAGE_WBMP";
215         case MIME_IMAGE_PJPEG:
216                 return "MIME_IMAGE_PJPEG";
217         case MIME_IMAGE_BMP:
218                 return "MIME_IMAGE_BMP";
219         case MIME_IMAGE_SVG:
220                 return "MIME_IMAGE_SVG";
221         case MIME_IMAGE_SVG1:
222                 return "MIME_IMAGE_SVG1";
223         case MIME_IMAGE_VND_WAP_WBMP:
224                 return "MIME_IMAGE_VND_WAP_WBMP";
225
226         case MIME_IMAGE_X_BMP:
227                 return "MIME_IMAGE_X_BMP";
228
229         case MIME_MESSAGE_RFC822:
230                 return "MIME_MESSAGE_RFC822";
231
232         case MIME_MULTIPART_MIXED:
233                 return "MIME_MULTIPART_MIXED";
234         case MIME_MULTIPART_RELATED:
235                 return "MIME_MULTIPART_RELATED";
236         case MIME_MULTIPART_ALTERNATIVE:
237                 return "MIME_MULTIPART_ALTERNATIVE";
238         case MIME_MULTIPART_FORM_DATA:
239                 return "MIME_MULTIPART_FORM_DATA";
240         case MIME_MULTIPART_BYTERANGE:
241                 return "MIME_MULTIPART_BYTERANGE";
242         case MIME_MULTIPART_REPORT:
243                 return "MIME_MULTIPART_REPORT";
244
245         case MIME_TEXT_TXT:
246                 return "MIME_TEXT_TXT";
247         case MIME_TEXT_HTML:
248                 return "MIME_TEXT_HTML";
249         case MIME_TEXT_PLAIN:
250                 return "MIME_TEXT_PLAIN";
251         case MIME_TEXT_CSS:
252                 return "MIME_TEXT_CSS";
253         case MIME_TEXT_XML:
254                 return "MIME_TEXT_XML";
255         case MIME_TEXT_IMELODY:
256                 return "MIME_TEXT_IMELODY";
257         case MIME_TEXT_VND_WAP_WMLSCRIPT:
258                 return "MIME_TEXT_VND_WAP_WMLSCRIPT";
259         case MIME_TEXT_VND_WAP_WML:
260                 return "MIME_TEXT_VND_WAP_WML";
261         case MIME_TEXT_VND_WAP_WTA_EVENT:
262                 return "MIME_TEXT_VND_WAP_WTA_EVENT";
263         case MIME_TEXT_VND_WAP_CONNECTIVITY_XML:
264                 return "MIME_TEXT_VND_WAP_CONNECTIVITY_XML";
265         case MIME_TEXT_VND_WAP_SI:
266                 return "MIME_TEXT_VND_WAP_SI";
267         case MIME_TEXT_VND_WAP_SL:
268                 return "MIME_TEXT_VND_WAP_SL";
269         case MIME_TEXT_VND_WAP_CO:
270                 return "MIME_TEXT_VND_WAP_CO";
271         case MIME_TEXT_VND_SUN_J2ME_APP_DESCRIPTOR:
272                 return "MIME_TEXT_VND_SUN_J2ME_APP_DESCRIPTOR";
273         case MIME_TEXT_X_HDML:
274                 return "MIME_TEXT_X_HDML";
275         case MIME_TEXT_X_VCALENDAR:
276                 return "MIME_TEXT_X_VCALENDAR";
277         case MIME_TEXT_X_VCARD:
278                 return "MIME_TEXT_X_VCARD";
279         case MIME_TEXT_X_IMELODY:
280                 return "MIME_TEXT_X_IMELODY";
281
282         case MIME_VIDEO_MPEG4:
283                 return "MIME_VIDEO_MPEG4";
284         case MIME_VIDEO_MP4:
285                 return "MIME_VIDEO_MP4";
286         case MIME_VIDEO_H263:
287                 return "MIME_VIDEO_H263";
288         case MIME_VIDEO_3GPP:
289                 return "MIME_VIDEO_3GPP";
290         case MIME_VIDEO_3GP:
291                 return "MIME_VIDEO_3GP";
292         case MIME_VIDEO_AVI:
293                 return "MIME_VIDEO_AVI";
294         case MIME_VIDEO_SDP:
295                 return "MIME_VIDEO_SDP";
296         case MIME_VIDEO_VND_RN_REALVIDEO:
297                 return "MIME_VIDEO_VND_RN_REALVIDEO";
298         case MIME_VIDEO_X_MP4:
299                 return "MIME_VIDEO_X_MP4";
300         case MIME_VIDEO_X_PV_MP4:
301                 return "MIME_VIDEO_X_PV_MP4";
302         case MIME_VIDEO_X_PN_REALVIDEO:
303                 return "MIME_VIDEO_X_PN_REALVIDEO";
304         case MIME_VIDEO_X_PN_MULTIRATE_REALVIDEO:
305                 return "MIME_VIDEO_X_PN_MULTIRATE_REALVIDEO";
306         default:
307                 return MmsDebugPrintUnknownValue(mimeType);
308         }
309 }
310
311
312 /* MsgMmsMsg.h */
313 const char *MmsDebugGetMmsReport(MmsReport report)
314 {
315         switch (report) {
316         case MMS_REPORT_ERROR:
317                 return "MMS_REPORT_ERROR";
318         case MMS_REPORT_YES:
319                 return "MMS_REPORT_YES";
320         case MMS_REPORT_NO:
321                 return "MMS_REPORT_NO";
322         }
323
324         return MmsDebugPrintUnknownValue(report);
325 }
326
327
328 const char *MmsDebugGetMmsReportAllowed(MmsReportAllowed reportAllowed)
329 {
330         switch (reportAllowed) {
331         case MMS_REPORTALLOWED_ERROR:
332                 return "MMS_REPORTALLOWED_ERROR";
333         case MMS_REPORTALLOWED_YES:
334                 return "MMS_REPORTALLOWED_YES";
335         case MMS_REPORTALLOWED_NO:
336                 return "MMS_REPORTALLOWED_NO";
337         }
338
339         return MmsDebugPrintUnknownValue(reportAllowed);
340 }
341
342
343 const char *MmsDebugGetMmsReadStatus(msg_read_report_status_t readStatus)
344 {
345         _MSG_READ_REPORT_STATUS_E readReport = (_MSG_READ_REPORT_STATUS_E)readStatus;
346
347         switch (readReport) {
348         case MSG_READ_REPORT_NONE:
349                 return "MMS_READSTATUS_NONE";
350         case MSG_READ_REPORT_IS_READ:
351                 return "MMS_IS_READ";
352         case MSG_READ_REPORT_IS_DELETED:
353                 return "MMS_IS_DELETED";
354         }
355
356         return MmsDebugPrintUnknownValue(readStatus);
357 }
358
359 const char *MmsDebugGetMsgType(MmsMsgType msgType)
360 {
361         switch (msgType) {
362         case MMS_MSGTYPE_ERROR:
363                 return "error";
364         case MMS_MSGTYPE_SEND_REQ:
365                 return "send.req";
366         case MMS_MSGTYPE_SEND_CONF:
367                 return "send.conf";
368         case MMS_MSGTYPE_NOTIFICATION_IND:
369                 return "notification.ind";
370         case MMS_MSGTYPE_NOTIFYRESP_IND:
371                 return "notifyResp.ind";
372         case MMS_MSGTYPE_RETRIEVE_CONF:
373                 return "retrieve conf";
374         case MMS_MSGTYPE_ACKNOWLEDGE_IND:
375                 return "acknowledge ind";
376         case MMS_MSGTYPE_DELIVERY_IND:
377                 return "delivery ind";
378         case MMS_MSGTYPE_READREC_IND:
379                 return "read rec ind";
380         case MMS_MSGTYPE_READORG_IND:
381                 return "read org ind";
382         case MMS_MSGTYPE_FORWARD_REQ:
383                 return "forward req";
384         case MMS_MSGTYPE_FORWARD_CONF:
385                 return "forward conf";
386         case MMS_MSGTYPE_READ_REPLY:
387                 return "read reply";
388         default:
389                 return MmsDebugPrintUnknownValue(msgType);
390         }
391 }
392
393 const char *MmsDebugGetResponseStatus(MmsResponseStatus responseStatus)
394 {
395         switch (responseStatus) {
396         case MMS_RESPSTATUS_ERROR:
397                 return "error";
398         case MMS_RESPSTATUS_OK:
399                 return "ok";
400         case MMS_RESPSTAUTS_ERROR_UNSPECIFIED:
401                 return "unspecified";
402         case MMS_RESPSTAUTS_ERROR_SERVICEDENIED:
403                 return "service denied";
404         case MMS_RESPSTAUTS_ERROR_MESSAGEFORMATCORRUPT:
405                 return "message format corrupt";
406         case MMS_RESPSTAUTS_ERROR_SENDINGADDRESSUNRESOLVED:
407                 return "sending address unresolved";
408         case MMS_RESPSTAUTS_ERROR_MESSAGENOTFOUND:
409                 return "message not found";
410         case MMS_RESPSTAUTS_ERROR_NETWORKPROBLEM:
411                 return "network problem";
412         case MMS_RESPSTAUTS_ERROR_CONTENTNOTACCEPTED:
413                 return "content not accepted";
414         case MMS_RESPSTAUTS_ERROR_UNSUPPORTEDMESSAGE:
415                 return "unsupported message";
416         case MMS_RESPSTAUTS_ERROR_TRANSIENT_FAILURE:
417                 return "transient failure";
418         case MMS_RESPSTAUTS_ERROR_TRANSIENT_SENDING_ADDRESS_UNRESOLVED:
419                 return "transient sending address unresolved";
420         case MMS_RESPSTAUTS_ERROR_TRANSIENT_MESSAGE_NOT_FOUND:
421                 return "transient message not found";
422         case MMS_RESPSTAUTS_ERROR_TRANSIENT_NETWORK_PROBLEM:
423                 return "transient network problem";
424         case MMS_RESPSTAUTS_ERROR_PERMANENT_FAILURE:
425                 return "permanent failure";
426         case MMS_RESPSTAUTS_ERROR_PERMANENT_SERVICE_DENIED:
427                 return "permanent service denied";
428         case MMS_RESPSTAUTS_ERROR_PERMANENT_MESSAGE_FORMAT_CORRUPT:
429                 return "permanent message format corrupt";
430         case MMS_RESPSTAUTS_ERROR_PERMANENT_SENDING_ADDRESS_UNRESOLVED:
431                 return "permanent sending address unresolved";
432         case MMS_RESPSTAUTS_ERROR_PERMANENT_MESSAGE_NOT_FOUND:
433                 return "permanent message not found";
434         case MMS_RESPSTAUTS_ERROR_PERMANENT_CONTENT_NOT_ACCEPTED:
435                 return "permanent content not accepted";
436         case MMS_RESPSTAUTS_ERROR_PERMANENT_REPLY_CHARGING_LIMITATIONS_NOT_MET:
437                 return "permanent reply charging limitations not met";
438         case MMS_RESPSTAUTS_ERROR_PERMANENT_REPLY_CHARGING_REQUEST_NOT_ACCEPTED:
439                 return "permanent reply charging request not accepted";
440         case MMS_RESPSTAUTS_ERROR_PERMANENT_REPLY_CHARGING_FORWARDING_DENIED:
441                 return "permanent reply charging forwarding denied";
442         case MMS_RESPSTAUTS_ERROR_PERMANENT_REPLY_CHARGING_NOT_SUPPORTED:
443                 return "permanent reply charging not supported";
444         }
445
446         return MmsDebugPrintUnknownValue(responseStatus);
447 }
448
449
450 const char *MmsDebugGetRetrieveStatus(MmsRetrieveStatus retrieveStatus)
451 {
452         switch (retrieveStatus) {
453         case MMS_RETRSTATUS_ERROR:
454                 return "error";
455         case MMS_RETRSTATUS_OK:
456                 return "ok";
457         case MMS_RETRSTATUS_TRANSIENT_FAILURE:
458                 return "transient failure";
459         case MMS_RETRSTATUS_TRANSIENT_MESSAGE_NOT_FOUND:
460                 return "transient message not found";
461         case MMS_RETRSTATUS_TRANSIENT_NETWORK_PROBLEM:
462                 return "transient network problem";
463         case MMS_RETRSTATUS_PERMANENT_FAILURE:
464                 return "permanent failure";
465         case MMS_RETRSTATUS_PERMANENT_SERVICE_DENIED:
466                 return "permanent service denied";
467         case MMS_RETRSTATUS_PERMANENT_MESSAGE_NOT_FOUND:
468                 return "permanent message not found";
469         case MMS_RETRSTATUS_PERMANENT_CONTENT_UNSUPPORT:
470                 return "permanent content unsupport";
471         }
472
473         return MmsDebugPrintUnknownValue(retrieveStatus);
474 }
475
476
477 const char *MmsDebugGetMsgStatus(msg_delivery_report_status_t msgStatus)
478 {
479         switch (msgStatus) {
480         case MSG_DELIVERY_REPORT_ERROR:
481                 return "error";
482         case MSG_DELIVERY_REPORT_EXPIRED:
483                 return "expired";
484         case MSG_DELIVERY_REPORT_SUCCESS:
485                 return "retrieved";
486         case MSG_DELIVERY_REPORT_REJECTED:
487                 return "rejected";
488         case MSG_DELIVERY_REPORT_DEFERRED:
489                 return "deferred";
490         case MSG_DELIVERY_REPORT_UNRECOGNISED:
491                 return "unrecognised";
492         case MSG_DELIVERY_REPORT_INDETERMINATE:
493                 return "indeterminate";
494         case MSG_DELIVERY_REPORT_FORWARDED:
495                 return "forwarded";
496         case MSG_DELIVERY_REPORT_UNREACHABLE:
497                 return "unreachable";
498         }
499
500         return MmsDebugPrintUnknownValue(msgStatus);
501 }
502
503
504 const char *MmsDebugGetMsgClass(MmsMsgClass msgClass)
505 {
506         switch (msgClass) {
507         case MMS_MSGCLASS_ERROR:
508                 return "error";
509         case MMS_MSGCLASS_PERSONAL:
510                 return "personal";
511         case MMS_MSGCLASS_ADVERTISEMENT:
512                 return "advertisement";
513         case MMS_MSGCLASS_INFORMATIONAL:
514                 return "information";
515         case MMS_MSGCLASS_AUTO:
516                 return "auto";
517         }
518
519         return MmsDebugPrintUnknownValue(msgClass);
520 }
521
522
523 const char *MmsDebugGetDataType(MmsDataType dataType)
524 {
525         switch (dataType) {
526         case MMS_DATATYPE_NONE:
527                 return "MMS_DATATYPE_NONE";
528         case MMS_DATATYPE_READ:
529                 return "MMS_DATATYPE_READ";
530         case MMS_DATATYPE_SENT:
531                 return "MMS_DATATYPE_SENT";
532         case MMS_DATATYPE_NOTIFY:
533                 return "MMS_DATATYPE_NOTIFY";
534         case MMS_DATATYPE_UNSENT:
535                 return "MMS_DATATYPE_UNSENT";
536         case MMS_DATATYPE_DRAFT:
537                 return "MMS_DATATYPE_DRAFT";
538         case MMS_DATATYPE_SENDING:
539                 return "MMS_DATATYPE_SENDING";
540         case MMS_DATATYPE_DRM_RO_WAITING:
541                 return "MMS_DATATYPE_DRM_RO_WAITING";
542         case MMS_DATATYPE_RETRIEVING:
543                 return "MMS_DATATYPE_RETRIEVING";
544         case MMS_DATATYPE_UNRETV:
545                 return "MMS_DATATYPE_UNRETV";
546         default:
547                 return MmsDebugPrintUnknownValue(dataType);
548         }
549 }