Eneboo - Documentación para desarrolladores
|
00001 /* 00002 Copyright (C) 2001-2002 by theKompany.com <www.thekompany.com> 00003 This program is free software; you can redistribute it and/or modify 00004 it under the terms of the GNU General Public License as published by 00005 the Free Software Foundation; either version 2 of the License, or 00006 (at your option) any later version. 00007 00008 This program is distributed in the hope that it will be useful, 00009 but WITHOUT ANY WARRANTY; without even the implied warranty of 00010 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00011 GNU General Public License for more details. 00012 00013 You should have received a copy of the GNU General Public License 00014 along with this program; if not, write to the Free Software 00015 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00016 00017 By PLUGINS we mean the commercial plug-ins developed by theKompany.com 00018 for Aethera. 00019 00020 In addition, as a special exception, theKompany.com gives permission 00021 to link the code of this program with PLUGINS (or with 00022 modified versions of PLUGINS that use the same license as PLUGINS), 00023 and distribute linked combinations including the two. You must obey 00024 the GNU General Public License in all respects for all of the code used 00025 other than PLUGINS. If you modify this file, you may extend this 00026 exception to your version of the file, but you are not obligated to do so. 00027 If you do not wish to do so, delete this exception statement from your 00028 version. 00029 00030 This license grants you the ability to use PLUGINS with Aethera only 00031 and may not be used outside of Aethera. 00032 See also http://www.thekompany.com/products/license.txt for details. 00033 */ 00034 /* 00035 * This file is part of Magellan <http://www.kAlliance.org/Magellan> 00036 * 00037 * Copyright (c) 1998-2000 Teodor Mihai <teddy@ireland.com> 00038 * Copyright (c) 1998-2000 Laur Ivan <laur.ivan@ul.ie> 00039 * Copyright (c) 1999-2000 Virgil Palanciuc <vv@ulise.cs.pub.ro> 00040 * 00041 * Requires the Qt widget libraries, available at no cost at 00042 * http://www.troll.no/ 00043 * 00044 * Also requires the KDE libraries, available at no cost at 00045 * http://www.kde.org/ 00046 * 00047 * Permission is hereby granted, free of charge, to any person obtaining a copy 00048 * of this software and associated documentation files (the "Software"), to deal 00049 * in the Software without restriction, including without limitation the rights 00050 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 00051 * copies of the Software, and to permit persons to whom the Software is 00052 * furnished to do so, subject to the following conditions: 00053 * 00054 * The above copyright notice and this permission notice shall be included in 00055 * all copies or substantial portions of the Software. 00056 * 00057 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 00058 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 00059 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 00060 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 00061 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 00062 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 00063 * IN THE SOFTWARE. 00064 */ 00065 00066 #ifndef __MessageDescriptor__ 00067 #define __MessageDescriptor__ 00068 00069 class MessageClass; 00070 class QString; 00071 class QStringList; 00072 class QDataStream; 00073 00074 // this is basically a smart struct 00075 class MessageDescriptor 00076 { 00077 friend QDataStream& operator>>(QDataStream &, MessageDescriptor &); 00078 friend QDataStream& operator<<(QDataStream &, MessageDescriptor &); 00079 00080 public: 00081 00082 MessageDescriptor(); 00083 virtual ~MessageDescriptor(); 00084 00085 void load(const MessageClass &); 00086 void setCoreLoad(bool); 00087 00088 // addresses 00089 QString from, replyTo; 00090 QStringList to, cc, bcc; 00091 00092 // descriptors 00093 QString subject, messageID, organization, status, priority, uid; 00094 QStringList extendedStatus; 00095 00096 // references 00097 QString inReplyTo; 00098 QStringList references; 00099 00100 // content-related 00101 QString contentType, contentEncoding; 00102 00103 // transfer-related 00104 QString sentDate, receivedDate, scheduling, account; 00105 QStringList route; 00106 Q_UINT8 requestReceipt; 00107 00108 // other Aethera-specific attributes 00109 QString extraInfo, category; 00110 QStringList flags; 00111 Q_UINT8 red, green, blue, flag; 00112 Q_UINT32 persistence; 00113 00114 // index-related relationship attributes 00115 QString indexID; 00116 QString parentIndexID; 00117 QStringList relatedIndexIDList; 00118 00120 Q_UINT8 attachments; 00122 Q_UINT32 size; 00123 00124 // reserved for future extensions 00125 QByteArray extraData; 00126 00127 private: 00128 00129 bool _coreLoad; 00130 }; 00131 00132 #endif 00133 00134