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 __MessageDevice__ 00067 #define __MessageDevice__ 00068 00069 #include <qstring.h> 00070 #include <qstringlist.h> 00071 #include <qcstring.h> 00072 #include <messagedescriptor.h> 00073 00075 typedef QValueList<int> IVList; 00076 00077 class IndexClass; 00078 class MimePart; 00079 00080 class MessageDevice 00081 { 00082 public: 00083 MessageDevice(IndexClass *); 00084 virtual ~MessageDevice(); 00085 00086 int getPartCount(); 00087 int createPart(); 00088 bool deletePart(int); 00089 bool getPartData(int, QByteArray &); 00090 bool setPartData(int, const QByteArray &); 00091 MimePart& operator[](int); 00092 00093 MessageDescriptor & getDescriptor(); 00094 void loadDescriptor(bool fast=false); 00095 void saveDescriptor(); 00096 00097 IndexClass* index(); 00098 00103 bool textPart( IVList* textPartList = NULL ); 00107 int messageText(); 00112 bool htmlPart( IVList* htmlPartList = NULL ); 00114 bool hasText(); 00116 bool hasHtml(); 00117 00119 QString text(bool bAllTextParts=false); 00120 00122 QString html(bool bAllHTMLParts=false); 00123 00124 bool hasAttachments(); 00125 00126 QCString rfc822Message(); 00127 QCString rfc822Header(); 00128 00129 bool saveMessage(int, const QByteArray &); 00130 00131 QByteArray getEntryCacheBlock(); 00132 00133 private: 00134 IndexClass *_index; 00135 MessageDescriptor _descriptor; 00136 }; 00137 00138 #endif