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;
85 AAX_CPacket::GetPtr<const void>()
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;
Various utility definitions for AAX.
const char * AAX_CParamID
Parameter identifier.
Definition: AAX.h:352
int32_t AAX_Result
Definition: AAX.h:337
AAX_CIndex AAX_CFieldIndex
Not used by AAX plug-ins (except in AAX_FIELD_INDEX macro)
Definition: AAX.h:349
@ AAX_ERROR_NULL_OBJECT
Definition: AAX_Errors.h:44
Interface for the AAX host's view of a single instance of an effect.
Mutex with try lock functionality.
Definition: AAX_CMutex.h:30
Container for packet-related data.
Definition: AAX_CPacketDispatcher.h:45
bool IsDirty() const
Definition: AAX_CPacketDispatcher.h:59
void SetDirty(bool iDirty)
Definition: AAX_CPacketDispatcher.h:58
DataType * GetPtr()
Definition: AAX_CPacketDispatcher.h:51
uint32_t GetSize() const
Definition: AAX_CPacketDispatcher.h:62
~AAX_CPacket()
Definition: AAX_CPacketDispatcher.h:48
AAX_CFieldIndex GetID() const
Definition: AAX_CPacketDispatcher.h:61
AAX_CPacket(AAX_CFieldIndex inFieldIndex)
Definition: AAX_CPacketDispatcher.h:47
Callback container used by AAX_CPacketDispatcher.
Definition: AAX_CPacketDispatcher.h:94
virtual AAX_IPacketHandler * Clone() const =0
virtual AAX_Result Call(AAX_CParamID inParamID, AAX_CPacket &ioPacket) const =0
virtual ~AAX_IPacketHandler()
Definition: AAX_CPacketDispatcher.h:95
Callback container used by AAX_CPacketDispatcher.
Definition: AAX_CPacketDispatcher.h:104
AAX_Result Call(AAX_CParamID inParamID, AAX_CPacket &ioPacket) const
Definition: AAX_CPacketDispatcher.h:120
AAX_CPacketHandler(TWorker *iPt2Object, fPt2Fn infPt)
Definition: AAX_CPacketDispatcher.h:109
fPt2Fn fpt
Definition: AAX_CPacketDispatcher.h:132
TWorker * pt2Object
Definition: AAX_CPacketDispatcher.h:131
AAX_IPacketHandler * Clone() const
Definition: AAX_CPacketDispatcher.h:115
fPt2FnEx fptEx
Definition: AAX_CPacketDispatcher.h:133
AAX_CPacketHandler(TWorker *iPt2Object, fPt2FnEx infPt)
Definition: AAX_CPacketDispatcher.h:112
Helper class for managing AAX packet posting.
Definition: AAX_CPacketDispatcher.h:153
AAX_Result RegisterPacket(AAX_CParamID paramID, AAX_CFieldIndex portID, const AAX_IPacketHandler *iHandler)
AAX_Result SetDirty(AAX_CParamID paramID, bool iDirty=true)
AAX_Result RegisterPacket(AAX_CParamID paramID, AAX_CFieldIndex portID)
Definition: AAX_CPacketDispatcher.h:173
void Initialize(AAX_IController *iPlugIn, AAX_IEffectParameters *iEffectParameters)
AAX_Result RegisterPacket(AAX_CParamID paramID, AAX_CFieldIndex portID, TWorker *iPt2Object, Func infPt)
Definition: AAX_CPacketDispatcher.h:166
AAX_Result GenerateSingleValuePacket(AAX_CParamID iParam, AAX_CPacket &ioPacket)
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:44
The interface for an AAX Plug-in's data model.
Definition: AAX_IEffectParameters.h:83