• Skip to content
  • Skip to link menu
  • KDE API Reference
  • kdepimlibs-4.14.10 API Reference
  • KDE Home
  • Contact Us
 

KTNEF Library

  • ktnef
mapi.cpp
Go to the documentation of this file.
1/*
2 mapi.cpp
3
4 Copyright (C) 2002 Michael Goffioul <kdeprint@swing.be>
5
6 This file is part of KTNEF, the KDE TNEF support library/program.
7
8 This library is free software; you can redistribute it and/or
9 modify it under the terms of the GNU Library General Public
10 License as published by the Free Software Foundation; either
11 version 2 of the License, or (at your option) any later version.
12
13 This library is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 Library General Public License for more details.
17
18 You should have received a copy of the GNU Library General Public License
19 along with this library; see the file COPYING.LIB. If not, write to
20 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21 Boston, MA 02110-1301, USA.
22 */
31#include "mapi.h"
32#include <QtCore/QMap>
33#include <klocalizedstring.h>
34//@cond IGNORE
35static struct
36{
37 int tag;
38 const char *str;
39} MAPI_TagStrings[] =
40{
41 { 0x0002, I18N_NOOP( "Alternate Recipient Allowed" ) },
42 { 0x001A, I18N_NOOP( "Message Class" ) },
43 { 0x0023, I18N_NOOP( "Originator Delivery Report Requested" ) },
44 { 0x0024, I18N_NOOP( "Originator Return Address" ) },
45 { 0x0026, I18N_NOOP( "Priority" ) },
46 { 0x0029, I18N_NOOP( "Read Receipt Requested" ) },
47 { 0x002B, I18N_NOOP( "Recipient Reassignment Prohibited" ) },
48 { 0x002E, I18N_NOOP( "Original Sensitivity" ) },
49 { 0x0031, I18N_NOOP( "Report Tag" ) },
50 { 0x0036, I18N_NOOP( "Sensitivity" ) },
51 { 0x0037, I18N_NOOP2( "@label The subject of an email", "Subject" ) },
52 { 0x0039, I18N_NOOP( "Client Submit Time" ) },
53 { 0x003B, I18N_NOOP( "Sent Representing Search Key" ) },
54 { 0x003D, I18N_NOOP( "Subject Prefix" ) },
55 { 0x0041, I18N_NOOP( "Sent Representing Entry ID" ) },
56 { 0x0042, I18N_NOOP( "Sent Representing Name" ) },
57 { 0x0047, I18N_NOOP( "Message Submission ID" ) },
58 { 0x004D, I18N_NOOP( "Original Author Name" ) },
59 { 0x0062, I18N_NOOP( "Owner Appointment ID" ) },
60 { 0x0063, I18N_NOOP( "Response Requested" ) },
61 { 0x0064, I18N_NOOP( "Sent Representing Address Type" ) },
62 { 0x0065, I18N_NOOP( "Sent Representing E-mail Address" ) },
63 { 0x0070, I18N_NOOP( "Conversation Topic" ) },
64 { 0x0071, I18N_NOOP( "Conversation Index" ) },
65 { 0x007F, I18N_NOOP( "TNEF Correlation Key" ) },
66 { 0x0C17, I18N_NOOP( "Reply Requested" ) },
67 { 0x0C1A, I18N_NOOP( "Sender Name" ) },
68 { 0x0C1D, I18N_NOOP( "Sender Search Key" ) },
69 { 0x0C1E, I18N_NOOP( "Sender Address Type" ) },
70 { 0x0C1F, I18N_NOOP( "Sender E-mail Address" ) },
71 { 0x0E01, I18N_NOOP( "Delete After Submit" ) },
72 { 0x0E02, I18N_NOOP( "Display Bcc" ) },
73 { 0x0E03, I18N_NOOP( "Display Cc" ) },
74 { 0x0E04, I18N_NOOP( "Display To" ) },
75 { 0x0E06, I18N_NOOP( "Message Delivery Time" ) },
76 { 0x0E07, I18N_NOOP( "Message Flags" ) },
77 { 0x0E08, I18N_NOOP( "Message Size" ) },
78 { 0x0E09, I18N_NOOP( "Parent Entry ID" ) },
79 { 0x0E0A, I18N_NOOP( "Sent-Mail Entry ID" ) },
80 { 0x0E12, I18N_NOOP( "Message Recipients" ) },
81 { 0x0E14, I18N_NOOP( "Submit Flags" ) },
82 { 0x0E1B, I18N_NOOP( "Has Attachment" ) },
83 { 0x0E1D, I18N_NOOP( "Normalized Subject" ) },
84 { 0x0E1F, I18N_NOOP( "RTF In Sync" ) },
85 { 0x0E20, I18N_NOOP( "Attachment Size" ) },
86 { 0x0E21, I18N_NOOP( "Attachment Number" ) },
87 { 0x0FF4, I18N_NOOP( "Access" ) },
88 { 0x0FF7, I18N_NOOP( "Access Level" ) },
89 { 0x0FF8, I18N_NOOP( "Mapping Signature" ) },
90 { 0x0FF9, I18N_NOOP( "Record Key" ) },
91 { 0x0FFA, I18N_NOOP( "Store Record Key" ) },
92 { 0x0FFB, I18N_NOOP( "Store Entry ID" ) },
93 { 0x0FFE, I18N_NOOP( "Object Type" ) },
94 { 0x0FFF, I18N_NOOP( "Entry ID" ) },
95 { 0x1000, I18N_NOOP( "Message Body" ) },
96 { 0x1006, I18N_NOOP( "RTF Sync Body CRC" ) },
97 { 0x1007, I18N_NOOP( "RTF Sync Body Count" ) },
98 { 0x1008, I18N_NOOP( "RTF Sync Body Tag" ) },
99 { 0x1009, I18N_NOOP( "RTF Compressed" ) },
100 { 0x1010, I18N_NOOP( "RTF Sync Prefix Count" ) },
101 { 0x1011, I18N_NOOP( "RTF Sync Trailing Count" ) },
102 { 0x1013, I18N_NOOP( "HTML Message Body" ) },
103 { 0x1035, I18N_NOOP( "Message ID" ) },
104 { 0x1042, I18N_NOOP( "Parent's Message ID" ) },
105 { 0x1080, I18N_NOOP( "Action" ) },
106 { 0x1081, I18N_NOOP( "Action Flag" ) },
107 { 0x1082, I18N_NOOP( "Action Date" ) },
108 { 0x3001, I18N_NOOP( "Display Name" ) },
109 { 0x3007, I18N_NOOP( "Creation Time" ) },
110 { 0x3008, I18N_NOOP( "Last Modification Time" ) },
111 { 0x300B, I18N_NOOP( "Search Key" ) },
112 { 0x340D, I18N_NOOP( "Store Support Mask" ) },
113 { 0x3414, I18N_NOOP( "MDB Provider" ) },
114 { 0x3701, I18N_NOOP( "Attachment Data" ) },
115 { 0x3702, I18N_NOOP( "Attachment Encoding" ) },
116 { 0x3703, I18N_NOOP( "Attachment Extension" ) },
117 { 0x3705, I18N_NOOP( "Attachment Method" ) },
118 { 0x3707, I18N_NOOP( "Attachment Long File Name" ) },
119 { 0x370B, I18N_NOOP( "Attachment Rendering Position" ) },
120 { 0x370E, I18N_NOOP( "Attachment Mime Tag" ) },
121 { 0x3714, I18N_NOOP( "Attachment Flags" ) },
122 { 0x3A00, I18N_NOOP( "Account" ) },
123 { 0x3A05, I18N_NOOP( "Generation" ) },
124 { 0x3A06, I18N_NOOP( "Given Name" ) },
125 { 0x3A0A, I18N_NOOP( "Initials" ) },
126 { 0x3A0B, I18N_NOOP( "Keyword" ) },
127 { 0x3A0C, I18N_NOOP( "Language" ) },
128 { 0x3A0D, I18N_NOOP( "Location" ) },
129 { 0x3A11, I18N_NOOP( "Surname" ) },
130 { 0x3A16, I18N_NOOP( "Company Name" ) },
131 { 0x3A17, I18N_NOOP2( "@label The title of a person", "Title" ) },
132 { 0x3A18, I18N_NOOP( "Department Name" ) },
133 { 0x3A26, I18N_NOOP( "Country" ) },
134 { 0x3A27, I18N_NOOP( "Locality" ) },
135 { 0x3A28, I18N_NOOP( "State/Province" ) },
136 { 0x3A44, I18N_NOOP( "Middle Name" ) },
137 { 0x3A45, I18N_NOOP( "Display Name Prefix" ) },
138
139 /* Some TNEF attributes */
140 { 0x0008, I18N_NOOP( "Owner Appointment ID" ) },
141 { 0x0009, I18N_NOOP( "Response Requested" ) },
142 { 0x8000, I18N_NOOP( "From" ) },
143 { 0x8004, I18N_NOOP2( "@label The subject of an email", "Subject" ) },
144 { 0x8005, I18N_NOOP( "Date Sent" ) },
145 { 0x8006, I18N_NOOP( "Date Received" ) },
146 { 0x8007, I18N_NOOP( "Message Status" ) },
147 { 0x8008, I18N_NOOP( "Message Class" ) },
148 { 0x8009, I18N_NOOP( "Message ID" ) },
149 { 0x800A, I18N_NOOP( "Parent ID" ) },
150 { 0x800B, I18N_NOOP( "Conversation ID" ) },
151 { 0x800C, I18N_NOOP( "Body" ) },
152 { 0x800D, I18N_NOOP( "Priority" ) },
153 { 0x800F, I18N_NOOP( "Attachment Data" ) },
154 { 0x8010, I18N_NOOP( "Attachment Title" ) },
155 { 0x8011, I18N_NOOP( "Attachment Meta File" ) },
156 { 0x8012, I18N_NOOP( "Attachment Create Date" ) },
157 { 0x8013, I18N_NOOP( "Attachment Modify Date" ) },
158 { 0x8020, I18N_NOOP( "Date Modified" ) },
159 { 0x9001, I18N_NOOP( "Attachment Transport File Name" ) },
160 { 0x9002, I18N_NOOP( "Attachment Rendering Data" ) },
161 { 0x9003, I18N_NOOP( "MAPI Properties" ) },
162 { 0x9004, I18N_NOOP( "Recipients Table" ) },
163 { 0x9005, I18N_NOOP( "Attachment MAPI Properties" ) },
164 { 0x9006, I18N_NOOP( "TNEF Version" ) },
165 { 0x9007, I18N_NOOP( "OEM Code Page" ) },
166
167 { 0, 0 }
168},
169MAPI_NamedTagStrings[] =
170{
171 { 0x8005, I18N_NOOP( "Contact File Under" ) },
172 { 0x8017, I18N_NOOP( "Contact Last Name And First Name" ) },
173 { 0x8018, I18N_NOOP( "Contact Company And Full Name" ) },
174
175 { 0x8080, I18N_NOOP( "Contact EMail-1 Full" ) },
176 { 0x8082, I18N_NOOP( "Contact EMail-1 Address Type" ) },
177 { 0x8083, I18N_NOOP( "Contact EMail-1 Address" ) },
178 { 0x8084, I18N_NOOP( "Contact EMail-1 Display Name" ) },
179 { 0x8085, I18N_NOOP( "Contact EMail-1 Entry ID" ) },
180
181 { 0x8090, I18N_NOOP( "Contact EMail-2 Full" ) },
182 { 0x8092, I18N_NOOP( "Contact EMail-2 Address Type" ) },
183 { 0x8093, I18N_NOOP( "Contact EMail-2 Address" ) },
184 { 0x8094, I18N_NOOP( "Contact EMail-2 Display Name" ) },
185 { 0x8095, I18N_NOOP( "Contact EMail-2 Entry ID" ) },
186
187 { 0x8208, I18N_NOOP( "Appointment Location" ) },
188 { 0x8208, I18N_NOOP( "Appointment Location" ) },
189 { 0x820D, I18N_NOOP( "Appointment Start Date" ) },
190 { 0x820E, I18N_NOOP( "Appointment End Date" ) },
191 { 0x8213, I18N_NOOP( "Appointment Duration" ) },
192 { 0x8218, I18N_NOOP( "Appointment Response Status" ) },
193 { 0x8223, I18N_NOOP( "Appointment Is Recurring" ) },
194 { 0x8231, I18N_NOOP( "Appointment Recurrence Type" ) },
195 { 0x8232, I18N_NOOP( "Appointment Recurrence Pattern" ) },
196 { 0x8502, I18N_NOOP( "Reminder Time" ) },
197 { 0x8503, I18N_NOOP( "Reminder Set" ) },
198 { 0x8516, I18N_NOOP( "Start Date" ) },
199 { 0x8517, I18N_NOOP( "End Date" ) },
200 { 0x8560, I18N_NOOP( "Reminder Next Time" ) },
201 { 0, 0 }
202};
203static QMap<int,QString> MAPI_TagMap;
204static QMap<int,QString> MAPI_NamedTagMap;
205//@endcond
206
207QString mapiTagString( int key )
208{
209 if ( MAPI_TagMap.count() == 0 ) {
210 for ( int i=0; MAPI_TagStrings[ i ].str; i++ ) {
211 MAPI_TagMap[ MAPI_TagStrings[ i ].tag ] =
212 i18n( MAPI_TagStrings[ i ].str );
213 }
214 }
215 QMap<int,QString>::ConstIterator it = MAPI_TagMap.constFind( key );
216 if ( it == MAPI_TagMap.constEnd() ) {
217 return QString().sprintf( "0x%04X", key );
218 } else {
219 return QString().sprintf( "0x%04X ________: ", key ) + *it;
220 }
221}
222
223QString mapiNamedTagString( int key, int tag )
224{
225 if ( MAPI_NamedTagMap.count() == 0 ) {
226 for ( int i=0; MAPI_NamedTagStrings[ i ].str; ++i ) {
227 MAPI_NamedTagMap[ MAPI_NamedTagStrings[ i ].tag ] =
228 i18n( MAPI_NamedTagStrings[ i ].str );
229 }
230 }
231 QMap<int,QString>::ConstIterator it = MAPI_NamedTagMap.constFind( key );
232 if ( it != MAPI_NamedTagMap.constEnd() ) {
233 if ( tag >= 0 ) {
234 return QString().sprintf( "0x%04X [0x%04X]: ", tag, key ) + *it;
235 } else {
236 return QString().sprintf( "0x%04X ________:", key ) + *it;
237 }
238 } else {
239 return QString().sprintf( "0x%04X ________:", key );
240 }
241}
mapiTagString
QString mapiTagString(int key)
Convert a keycode to a MAPI tag string.
Definition: mapi.cpp:207
mapiNamedTagString
QString mapiNamedTagString(int key, int tag)
Convert a keycode to a MAPI named tag string.
Definition: mapi.cpp:223
mapi.h
This file is part of the API for handling TNEF data and provides functions that convert MAPI keycodes...
This file is part of the KDE documentation.
Documentation copyright © 1996-2022 The KDE developers.
Generated on Thu Jul 21 2022 00:00:00 by doxygen 1.9.5 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KTNEF Library

Skip menu "KTNEF Library"
  • Main Page
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdepimlibs-4.14.10 API Reference

Skip menu "kdepimlibs-4.14.10 API Reference"
  • akonadi
  •   contact
  •   kmime
  •   socialutils
  • kabc
  • kalarmcal
  • kblog
  • kcal
  • kcalcore
  • kcalutils
  • kholidays
  • kimap
  • kioslave
  •   imap4
  •   mbox
  •   nntp
  • kldap
  • kmbox
  • kmime
  • kontactinterface
  • kpimidentities
  • kpimtextedit
  • kpimutils
  • kresources
  • ktnef
  • kxmlrpcclient
  • mailtransport
  • microblog
  • qgpgme
  • syndication
  •   atom
  •   rdf
  •   rss2
Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal