kitchensync
clientthread.cpp00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include <qobject.h>
00023 #include <qapplication.h>
00024 #include <qthread.h>
00025
00026 #include <kdebug.h>
00027
00028 #include <error.h>
00029 #include <progress.h>
00030
00031 #include "clientthread.h"
00032
00033 using namespace Threaded;
00034
00038 ClientThread::ClientThread( QObject* reciver )
00039 : QObject( 0, "Threaded test konnector" )
00040 {
00041 mReciver = reciver;
00042 mCancel = false;
00043 }
00044
00048 ClientThread::~ClientThread()
00049 {
00050 }
00051
00056 void ClientThread::run()
00057 {
00058
00059 for (;;) {
00060 mWait.wait( &mLock );
00061 mCancel = false;
00062 switch ( mCommand ) {
00063 case Connect:
00064 kdDebug() << "################################### Connect" << endl;
00065 finished();
00066 break;
00067 case Disconnect:
00068 kdDebug() << "################################### Disconnect" << endl;
00069 finished();
00070 break;
00071 case ReadSyncees:
00072 kdDebug() << "################################### ReadSyncee" << endl;
00073 finished();
00074 break;
00075 case WriteSyncees:
00076 kdDebug() << "################################### WriteSyncee" << endl;
00077 finished();
00078 break;
00079 default:
00080
00081 QApplication::postEvent( mReciver, new QCustomEvent( TerminatedEvent ) );
00082 return;
00083 }
00084 }
00085 }
00086
00090 void ClientThread::finished()
00091 {
00092
00093 QApplication::postEvent( mReciver, new QCustomEvent( FinishedEvent ) );
00094 }
00095
00099 void ClientThread::error( const KSync::Error* e )
00100 {
00101
00102 QCustomEvent* ce = new QCustomEvent( ErrorEvent );
00103 ce->setData( (void *)e );
00104 QApplication::postEvent( mReciver, ce );
00105 }
00106
00110 void ClientThread::progress( const KSync::Progress* p )
00111 {
00112
00113 QCustomEvent* ce = new QCustomEvent( ProgressEvent );
00114 ce->setData( (void *)p );
00115 QApplication::postEvent( mReciver, ce );
00116 }
00117 #include "clientthread.moc"
|