rlconnection.h

00001 /***************************************************************************
00002  *   Copyright (C) 2003 by Gav Wood                                        *
00003  *   gav@cs.york.ac.uk                                                     *
00004  *                                                                         *
00005  *   This program is free software; you can redistribute it and/or modify  *
00006  *   it under the terms of the GNU Library General Public License as       *
00007  *   published by the Free Software Foundation; either version 2 of the    *
00008  *   License, or (at your option) any later version.                       *
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  //* Reimplementation from QThread.
00052  virtual void run();
00053 
00054  //* Reimplementation from xLConnection.
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

Generated on Fri Nov 10 21:58:26 2006 for Exscalibar by  doxygen 1.5.1