author | alwin <alwin> | 2003-12-08 22:20:44 (UTC) |
---|---|---|
committer | alwin <alwin> | 2003-12-08 22:20:44 (UTC) |
commit | 115bb2c722dc03c0491e2f1c49495a1ceb760000 (patch) (side-by-side diff) | |
tree | 0c8dd795db536da485f85338bdbf9d888fbd37f2 | |
parent | 760fc48703328d8254c60acd19dc9ab367f2a134 (diff) | |
download | opie-115bb2c722dc03c0491e2f1c49495a1ceb760000.zip opie-115bb2c722dc03c0491e2f1c49495a1ceb760000.tar.gz opie-115bb2c722dc03c0491e2f1c49495a1ceb760000.tar.bz2 |
imap wrapper has now an own include file
-rw-r--r-- | noncore/net/mail/accountview.cpp | 1 | ||||
-rw-r--r-- | noncore/net/mail/accountview.h | 2 | ||||
-rw-r--r-- | noncore/net/mail/imapwrapper.cpp | 2 | ||||
-rw-r--r-- | noncore/net/mail/imapwrapper.h | 25 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/imapwrapper.cpp | 2 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/imapwrapper.h | 25 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/mailwrapper.h | 19 | ||||
-rw-r--r-- | noncore/net/mail/mail.pro | 3 | ||||
-rw-r--r-- | noncore/net/mail/mailwrapper.h | 19 |
9 files changed, 57 insertions, 41 deletions
diff --git a/noncore/net/mail/accountview.cpp b/noncore/net/mail/accountview.cpp index c6a44ab..a531976 100644 --- a/noncore/net/mail/accountview.cpp +++ b/noncore/net/mail/accountview.cpp @@ -1,33 +1,34 @@ #include "accountview.h" +#include "imapwrapper.h" #include "defines.h" IMAPviewItem::IMAPviewItem( IMAPaccount *a, QListView *parent ) : AccountViewItem( parent ) { account = a; wrapper = new IMAPwrapper( account ); setPixmap( 0, PIXMAP_IMAPFOLDER ); setText( 0, account->getAccountName() ); setOpen( true ); } IMAPviewItem::~IMAPviewItem() { delete wrapper; } IMAPwrapper *IMAPviewItem::getWrapper() { return wrapper; } void IMAPviewItem::refresh(Maillist&) { QList<IMAPFolder> *folders = wrapper->listFolders(); QListViewItem *child = firstChild(); while ( child ) { QListViewItem *tmp = child; child = child->nextSibling(); delete tmp; } diff --git a/noncore/net/mail/accountview.h b/noncore/net/mail/accountview.h index 14d8efa..2bc8023 100644 --- a/noncore/net/mail/accountview.h +++ b/noncore/net/mail/accountview.h @@ -1,40 +1,42 @@ #ifndef ACCOUNTVIEW_H #define ACCOUNTVIEW_H #include <qlistview.h> #include "settings.h" #include "mailwrapper.h" +class IMAPwrapper; + class AccountViewItem : public QListViewItem { public: AccountViewItem( QListView *parent ) : QListViewItem( parent ) {} AccountViewItem( QListViewItem *parent ) : QListViewItem( parent ) {} virtual void refresh(Maillist&)=0; virtual QString fetchBody(const RecMail&)=0; }; class IMAPviewItem : public AccountViewItem { public: IMAPviewItem( IMAPaccount *a, QListView *parent ); ~IMAPviewItem(); virtual void refresh(Maillist&); virtual QString fetchBody(const RecMail&){return "";} IMAPwrapper *getWrapper(); private: IMAPaccount *account; IMAPwrapper *wrapper; }; class IMAPfolderItem : public AccountViewItem { public: IMAPfolderItem( IMAPFolder *folder, IMAPviewItem *parent ); ~IMAPfolderItem(); diff --git a/noncore/net/mail/imapwrapper.cpp b/noncore/net/mail/imapwrapper.cpp index fc12947..7b78499 100644 --- a/noncore/net/mail/imapwrapper.cpp +++ b/noncore/net/mail/imapwrapper.cpp @@ -1,36 +1,36 @@ #include <stdlib.h> -#include "mailwrapper.h" +#include "imapwrapper.h" IMAPwrapper::IMAPwrapper( IMAPaccount *a ) { account = a; } void imap_progress( size_t current, size_t maximum ) { qDebug( "IMAP: %i of %i", current, maximum ); } void IMAPwrapper::listMessages(const QString&mailbox,Maillist&target ) { const char *server, *user, *pass, *mb; uint16_t port; int err = MAILIMAP_NO_ERROR; clist *result; clistcell *current; mailimap_fetch_att *fetchAtt,*fetchAttFlags,*fetchAttDate; mailimap_fetch_type *fetchType; mailimap_set *set; mb = mailbox.latin1(); server = account->getServer().latin1(); port = account->getPort().toUInt(); user = account->getUser().latin1(); pass = account->getPassword().latin1(); mailimap *imap = mailimap_new( 20, &imap_progress ); if ( imap == NULL ) { qDebug("IMAP Memory error"); diff --git a/noncore/net/mail/imapwrapper.h b/noncore/net/mail/imapwrapper.h new file mode 100644 index 0000000..65c36e0 --- a/dev/null +++ b/noncore/net/mail/imapwrapper.h @@ -0,0 +1,25 @@ +#ifndef __IMAPWRAPPER +#define __IMAPWRAPPER + +#include "mailwrapper.h" +#include <libetpan/mailimap.h> + +class IMAPwrapper : public QObject +{ + Q_OBJECT + +public: + IMAPwrapper( IMAPaccount *a ); + QList<IMAPFolder>* listFolders(); + void listMessages(const QString & mailbox,Maillist&target ); + QString fetchBody(const QString & mailbox,const RecMail&mail); + +protected: + RecMail*parse_list_result(mailimap_msg_att*); + +private: + IMAPaccount *account; + +}; + +#endif diff --git a/noncore/net/mail/libmailwrapper/imapwrapper.cpp b/noncore/net/mail/libmailwrapper/imapwrapper.cpp index fc12947..7b78499 100644 --- a/noncore/net/mail/libmailwrapper/imapwrapper.cpp +++ b/noncore/net/mail/libmailwrapper/imapwrapper.cpp @@ -1,36 +1,36 @@ #include <stdlib.h> -#include "mailwrapper.h" +#include "imapwrapper.h" IMAPwrapper::IMAPwrapper( IMAPaccount *a ) { account = a; } void imap_progress( size_t current, size_t maximum ) { qDebug( "IMAP: %i of %i", current, maximum ); } void IMAPwrapper::listMessages(const QString&mailbox,Maillist&target ) { const char *server, *user, *pass, *mb; uint16_t port; int err = MAILIMAP_NO_ERROR; clist *result; clistcell *current; mailimap_fetch_att *fetchAtt,*fetchAttFlags,*fetchAttDate; mailimap_fetch_type *fetchType; mailimap_set *set; mb = mailbox.latin1(); server = account->getServer().latin1(); port = account->getPort().toUInt(); user = account->getUser().latin1(); pass = account->getPassword().latin1(); mailimap *imap = mailimap_new( 20, &imap_progress ); if ( imap == NULL ) { qDebug("IMAP Memory error"); diff --git a/noncore/net/mail/libmailwrapper/imapwrapper.h b/noncore/net/mail/libmailwrapper/imapwrapper.h new file mode 100644 index 0000000..65c36e0 --- a/dev/null +++ b/noncore/net/mail/libmailwrapper/imapwrapper.h @@ -0,0 +1,25 @@ +#ifndef __IMAPWRAPPER +#define __IMAPWRAPPER + +#include "mailwrapper.h" +#include <libetpan/mailimap.h> + +class IMAPwrapper : public QObject +{ + Q_OBJECT + +public: + IMAPwrapper( IMAPaccount *a ); + QList<IMAPFolder>* listFolders(); + void listMessages(const QString & mailbox,Maillist&target ); + QString fetchBody(const QString & mailbox,const RecMail&mail); + +protected: + RecMail*parse_list_result(mailimap_msg_att*); + +private: + IMAPaccount *account; + +}; + +#endif diff --git a/noncore/net/mail/libmailwrapper/mailwrapper.h b/noncore/net/mail/libmailwrapper/mailwrapper.h index f45eab7..955a8e2 100644 --- a/noncore/net/mail/libmailwrapper/mailwrapper.h +++ b/noncore/net/mail/libmailwrapper/mailwrapper.h @@ -1,41 +1,40 @@ #ifndef MAILWRAPPER_H #define MAILWRAPPER_H #include <qpe/applnk.h> #include <libetpan/mailmime.h> #include <libetpan/mailimf.h> #include <libetpan/mailsmtp.h> -#include <libetpan/mailimap.h> #include <libetpan/mailstorage.h> #include <libetpan/maildriver.h> #include <qbitarray.h> #include <qdatetime.h> #include "settings.h" class Attachment { public: Attachment( DocLnk lnk ); virtual ~Attachment(){} const QString getFileName()const{ return doc.file(); } const QString getName()const{ return doc.name(); } const QString getMimeType()const{ return doc.type(); } const QPixmap getPixmap()const{ return doc.pixmap(); } const int getSize()const { return size; } DocLnk getDocLnk() { return doc; } protected: DocLnk doc; int size; }; #define FLAG_ANSWERED 0 #define FLAG_FLAGGED 1 #define FLAG_DELETED 2 #define FLAG_SEEN 3 #define FLAG_DRAFT 4 #define FLAG_RECENT 5 @@ -133,51 +132,33 @@ class IMAPFolder : public Folder }; class MailWrapper : public QObject { Q_OBJECT public: MailWrapper( Settings *s ); void sendMail( Mail mail ); private: mailimf_mailbox *newMailbox(const QString&name,const QString&mail ); mailimf_address_list *parseAddresses(const QString&addr ); mailimf_fields *createImfFields( Mail *mail ); mailmime *buildTxtPart( QString str ); mailmime *buildFilePart( QString filename, QString mimetype ); void addFileParts( mailmime *message, QList<Attachment> files ); mailmime *createMimeMail( Mail *mail ); void smtpSend( mailmime *mail ); mailimf_field *getField( mailimf_fields *fields, int type ); clist *createRcptList( mailimf_fields *fields ); char *getFrom( mailmime *mail ); SMTPaccount *getAccount( QString from ); void writeToFile( QString file, mailmime *mail ); void readFromFile( QString file, char **data, size_t *size ); static QString mailsmtpError( int err ); static QString getTmpFile(); Settings *settings; }; -class IMAPwrapper : public QObject -{ - Q_OBJECT - -public: - IMAPwrapper( IMAPaccount *a ); - QList<IMAPFolder>* listFolders(); - void listMessages(const QString & mailbox,Maillist&target ); - QString fetchBody(const QString & mailbox,const RecMail&mail); - -protected: - RecMail*parse_list_result(mailimap_msg_att*); - -private: - IMAPaccount *account; - -}; - #endif diff --git a/noncore/net/mail/mail.pro b/noncore/net/mail/mail.pro index 46a476d..2142cdc 100644 --- a/noncore/net/mail/mail.pro +++ b/noncore/net/mail/mail.pro @@ -1,39 +1,40 @@ CONFIG += qt warn_on debug quick-app HEADERS = defines.h \ logindialog.h \ settings.h \ editaccounts.h \ mailwrapper.h \ composemail.h \ accountview.h \ mainwindow.h \ - opiemail.h + opiemail.h \ + imapwrapper.h SOURCES = main.cpp \ opiemail.cpp \ mainwindow.cpp \ accountview.cpp \ composemail.cpp \ mailwrapper.cpp \ imapwrapper.cpp \ addresspicker.cpp \ editaccounts.cpp \ logindialog.cpp \ settings.cpp INTERFACES = editaccountsui.ui \ selectmailtypeui.ui \ imapconfigui.ui \ pop3configui.ui \ nntpconfigui.ui \ smtpconfigui.ui \ addresspickerui.ui \ logindialogui.ui \ composemailui.ui INCLUDEPATH += $(OPIEDIR)/include LIBS += -lqpe -lopie -letpan -lssl -lcrypto -ldb TARGET = opiemail include ( $(OPIEDIR)/include.pro ) diff --git a/noncore/net/mail/mailwrapper.h b/noncore/net/mail/mailwrapper.h index f45eab7..955a8e2 100644 --- a/noncore/net/mail/mailwrapper.h +++ b/noncore/net/mail/mailwrapper.h @@ -1,41 +1,40 @@ #ifndef MAILWRAPPER_H #define MAILWRAPPER_H #include <qpe/applnk.h> #include <libetpan/mailmime.h> #include <libetpan/mailimf.h> #include <libetpan/mailsmtp.h> -#include <libetpan/mailimap.h> #include <libetpan/mailstorage.h> #include <libetpan/maildriver.h> #include <qbitarray.h> #include <qdatetime.h> #include "settings.h" class Attachment { public: Attachment( DocLnk lnk ); virtual ~Attachment(){} const QString getFileName()const{ return doc.file(); } const QString getName()const{ return doc.name(); } const QString getMimeType()const{ return doc.type(); } const QPixmap getPixmap()const{ return doc.pixmap(); } const int getSize()const { return size; } DocLnk getDocLnk() { return doc; } protected: DocLnk doc; int size; }; #define FLAG_ANSWERED 0 #define FLAG_FLAGGED 1 #define FLAG_DELETED 2 #define FLAG_SEEN 3 #define FLAG_DRAFT 4 #define FLAG_RECENT 5 @@ -133,51 +132,33 @@ class IMAPFolder : public Folder }; class MailWrapper : public QObject { Q_OBJECT public: MailWrapper( Settings *s ); void sendMail( Mail mail ); private: mailimf_mailbox *newMailbox(const QString&name,const QString&mail ); mailimf_address_list *parseAddresses(const QString&addr ); mailimf_fields *createImfFields( Mail *mail ); mailmime *buildTxtPart( QString str ); mailmime *buildFilePart( QString filename, QString mimetype ); void addFileParts( mailmime *message, QList<Attachment> files ); mailmime *createMimeMail( Mail *mail ); void smtpSend( mailmime *mail ); mailimf_field *getField( mailimf_fields *fields, int type ); clist *createRcptList( mailimf_fields *fields ); char *getFrom( mailmime *mail ); SMTPaccount *getAccount( QString from ); void writeToFile( QString file, mailmime *mail ); void readFromFile( QString file, char **data, size_t *size ); static QString mailsmtpError( int err ); static QString getTmpFile(); Settings *settings; }; -class IMAPwrapper : public QObject -{ - Q_OBJECT - -public: - IMAPwrapper( IMAPaccount *a ); - QList<IMAPFolder>* listFolders(); - void listMessages(const QString & mailbox,Maillist&target ); - QString fetchBody(const QString & mailbox,const RecMail&mail); - -protected: - RecMail*parse_list_result(mailimap_msg_att*); - -private: - IMAPaccount *account; - -}; - #endif |