lxconnectionreal.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_LXCONNECTIONREAL_H
00012 #define _GEDDEI_LXCONNECTIONREAL_H
00013 
00014 #ifdef __GEDDEI_BUILD
00015 #include "lxconnection.h"
00016 #else
00017 #include <geddei/lxconnection.h>
00018 #endif
00019 using namespace Geddei;
00020 
00021 namespace Geddei
00022 {
00023 
00024 class Source;
00025 
00035 class LxConnectionReal: public LxConnection
00036 {
00037  uint theLastElementsFree;
00038 
00039  //* Reimplementation from LxConnection
00040  virtual void push(const BufferData &data);
00041 
00042 protected:
00048  friend class Processor;
00049 
00053  virtual void bufferWaitForFree() = 0;
00054 
00059  virtual const uint bufferElementsFree() = 0;
00060 
00064  virtual void transport(const BufferData &data) = 0;
00065 
00069  LxConnectionReal(Source *source, const uint sourceIndex) : LxConnection(source, sourceIndex), theLastElementsFree(0) {}
00070 
00074 // ~LxConnectionReal() {}
00075 };
00076 
00077 };
00078 
00079 #endif

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