Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

genericwrapper.h

Go to the documentation of this file.
00001 #ifndef __GENERIC_WRAPPER_H
00002 #define __GENERIC_WRAPPER_H
00003 
00004 #include "abstractmail.h"
00005 #include "mailstatics.h"
00006 #include <qmap.h>
00007 #include <qstring.h>
00008 #include <libetpan/clist.h>
00009 
00010 class RecMail;
00011 class RecBody;
00012 class encodedString;
00013 struct mailpop3;
00014 struct mailmessage;
00015 struct mailmime;
00016 struct mailmime_mechanism;
00017 struct mailimf_mailbox_list;
00018 struct mailimf_mailbox;
00019 struct mailimf_group;
00020 struct mailimf_address_list;
00021 struct mailsession;
00022 struct mailstorage;
00023 struct mailfolder;
00024 struct mailimf_in_reply_to;
00025 
00026 /* this class hold just the funs shared between
00027  * mbox and pop3 (later mh, too) mail access.
00028  * it is not desigend to make a instance of it!
00029  */
00030 class Genericwrapper : public AbstractMail,public MailStatics
00031 {
00032     Q_OBJECT
00033 public:
00034     Genericwrapper();
00035     virtual ~Genericwrapper();
00036 
00037     virtual encodedString* fetchDecodedPart(const RecMailP&mail,const RecPartP&part);
00038     virtual encodedString* fetchRawPart(const RecMailP&mail,const RecPartP&part);
00039     virtual QString fetchTextPart(const RecMailP&mail,const RecPartP&part);
00040     virtual void cleanMimeCache();
00041     virtual int deleteMbox(const Opie::Core::OSmartPointer<Folder>&){return 1;}
00042     virtual void logout(){};
00043     virtual void storeMessage(const char*msg,size_t length, const QString&folder){};
00044 
00045 protected:
00046     RecBodyP parseMail( mailmessage * msg );
00047     QString parseMailboxList( mailimf_mailbox_list *list );
00048     QString parseMailbox( mailimf_mailbox *box );
00049     QString parseGroup( mailimf_group *group );
00050     QString parseAddressList( mailimf_address_list *list );
00051 
00052     void traverseBody(RecBodyP&target,mailmessage*message,mailmime*mime,QValueList<int>recList,unsigned int current_rek=0,int current_count=1);
00053     static void fillSingleBody(RecPartP&target,mailmessage*message,mailmime*mime);
00054     static void fillParameters(RecPartP&target,clist*parameters);
00055     static QString getencoding(mailmime_mechanism*aEnc);
00056     virtual void parseList(QValueList<Opie::Core::OSmartPointer<RecMail> > &target,mailsession*session,const QString&mailbox,bool mbox_as_to=false);
00057     QStringList parseInreplies(mailimf_in_reply_to * in_replies);
00058 
00059     QString msgTempName;
00060     unsigned int last_msg_id;
00061     QMap<QString,encodedString*> bodyCache;
00062     mailstorage * m_storage;
00063     mailfolder*m_folder;
00064 };
00065 
00066 #endif

Generated on Sat Nov 5 16:17:37 2005 for OPIE by  doxygen 1.4.2