#include <popaccount.h>

Inherits KMail::NetworkAccount.

Public Member Functions

virtual void init (void)
 
virtual KIO::MetaData slaveConfig () const
 
virtual void pseudoAssign (const KMAccount *a)
 
virtual TQString protocol () const
 
virtual unsigned short int defaultPort () const
 
bool usePipelining (void) const
 
virtual void setUsePipelining (bool)
 
bool leaveOnServer (void) const
 
virtual void setLeaveOnServer (bool)
 
int leaveOnServerDays (void) const
 
virtual void setLeaveOnServerDays (int)
 
int leaveOnServerCount (void) const
 
virtual void setLeaveOnServerCount (int)
 
int leaveOnServerSize (void) const
 
virtual void setLeaveOnServerSize (int)
 
bool filterOnServer (void) const
 
virtual void setFilterOnServer (bool)
 
unsigned int filterOnServerCheckSize (void) const
 
virtual void setFilterOnServerCheckSize (unsigned int)
 
virtual TQString type (void) const
 
virtual void readConfig (KConfig &)
 
virtual void writeConfig (KConfig &)
 
virtual void processNewMail (bool _interactive)
 
virtual void killAllJobs (bool disconnectSlave=false)
 
- Public Member Functions inherited from KMail::NetworkAccount
virtual void init ()
 
virtual void pseudoAssign (const KMAccount *a)
 
TQString login () const
 
virtual void setLogin (const TQString &login)
 
TQString passwd () const
 
virtual void setPasswd (const TQString &passwd, bool storeInConfig=false)
 
virtual void clearPasswd ()
 
TQString auth () const
 
virtual void setAuth (const TQString &auth)
 
bool storePasswd () const
 
virtual void setStorePasswd (bool store)
 
TQString host () const
 
virtual void setHost (const TQString &host)
 
unsigned short int port () const
 
virtual void setPort (unsigned short int port)
 
bool useSSL () const
 
virtual void setUseSSL (bool use)
 
bool useTLS () const
 
virtual void setUseTLS (bool use)
 
KMail::SieveConfig sieveConfig () const
 
virtual void setSieveConfig (const KMail::SieveConfig &config)
 
virtual KIO::MetaData slaveConfig () const
 
virtual void readConfig (KConfig &config)
 
virtual void writeConfig (KConfig &config)
 
virtual KURL getUrl () const
 
KIO::Slave * slave () const
 
virtual void killAllJobs (bool disconnectSlave=false)=0
 
void readPassword ()
 
virtual bool mailCheckCanProceed () const
 
virtual void setCheckingMail (bool checking)
 
- Public Member Functions inherited from KMAccount
virtual TQString type () const
 
virtual void setName (const TQString &)
 
virtual TQString name () const
 
virtual void clearPasswd ()
 
virtual void init ()
 
virtual void pseudoAssign (const KMAccount *a)
 
KMFolderfolder (void) const
 
virtual void setFolder (KMFolder *, bool addAccount=false)
 
TQString trash () const
 
virtual void setTrash (const TQString &aTrash)
 
virtual void processNewMail (bool interactive)=0
 
virtual void readConfig (KConfig &config)
 
void readTimerConfig ()
 
virtual void writeConfig (KConfig &config)
 
virtual void setCheckInterval (int aInterval)
 
int checkInterval () const
 
int defaultCheckInterval (void) const
 
void deleteFolderJobs ()
 
virtual void ignoreJobsForMessage (KMMessage *)
 
virtual void setCheckExclude (bool aExclude)
 
bool checkExclude (void) const
 
const TQString & precommand (void) const
 
virtual void setPrecommand (const TQString &cmd)
 
bool runPrecommand (const TQString &precommand)
 
bool hasInbox () const
 
virtual void setHasInbox (bool has)
 
virtual void invalidateIMAPFolders ()
 
virtual bool mailCheckCanProceed () const
 
bool checkingMail ()
 
virtual void setCheckingMail (bool checking)
 
void checkDone (bool newMail, CheckStatus status)
 
virtual void cancelMailCheck ()
 
ProgressItem * mailCheckProgressItem () const
 
void setIdentityId (uint identityId)
 
uint identityId () const
 

Protected Types

enum  Stage {
  Idle, List, Uidl, Head,
  Retr, Dele, Quit
}
 

Protected Slots

void slotProcessPendingMsgs ()
 
void slotGetNextMsg ()
 
void slotMsgRetrieved (KIO::Job *, const TQString &)
 
void slotData (KIO::Job *, const TQByteArray &)
 
void slotResult (KIO::Job *)
 
void slotCancel ()
 
void slotAbortRequested ()
 
void slotJobFinished ()
 
