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"
32 namespace EventTypes { class SMS; }
34 namespace EventParsers
38 class VBody : public SMSEntity, public iWriter, public iReader
41 VBody(const Settings &settings, const SMSEntity *parent);
42 //VBody(QTextStream& stream);
45 virtual bool Read(const QString &initialLine, QTextStream &stream, EventTypes::SMS &event);
46 virtual void Write(QTextStream &stream, const EventTypes::SMS &event, const NumberToNameLookup &numberToNameLookup);
49 virtual const char *getTagName() const { return "VBODY"; }
52 static const QMap<int, const char *> & BinaryMIMETypes()
54 static QMap<int, const char *> s_BinaryMIMETypes;
55 if(s_BinaryMIMETypes.count() == 0)
57 s_BinaryMIMETypes.insert(0x00, "*/*");
58 s_BinaryMIMETypes.insert(0x01, "text/*");
59 s_BinaryMIMETypes.insert(0x02, "text/html");
60 s_BinaryMIMETypes.insert(0x03, "text/plain");
61 s_BinaryMIMETypes.insert(0x04, "text/x-hdml");
62 s_BinaryMIMETypes.insert(0x05, "text/x-ttml");
63 s_BinaryMIMETypes.insert(0x06, "text/x-vCalendar");
64 s_BinaryMIMETypes.insert(0x07, "text/x-vCard");
65 s_BinaryMIMETypes.insert(0x08, "text/vnd.wap.wml");
66 s_BinaryMIMETypes.insert(0x09, "text/vnd.wap.wmlscript");
67 s_BinaryMIMETypes.insert(0x0A, "text/vnd.wap.wta-event");
68 s_BinaryMIMETypes.insert(0x0B, "multipart/*");
69 s_BinaryMIMETypes.insert(0x0C, "multipart/mixed");
70 s_BinaryMIMETypes.insert(0x0D, "multipart/form-data");
71 s_BinaryMIMETypes.insert(0x0E, "multipart/byterantes");
72 s_BinaryMIMETypes.insert(0x0F, "multipart/alternative");
73 s_BinaryMIMETypes.insert(0x10, "application/*");
74 s_BinaryMIMETypes.insert(0x11, "application/java-vm");
75 s_BinaryMIMETypes.insert(0x12, "application/x-www-form-urlencoded");
76 s_BinaryMIMETypes.insert(0x13, "application/x-hdmlc");
77 s_BinaryMIMETypes.insert(0x14, "application/vnd.wap.wmlc");
78 s_BinaryMIMETypes.insert(0x15, "application/vnd.wap.wmlscriptc");
79 s_BinaryMIMETypes.insert(0x16, "application/vnd.wap.wta-eventc");
80 s_BinaryMIMETypes.insert(0x17, "application/vnd.wap.uaprof");
81 s_BinaryMIMETypes.insert(0x18, "application/vnd.wap.wtls-ca-certificate");
82 s_BinaryMIMETypes.insert(0x19, "application/vnd.wap.wtls-user-certificate");
83 s_BinaryMIMETypes.insert(0x1A, "application/x-x509-ca-cert");
84 s_BinaryMIMETypes.insert(0x1B, "application/x-x509-user-cert");
85 s_BinaryMIMETypes.insert(0x1C, "image/*");
86 s_BinaryMIMETypes.insert(0x1D, "image/gif");
87 s_BinaryMIMETypes.insert(0x1E, "image/jpeg");
88 s_BinaryMIMETypes.insert(0x1F, "image/tiff");
89 s_BinaryMIMETypes.insert(0x20, "image/png");
90 s_BinaryMIMETypes.insert(0x21, "image/vnd.wap.wbmp");
91 s_BinaryMIMETypes.insert(0x22, "application/vnd.wap.multipart.*");
92 s_BinaryMIMETypes.insert(0x23, "application/vnd.wap.multipart.mixed");
93 s_BinaryMIMETypes.insert(0x24, "application/vnd.wap.multipart.form-data");
94 s_BinaryMIMETypes.insert(0x25, "application/vnd.wap.multipart.byteranges");
95 s_BinaryMIMETypes.insert(0x26, "application/vnd.wap.multipart.alternative");
96 s_BinaryMIMETypes.insert(0x27, "application/xml");
97 s_BinaryMIMETypes.insert(0x28, "text/xml");
98 s_BinaryMIMETypes.insert(0x29, "application/vnd.wap.wbxml");
99 s_BinaryMIMETypes.insert(0x2A, "application/x-x968-cross-cert");
100 s_BinaryMIMETypes.insert(0x2B, "application/x-x968-ca-cert");
101 s_BinaryMIMETypes.insert(0x2C, "application/x-x968-user-cert");
102 s_BinaryMIMETypes.insert(0x2D, "text/vnd.wap.si");
103 s_BinaryMIMETypes.insert(0x2E, "application/vnd.wap.sic");
104 s_BinaryMIMETypes.insert(0x2F, "text/vnd.wap.sl");
105 s_BinaryMIMETypes.insert(0x30, "application/vnd.wap.slc");
106 s_BinaryMIMETypes.insert(0x31, "text/vnd.wap.co");
107 s_BinaryMIMETypes.insert(0x32, "application/vnd.wap.coc");
108 s_BinaryMIMETypes.insert(0x33, "application/vnd.wap.multipart.related");
109 s_BinaryMIMETypes.insert(0x34, "application/vnd.wap.sia");
110 s_BinaryMIMETypes.insert(0x35, "text/vnd.wap.connectivity-xml");
111 s_BinaryMIMETypes.insert(0x36, "application/vnd.wap.connectivity-wbxml");
112 s_BinaryMIMETypes.insert(0x37, "application/pkcs7-mime");
113 s_BinaryMIMETypes.insert(0x38, "application/vnd.wap.hashed-certificate");
114 s_BinaryMIMETypes.insert(0x39, "application/vnd.wap.signed-certificate");
115 s_BinaryMIMETypes.insert(0x3A, "application/vnd.wap.cert-response");
116 s_BinaryMIMETypes.insert(0x3B, "application/xhtml+xml");
117 s_BinaryMIMETypes.insert(0x3C, "application/wml+xml");
118 s_BinaryMIMETypes.insert(0x3D, "text/css");
119 s_BinaryMIMETypes.insert(0x3E, "application/vnd.wap.mms-message");
120 s_BinaryMIMETypes.insert(0x3F, "application/vnd.wap.rollover-certificate");
121 s_BinaryMIMETypes.insert(0x40, "application/vnd.wap.locc+wbxml");
122 s_BinaryMIMETypes.insert(0x41, "application/vnd.wap.loc+xml");
123 s_BinaryMIMETypes.insert(0x42, "application/vnd.syncml.dm+wbxml");
124 s_BinaryMIMETypes.insert(0x43, "application/vnd.syncml.dm+xml");
125 s_BinaryMIMETypes.insert(0x44, "application/vnd.syncml.notification");
126 s_BinaryMIMETypes.insert(0x45, "application/vnd.wap.xhtml+xml");
127 s_BinaryMIMETypes.insert(0x46, "application/vnd.wv.csp.cir");
128 s_BinaryMIMETypes.insert(0x47, "application/vnd.oma.dd+xml");
129 s_BinaryMIMETypes.insert(0x48, "application/vnd.oma.drm.message");
130 s_BinaryMIMETypes.insert(0x49, "application/vnd.oma.drm.content");
131 s_BinaryMIMETypes.insert(0x4A, "application/vnd.oma.drm.rights+xml");
132 s_BinaryMIMETypes.insert(0x4B, "application/vnd.oma.drm.rights+wbxml");
135 return s_BinaryMIMETypes;
141 #endif // EVENTPARSERS_VMGEntities_VBODYWRITER_H