00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef _GEDDEI_RLCONNECTION_H
00012 #define _GEDDEI_RLCONNECTION_H
00013
00014 #include <qthread.h>
00015 #include <qmutex.h>
00016
00017 #ifdef __GEDDEI_BUILD
00018 #include "qfastwaitcondition.h"
00019 #include "qsocketsession.h"
00020 #include "xlconnectionreal.h"
00021 #else
00022 #include <qtextra/qfastwaitcondition.h>
00023 #include <qtextra/qsocketsession.h>
00024 #include <geddei/xlconnectionreal.h>
00025 #endif
00026 using namespace Geddei;
00027
00028 class QSocketDevice;
00029
00030 namespace Geddei
00031 {
00032
00033 class Processor;
00034
00044 class RLConnection: public xLConnectionReal, protected QThread
00045 {
00046 bool theBeingDeleted, theHaveType;
00047 QSocketSession theSource;
00048 QFastWaitCondition theGotType;
00049 QMutex theGotTypeM;
00050
00051
00052 virtual void run();
00053
00054
00055 virtual const bool pullType();
00056
00057 public:
00061 RLConnection(QSocketDevice *sourceSocketDevice, Sink *newSink, int newSinkIndex, uint bufferSize);
00062
00066 ~RLConnection();
00067 };
00068
00069 }
00070
00071 #endif