00001
00002
00003
00004
00005
00006
00007
00008
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;
00029
00034 class xSCoupling : virtual public xxCoupling
00035 {
00036 SubProcessor *theSubProc;
00037
00038
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