25 #ifndef AAX_CPACKETDISPATCHER_H
26 #define AAX_CPACKETDISPATCHER_H
50 template<
typename DataType>
53 mDataSize =
sizeof(DataType);
54 void * data = mPacketData.Get(mDataSize);
55 return reinterpret_cast<DataType*
> (data);
58 void SetDirty(
bool iDirty) { mDirty = iDirty; };
62 uint32_t
GetSize()
const {
return mDataSize; }
75 const void* Get()
const;
76 void* Get(
size_t newSize)
const;
87 return mPacketData.Get();
102 template<
class TWorker>
154 typedef std::map<AAX_CFieldIndex, AAX_CPacket*> PacketsHolder;
155 typedef std::multimap<std::string, std::pair<AAX_CPacket*, AAX_IPacketHandler*> > PacketsHandlersMap;
165 template <
class TWorker,
typename Func>
167 TWorker* iPt2Object, Func infPt)
186 PacketsHolder mPacketsHolder;
187 PacketsHandlersMap mPacketsHandlers;
195 #endif // AAX_CPACKETDISPATCHER_H
AAX_Result RegisterPacket(AAX_CParamID paramID, AAX_CFieldIndex portID)
Definition: AAX_CPacketDispatcher.h:173
Mutex with try lock functionality.
Definition: AAX_CMutex.h:29
TWorker * pt2Object
Definition: AAX_CPacketDispatcher.h:131
void SetDirty(bool iDirty)
Definition: AAX_CPacketDispatcher.h:58
Various utility definitions for AAX.
AAX_IPacketHandler * Clone() const
Definition: AAX_CPacketDispatcher.h:115
DataType * GetPtr()
Definition: AAX_CPacketDispatcher.h:51
AAX_Result RegisterPacket(AAX_CParamID paramID, AAX_CFieldIndex portID, TWorker *iPt2Object, Func infPt)
Definition: AAX_CPacketDispatcher.h:166
Container for packet-related data.
Definition: AAX_CPacketDispatcher.h:44
Definition: AAX_Errors.h:37
AAX_CPacketHandler(TWorker *iPt2Object, fPt2Fn infPt)
Definition: AAX_CPacketDispatcher.h:109
AAX_CPacketHandler(TWorker *iPt2Object, fPt2FnEx infPt)
Definition: AAX_CPacketDispatcher.h:112
~AAX_CPacket()
Definition: AAX_CPacketDispatcher.h:48
Callback container used by AAX_CPacketDispatcher.
Definition: AAX_CPacketDispatcher.h:93
virtual AAX_IPacketHandler * Clone() const =0
Interface for the AAX host's view of a single instance of an effect.
virtual ~AAX_IPacketHandler()
Definition: AAX_CPacketDispatcher.h:95
AAX_CFieldIndex GetID() const
Definition: AAX_CPacketDispatcher.h:61
bool IsDirty() const
Definition: AAX_CPacketDispatcher.h:59
AAX_Result RegisterPacket(AAX_CParamID paramID, AAX_CFieldIndex portID, const AAX_IPacketHandler *iHandler)
Callback container used by AAX_CPacketDispatcher.
Definition: AAX_CPacketDispatcher.h:103
int32_t AAX_Result
Definition: AAX.h:118
Interface for the AAX host's view of a single instance of an effect. Used by both clients of the AAX ...
Definition: AAX_IController.h:39
AAX_Result GenerateSingleValuePacket(AAX_CParamID iParam, AAX_CPacket &ioPacket)
uint32_t GetSize() const
Definition: AAX_CPacketDispatcher.h:62
The interface for an AAX Plug-in's data model.
Definition: AAX_IEffectParameters.h:80
virtual AAX_Result Call(AAX_CParamID iParamID, AAX_CPacket &ioPacket) const =0
AAX_CIndex AAX_CFieldIndex
Not used by AAX plug-ins (except in AAX_FIELD_INDEX macro)
Definition: AAX.h:125
fPt2FnEx fptEx
Definition: AAX_CPacketDispatcher.h:133
const char * AAX_CParamID
Parameter identifier.
Definition: AAX.h:128
Helper class for managing AAX packet posting.
Definition: AAX_CPacketDispatcher.h:152
fPt2Fn fpt
Definition: AAX_CPacketDispatcher.h:132
void Initialize(AAX_IController *iPlugIn, AAX_IEffectParameters *iEffectParameters)
AAX_Result SetDirty(AAX_CParamID paramID, bool iDirty=true)
AAX_CPacket(AAX_CFieldIndex iFieldIndex)
Definition: AAX_CPacketDispatcher.h:47
AAX_Result Call(AAX_CParamID iParamID, AAX_CPacket &ioPacket) const
Definition: AAX_CPacketDispatcher.h:120