4 #include "networkaccount.h"
6 #include <tqvaluelist.h>
7 #include <tqstringlist.h>
8 #include <tqvaluevector.h>
33 virtual void init(
void);
35 virtual TDEIO::MetaData slaveConfig()
const;
40 virtual TQString protocol()
const;
41 virtual unsigned short int defaultPort()
const;
47 virtual void setUsePipelining(
bool);
54 virtual void setLeaveOnServer(
bool);
60 virtual void setLeaveOnServerDays(
int);
66 virtual void setLeaveOnServerCount(
int);
72 virtual void setLeaveOnServerSize(
int);
79 virtual void setFilterOnServer(
bool);
86 virtual void setFilterOnServerCheckSize(
unsigned int);
91 virtual TQString
type(
void)
const;
92 virtual void readConfig(TDEConfig&);
93 virtual void writeConfig(TDEConfig&);
94 virtual void processNewMail(
bool _interactive);
96 virtual void killAllJobs(
bool disconnectSlave=
false );
99 enum Stage { Idle, List, Uidl, Head, Retr, Dele, Quit };
100 friend class ::AccountManager;
101 PopAccount(
AccountManager* owner,
const TQString& accountName, uint
id);
125 int mLeaveOnServerDays;
126 int mLeaveOnServerCount;
127 int mLeaveOnServerSize;
129 bool mFilterOnServer;
130 unsigned int mFilterOnServerCheckSize;
132 TDEIO::SimpleJob *job;
134 TQMap<TQString, int> mMsgsPendingDownload;
136 TQPtrList<KMPopHeaders> headersOnServer;
137 TQPtrListIterator<KMPopHeaders> headerIt;
140 TQMap<TQString, bool> mHeaderDeleteUids;
141 TQMap<TQString, bool> mHeaderDownUids;
142 TQMap<TQString, bool> mHeaderLaterUids;
144 TQStringList idsOfMsgs;
145 TQValueList<int> lensOfMsgs;
146 TQMap<TQString, TQString> mUidForIdMap;
147 TQDict<int> mUidsOfSeenMsgsDict;
148 TQDict<int> mUidsOfNextSeenMsgsDict;
149 TQValueVector<int> mTimeOfSeenMsgsVector;
150 TQMap<TQString, int> mTimeOfNextSeenMsgsMap;
151 TQDict<int> mSizeOfNextSeenMsgsDict;
152 TQStringList idsOfMsgsToDelete;
153 TQStringList idsOfForcedDeletes;
154 int indexOfCurrentMsg;
156 TQValueList<KMMessage*> msgsAwaitingProcessing;
157 TQStringList msgIdsAwaitingProcessing;
158 TQStringList msgUidsAwaitingProcessing;
160 TQByteArray curMsgData;
161 TQDataStream *curMsgStrm;
165 TQTimer processMsgsTimer;
167 int numMsgs, numBytes, numBytesToRead, numBytesRead, numMsgBytesRead;
201 void slotData( TDEIO::Job*,
const TQByteArray &);