00001
00002
00003
00004
00005 #ifndef __SOUNDDATASENDER_H__
00006 #define __SOUNDDATASENDER_H__
00007
00008 #ifndef __ProcessFramework_h__
00009 #error Never include this file directly. Include ProcessFramework.h instead.
00010 #endif
00011
00012 #include "Platform/ProcessFramework.h"
00013 #include "Representations/Sound/SoundData.h"
00014 #include <OPENR/OPENRAPI.h>
00015
00016
00017
00018
00019 class SoundDataSender : public SenderBase<SoundData>
00020 {
00021 private:
00022 MemoryRegionID memID[2];
00023 OSoundVectorData* soundVec[2];
00024 RCRegion* package[2];
00025 int index;
00026
00027
00028
00029
00030
00031 void prepare(int i);
00032
00033 protected:
00034
00035
00036
00037 virtual void preparePackage();
00038
00039
00040
00041
00042
00043 virtual void setPackage(const ObserverID& receiver);
00044
00045
00046
00047
00048 virtual void freePackage();
00049
00050 public:
00051
00052
00053
00054
00055
00056
00057 SoundDataSender(PlatformProcess* process,bool blocking);
00058
00059
00060
00061
00062 ~SoundDataSender();
00063 };
00064
00065
00066
00067
00068
00069 #define SENDER_SOUNDDATA \
00070 SoundDataSender theSoundDataSender
00071
00072
00073
00074
00075
00076
00077 #define INIT_SENDER_SOUNDDATA(blocking) \
00078 theSoundDataSender(this,blocking)
00079
00080 #endif