void slotSlaveError (KIO::Slave *, int, const TQString &)
 
void slotGetNextHdr ()
 

Protected Member Functions

 PopAccount (AccountManager *owner, const TQString &accountName, uint id)
 
void startJob ()
 
void connectJob ()
 
void processRemainingQueuedMessages ()
 
void saveUidList ()
 
- Protected Member Functions inherited from KMail::NetworkAccount
 NetworkAccount (AccountManager *parent, const TQString &name, uint id)
 
virtual TQString protocol () const =0
 
virtual unsigned short int defaultPort () const =0
 
- Protected Member Functions inherited from KMAccount
 KMAccount (AccountManager *owner, const TQString &accountName, uint id)
 
virtual bool processNewMsg (KMMessage *msg)
 
virtual void sendReceipt (KMMessage *msg)
 
virtual void installTimer ()
 
virtual void deinstallTimer ()
 
void addToNewInFolder (TQString folderId, int num)
 

Protected Attributes

bool mUsePipelining
 
bool mLeaveOnServer
 
int mLeaveOnServerDays
 
int mLeaveOnServerCount
 
int mLeaveOnServerSize
 
bool gotMsgs
 
bool mFilterOnServer
 
unsigned int mFilterOnServerCheckSize
 
KIO::SimpleJob * job
 
TQMap< TQString, int > mMsgsPendingDownload
 
TQPtrList< KMPopHeaders > headersOnServer
 
TQPtrListIterator< KMPopHeaders > headerIt
 
bool headers
 
TQMap< TQString, bool > mHeaderDeleteUids
 
TQMap< TQString, bool > mHeaderDownUids
 
TQMap< TQString, bool > mHeaderLaterUids
 
TQStringList idsOfMsgs
 
TQValueList< int > lensOfMsgs
 
TQMap< TQString, TQString > mUidForIdMap
 
TQDict< int > mUidsOfSeenMsgsDict
 
TQDict< int > mUidsOfNextSeenMsgsDict
 
TQValueVector< int > mTimeOfSeenMsgsVector
 
TQMap< TQString, int > mTimeOfNextSeenMsgsMap
 
TQDict< int > mSizeOfNextSeenMsgsDict
 
TQStringList idsOfMsgsToDelete
 
TQStringList idsOfForcedDeletes
 
int indexOfCurrentMsg
 
TQValueList< KMMessage * > msgsAwaitingProcessing
 
TQStringList msgIdsAwaitingProcessing
 
TQStringList msgUidsAwaitingProcessing
 
TQByteArray curMsgData
 
TQDataStream * curMsgStrm
 
int curMsgLen
 
Stage stage
 
TQTimer processMsgsTimer
 
int processingDelay
 
int numMsgs
 
int numBytes
 
int numBytesToRead
 
int numBytesRead
 
int numMsgBytesRead
 
bool interactive
 
bool mProcessing
 
bool mUidlFinished
 
int dataCounter
 
- Protected Attributes inherited from KMail::NetworkAccount
KMail::SieveConfig mSieveConfig
 
TQGuardedPtr< KIO::Slave > mSlave
 
TQString mLogin
 
TQString mPasswd
 
TQString mAuth
 
TQString mHost
 
unsigned short int mPort
 
bool mStorePasswd: 1
 
bool mUseSSL: 1
 
bool mUseTLS: 1
 
bool mAskAgain: 1
 
bool mPasswdDirty
 
bool mStorePasswdInConfig
 
- Protected Attributes inherited from KMAccount
TQString mPrecommand
 
TQString mTrash
 
AccountManagermOwner
 
TQGuardedPtr< KMAcctFoldermFolder
 
TQTimer * mTimer
 
int mInterval
 
bool mExclude
 
bool mCheckingMail: 1
 
bool mPrecommandSuccess
 
TQValueList< KMMessage * > mReceipts
 
TQPtrList< FolderJob > mJobList
 
bool mHasInbox: 1
 
TQGuardedPtr< ProgressItem > mMailCheckProgressItem
 
uint mIdentityId
 

Friends

class ::AccountManager
 

Additional Inherited Members

- Public Types inherited from KMAccount
enum  CheckStatus {
  CheckOK, CheckIgnored, CheckCanceled, CheckAborted,
  CheckError
}
 
- Signals inherited from KMAccount
virtual void finishedCheck (bool newMail, CheckStatus status)
 
virtual void newMailsProcessed (const TQMap< TQString, int > &newInFolder)
 
- Static Public Member Functions inherited from KMail::NetworkAccount
static void resetConnectionList (NetworkAccount *acct)
 
- Static Public Attributes inherited from KMAccount
static const int DefaultCheckInterval = 5
 

