29 #ifndef _CACONTROLCHANNELDISPATCHER_H_HEADER_
30 #define _CACONTROLCHANNELDISPATCHER_H_HEADER_
The base of each control channel.
This class "dispatches" messages which it receives via proccessMixPacket() to the associated control ...
void deleteAllControlChannels(void)
Deregisters all control channels and calls delete on every registered control channel object.
gcm_ctx_64k * m_pGCMCtxDec
CAControlChannelDispatcher(CAQueue *pSendQueue, UINT8 *keyRecv, UINT8 *keySent)
Constructs a new dispatcher.
bool isKeySet()
Temp workaorund function - to be removed soon...
CAAbstractControlChannel ** m_arControlChannels
SINT32 removeControlChannel(UINT32 id)
SINT32 decryptMessage(const UINT8 *in, UINT32 inlen, UINT8 *out, UINT32 *outlen)
Decrypts a control channel message, which has to be of form: cipher text auth tag - 16 bytes.
CAMutex * m_pcsRegisterChannel
~CAControlChannelDispatcher()
SINT32 registerControlChannel(CAAbstractControlChannel *pControlChannel)
Registers a control channel for receiving messages.
SINT32 sendMessages(UINT32 id, const UINT8 *msg, UINT32 msglen)
SINT32 encryptMessage(const UINT8 *in, UINT32 inlen, UINT8 *out, UINT32 *outlen)
Encrypts a control channel message.
gcm_ctx_64k * m_pGCMCtxEnc
tQueueEntry * m_pQueueEntry
bool proccessMixPacket(const MIXPACKET *pPacket)
This is a simple FIFO-Queue.
struct t_queue_entry tQueueEntry