kitchensync
clientthread.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef CLIENTTHREAD_H
00023 #define CLIENTTHREAD_H
00024
00025 #include <qobject.h>
00026 #include <qapplication.h>
00027 #include <qthread.h>
00028 #include <qmutex.h>
00029 #include <qwaitcondition.h>
00030
00031 #include <synceelist.h>
00032 #include <error.h>
00033 #include <progress.h>
00034
00035 namespace Threaded {
00036
00044 class ClientThread
00045 : public QObject {
00046 Q_OBJECT;
00047 public:
00051 enum { TerminatedEvent = 46666,
00052 FinishedEvent = TerminatedEvent+1,
00053 ErrorEvent = TerminatedEvent+2,
00054 ProgressEvent = TerminatedEvent+3
00055 };
00059 enum Command {
00060 Connect,
00061 Disconnect,
00062 ReadSyncees,
00063 WriteSyncees,
00064 TerminateThread
00065 };
00066
00070 ClientThread( QObject* );
00074 ~ClientThread();
00075
00080 void run();
00081
00082 private:
00086 void finished();
00090 void error( const KSync::Error* );
00094 void progress( const KSync::Progress* );
00095
00099 QObject* mReciver;
00103 Command mCommand;
00107 KSync::SynceeList mSynceeList;
00108
00112 QMutex mLock;
00116 QWaitCondition mWait;
00120 bool mCancel;
00121
00125 friend class ClientManager;
00126 };
00127
00128 }
00129
00130 #endif
|