xscoupling.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_XSCOUPLING_H
00012 #define _GEDDEI_XSCOUPLING_H
00013 
00014 #ifdef __GEDDEI_BUILD
00015 #include "xxcoupling.h"
00016 #include "bufferdatas.h"
00017 #else
00018 #include <geddei/xxcoupling.h>
00019 #include <geddei/bufferdatas.h>
00020 #endif
00021 
00022 namespace Geddei
00023 {
00024 
00025 class SubProcessor;
00026 class Properties;
00027 class SignalTypeRefs;
00028 class RSCoupling; // hack around, because mixins aren't used for the remote versions.
00029 
00034 class xSCoupling : virtual public xxCoupling
00035 {
00036  SubProcessor *theSubProc;
00037 
00038  // Reimplementations from xxCoupling
00039  friend class RSCoupling;
00040  virtual void go();
00041  virtual void stop();
00042  virtual void stoppingR();
00043  virtual void stoppedR();
00044  virtual void specifyTypes(const SignalTypeRefs &inTypes, const SignalTypeRefs &outTypes);
00045  virtual void initFromProperties(const Properties &p);
00046  virtual void transact(const BufferDatas &d, const uint chunks);
00047  virtual BufferDatas deliverResults(uint *timeTaken);
00048  virtual void defineIO(const uint inputs, const uint outputs);
00049 
00050 protected:
00051 
00058  xSCoupling(SubProcessor *subProc);
00059 
00063  virtual ~xSCoupling();
00064 };
00065 
00066 }
00067 
00068 #endif

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