2 * Copyright (C) 2011, Jamie Thompson
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public
6 * License as published by the Free Software Foundation; either
7 * version 3 of the License, or (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * General Public License for more details.
14 * You should have received a copy of the GNU General Public
15 * License along with this program; If not, see
16 * <http://www.gnu.org/licenses/>.
19 #ifndef EVENTPARSERS_VMGEntities_VBODYWRITER_H
20 #define EVENTPARSERS_VMGEntities_VBODYWRITER_H
24 #include "SMSEntity.h"
30 namespace EventTypes { class SMS; }
32 namespace EventParsers
36 class VBody : public SMSEntity, public iWriter, public iReader
39 VBody(const SMSEntity *parent);
40 //VBody(QTextStream& stream);
43 virtual bool Read(const QString &initialLine, QTextStream &stream, EventTypes::SMS &event);
44 virtual void Write(QTextStream &stream, const EventTypes::SMS &event);
47 virtual const char *getTagName() const { return "VBODY"; }
50 static const QMap<int, const char *> & BinaryMIMETypes()
52 static QMap<int, const char *> s_BinaryMIMETypes;
53 if(s_BinaryMIMETypes.count() == 0)
55 s_BinaryMIMETypes.insert(0x00, "*/*");
56 s_BinaryMIMETypes.insert(0x01, "text/*");
57 s_BinaryMIMETypes.insert(0x02, "text/html");
58 s_BinaryMIMETypes.insert(0x03, "text/plain");
59 s_BinaryMIMETypes.insert(0x04, "text/x-hdml");
60 s_BinaryMIMETypes.insert(0x05, "text/x-ttml");
61 s_BinaryMIMETypes.insert(0x06, "text/x-vCalendar");
62 s_BinaryMIMETypes.insert(0x07, "text/x-vCard");
63 s_BinaryMIMETypes.insert(0x08, "text/vnd.wap.wml");
64 s_BinaryMIMETypes.insert(0x09, "text/vnd.wap.wmlscript");
65 s_BinaryMIMETypes.insert(0x0A, "text/vnd.wap.wta-event");
66 s_BinaryMIMETypes.insert(0x0B, "multipart/*");
67 s_BinaryMIMETypes.insert(0x0C, "multipart/mixed");
68 s_BinaryMIMETypes.insert(0x0D, "multipart/form-data");
69 s_BinaryMIMETypes.insert(0x0E, "multipart/byterantes");
70 s_BinaryMIMETypes.insert(0x0F, "multipart/alternative");
71 s_BinaryMIMETypes.insert(0x10, "application/*");
72 s_BinaryMIMETypes.insert(0x11, "application/java-vm");
73 s_BinaryMIMETypes.insert(0x12, "application/x-www-form-urlencoded");
74 s_BinaryMIMETypes.insert(0x13, "application/x-hdmlc");
75 s_BinaryMIMETypes.insert(0x14, "application/vnd.wap.wmlc");
76 s_BinaryMIMETypes.insert(0x15, "application/vnd.wap.wmlscriptc");
77 s_BinaryMIMETypes.insert(0x16, "application/vnd.wap.wta-eventc");
78 s_BinaryMIMETypes.insert(0x17, "application/vnd.wap.uaprof");
79 s_BinaryMIMETypes.insert(0x18, "application/vnd.wap.wtls-ca-certificate");
80 s_BinaryMIMETypes.insert(0x19, "application/vnd.wap.wtls-user-certificate");
81 s_BinaryMIMETypes.insert(0x1A, "application/x-x509-ca-cert");
82 s_BinaryMIMETypes.insert(0x1B, "application/x-x509-user-cert");
83 s_BinaryMIMETypes.insert(0x1C, "image/*");
84 s_BinaryMIMETypes.insert(0x1D, "image/gif");
85 s_BinaryMIMETypes.insert(0x1E, "image/jpeg");
86 s_BinaryMIMETypes.insert(0x1F, "image/tiff");
87 s_BinaryMIMETypes.insert(0x20, "image/png");
88 s_BinaryMIMETypes.insert(0x21, "image/vnd.wap.wbmp");
89 s_BinaryMIMETypes.insert(0x22, "application/vnd.wap.multipart.*");
90 s_BinaryMIMETypes.insert(0x23, "application/vnd.wap.multipart.mixed");
91 s_BinaryMIMETypes.insert(0x24, "application/vnd.wap.multipart.form-data");
92 s_BinaryMIMETypes.insert(0x25, "application/vnd.wap.multipart.byteranges");
93 s_BinaryMIMETypes.insert(0x26, "application/vnd.wap.multipart.alternative");
94 s_BinaryMIMETypes.insert(0x27, "application/xml");
95 s_BinaryMIMETypes.insert(0x28, "text/xml");
96 s_BinaryMIMETypes.insert(0x29, "application/vnd.wap.wbxml");
97 s_BinaryMIMETypes.insert(0x2A, "application/x-x968-cross-cert");
98 s_BinaryMIMETypes.insert(0x2B, "application/x-x968-ca-cert");
99 s_BinaryMIMETypes.insert(0x2C, "application/x-x968-user-cert");
100 s_BinaryMIMETypes.insert(0x2D, "text/vnd.wap.si");
101 s_BinaryMIMETypes.insert(0x2E, "application/vnd.wap.sic");
102 s_BinaryMIMETypes.insert(0x2F, "text/vnd.wap.sl");
103 s_BinaryMIMETypes.insert(0x30, "application/vnd.wap.slc");
104 s_BinaryMIMETypes.insert(0x31, "text/vnd.wap.co");
105 s_BinaryMIMETypes.insert(0x32, "application/vnd.wap.coc");
106 s_BinaryMIMETypes.insert(0x33, "application/vnd.wap.multipart.related");
107 s_BinaryMIMETypes.insert(0x34, "application/vnd.wap.sia");
108 s_BinaryMIMETypes.insert(0x35, "text/vnd.wap.connectivity-xml");
109 s_BinaryMIMETypes.insert(0x36, "application/vnd.wap.connectivity-wbxml");
110 s_BinaryMIMETypes.insert(0x37, "application/pkcs7-mime");
111 s_BinaryMIMETypes.insert(0x38, "application/vnd.wap.hashed-certificate");
112 s_BinaryMIMETypes.insert(0x39, "application/vnd.wap.signed-certificate");
113 s_BinaryMIMETypes.insert(0x3A, "application/vnd.wap.cert-response");
114 s_BinaryMIMETypes.insert(0x3B, "application/xhtml+xml");
115 s_BinaryMIMETypes.insert(0x3C, "application/wml+xml");
116 s_BinaryMIMETypes.insert(0x3D, "text/css");
117 s_BinaryMIMETypes.insert(0x3E, "application/vnd.wap.mms-message");
118 s_BinaryMIMETypes.insert(0x3F, "application/vnd.wap.rollover-certificate");
119 s_BinaryMIMETypes.insert(0x40, "application/vnd.wap.locc+wbxml");
120 s_BinaryMIMETypes.insert(0x41, "application/vnd.wap.loc+xml");
121 s_BinaryMIMETypes.insert(0x42, "application/vnd.syncml.dm+wbxml");
122 s_BinaryMIMETypes.insert(0x43, "application/vnd.syncml.dm+xml");
123 s_BinaryMIMETypes.insert(0x44, "application/vnd.syncml.notification");
124 s_BinaryMIMETypes.insert(0x45, "application/vnd.wap.xhtml+xml");
125 s_BinaryMIMETypes.insert(0x46, "application/vnd.wv.csp.cir");
126 s_BinaryMIMETypes.insert(0x47, "application/vnd.oma.dd+xml");
127 s_BinaryMIMETypes.insert(0x48, "application/vnd.oma.drm.message");
128 s_BinaryMIMETypes.insert(0x49, "application/vnd.oma.drm.content");
129 s_BinaryMIMETypes.insert(0x4A, "application/vnd.oma.drm.rights+xml");
130 s_BinaryMIMETypes.insert(0x4B, "application/vnd.oma.drm.rights+wbxml");
133 return s_BinaryMIMETypes;
139 #endif // EVENTPARSERS_VMGEntities_VBODYWRITER_H