8 #ifndef K_FIRESYNC_ALG_MSG_H
9 #define K_FIRESYNC_ALG_MSG_H
14 #define kALG_MSG_MAX_PARTS (4)
17 #include <kFireSync/Data/kAlgMsg.x.h>
50 return obj->frameCount;
64 return obj->partCount;
79 kAssert(partIndex < obj->partCount);
81 return xkAlgMsg_DescriptorAt(msg, partIndex)->itemType;
96 kAssert(partIndex < obj->partCount);
98 return xkAlgMsg_DescriptorAt(msg, partIndex)->dimensionCount;
114 kAssert(partIndex < obj->partCount);
115 kAssert(dimensionIndex < xkAlgMsg_DescriptorAt(msg, partIndex)->dimensionCount);
117 return xkAlgMsg_DescriptorAt(msg, partIndex)->length[dimensionIndex];
133 kAssert(frameIndex < obj->frameCount);
134 kAssert(partIndex < obj->partCount);
152 #define kAlgMsg_PartT(kAlgMsg_msg, kSize_frameIndex, kSize_partIndex, T) \
153 kCast(T*, xkAlgMsg_PartT(kAlgMsg_msg, kSize_frameIndex, kSize_partIndex, sizeof(T)))
kSize kAlgMsg_PartDimensionCount(kAlgMsg msg, kSize partIndex)
Reports the dimensionality of the specified content part.
Definition: kAlgMsg.h:92
Declares the kMsgSet type.
kSize kAlgMsg_PartLength(kAlgMsg msg, kSize partIndex, kSize dimensionIndex)
Reports the length of the specified part dimension.
Definition: kAlgMsg.h:110
Abstract base class for algorithm data messages.
kType kAlgMsg_PartType(kAlgMsg msg, kSize partIndex)
Reports the data type of the specified content part.
Definition: kAlgMsg.h:75
#define kObj(TypeName_T, T_object)
kSize kAlgMsg_PartCount(kAlgMsg msg)
Reports the number of content parts for each frame.
Definition: kAlgMsg.h:60
#define kAssert(EXPRESSION)
kSize kAlgMsg_FrameCount(kAlgMsg msg)
Reports the number of frames in the message.
Definition: kAlgMsg.h:46
void * kAlgMsg_Part(kAlgMsg msg, kSize frameIndex, kSize partIndex)
Gets a pointer to the specified frame content part.
Definition: kAlgMsg.h:129