Detailed Description

KMail account for pop mail account.

Definition at line 28 of file popaccount.h.

Member Function Documentation

void KMail::PopAccount::connectJob ( )
protected

Connect up the standard signals/slots for the KIO Jobs.

Definition at line 287 of file popaccount.cpp.

bool KMail::PopAccount::filterOnServer ( void  ) const
inline

Shall messages be filter on the server (TRUE) or not (FALSE).

Definition at line 79 of file popaccount.h.

unsigned int KMail::PopAccount::filterOnServerCheckSize ( void  ) const
inline

Size of messages which should be check on the pop server before download.

Definition at line 86 of file popaccount.h.

bool KMail::PopAccount::leaveOnServer ( void  ) const
inline

Shall messages be left on the server upon retreival (TRUE) or deleted (FALSE).

Definition at line 54 of file popaccount.h.

int KMail::PopAccount::leaveOnServerCount ( void  ) const
inline

If value is positive, leave so many messages on the server.

Definition at line 66 of file popaccount.h.

int KMail::PopAccount::leaveOnServerDays ( void  ) const
inline

If value is positive, leave mail on the server for so many days.

Definition at line 60 of file popaccount.h.

int KMail::PopAccount::leaveOnServerSize ( void  ) const
inline

If value is positive, leave so many MBs on the server.

Definition at line 72 of file popaccount.h.

void KMail::PopAccount::processRemainingQueuedMessages ( )
protected

Process any queued messages.

Definition at line 815 of file popaccount.cpp.

void KMail::PopAccount::pseudoAssign ( const KMAccount *  a)
virtual

A weak assignment operator.

Definition at line 128 of file popaccount.cpp.

void KMail::PopAccount::saveUidList ( )
protected

Save the list of seen uids for this user/server.

Definition at line 829 of file popaccount.cpp.

void KMail::PopAccount::slotAbortRequested ( )
protectedslot

Kills the job if still stage == List.

Definition at line 352 of file popaccount.cpp.

void KMail::PopAccount::slotCancel ( )
protectedslot

Cleans up after a user cancels the current job.

Definition at line 299 of file popaccount.cpp.

void KMail::PopAccount::slotData ( KIO::Job *  job,
const TQByteArray &  data 
)
protectedslot

New data has arrived append it to the end of the current message.

Definition at line 877 of file popaccount.cpp.

void KMail::PopAccount::slotGetNextHdr ( )
protectedslot

If there are more headers to be downloaded then start a new kio job to get the next header.

Definition at line 1071 of file popaccount.cpp.

void KMail::PopAccount::slotGetNextMsg ( )
protectedslot

If there are more messages to be downloaded then start a new kio job to get the message whose id is at the head of the queue.

Definition at line 854 of file popaccount.cpp.

void KMail::PopAccount::slotJobFinished ( )
protectedslot

Called when a job is finished.

Basically a finite state machine for cycling through the Idle, List, Uidl, Retr, Quit stages

Definition at line 476 of file popaccount.cpp.

void KMail::PopAccount::slotMsgRetrieved ( KIO::Job *  ,
const TQString &  infoMsg 
)
protectedslot

A messages has been retrieved successfully.

The next data belongs to the next message.

Definition at line 444 of file popaccount.cpp.

void KMail::PopAccount::slotProcessPendingMsgs ( )
protectedslot

Messages are downloaded in the background and then once every x seconds a batch of messages are processed.

Messages are processed in batches to reduce flicker (multiple refreshes of the qlistview of messages headers in a single second causes flicker) when using a fast pop server such as one on a lan.

Processing a message means applying KMAccount::processNewMsg to it and adding its UID to the list of seen UIDs

Definition at line 309 of file popaccount.cpp.

void KMail::PopAccount::slotResult ( KIO::Job *  )
protectedslot

Finished downloading the current kio job, either due to an error or because the job has been canceled or because the complete message has been downloaded.

Definition at line 1015 of file popaccount.cpp.

void KMail::PopAccount::slotSlaveError ( KIO::Slave *  aSlave,
int  error,
const TQString &  errorMsg 
)
protectedslot

Slave error handling.

Definition at line 1044 of file popaccount.cpp.

void KMail::PopAccount::startJob ( )
protected

Start a KIO Job to get a list of messages on the pop server.

Definition at line 367 of file popaccount.cpp.

TQString KMail::PopAccount::type ( void  ) const
virtual

Inherited methods.

Definition at line 99 of file popaccount.cpp.

bool KMail::PopAccount::usePipelining ( void  ) const
inline

Sending of several commands at once.

Definition at line 47 of file popaccount.h.


The documentation for this class was generated from the following files: