00001 /******************************************************************************* 00002 * * 00003 * PrimeSense NITE 1.3 * 00004 * Copyright (C) 2010 PrimeSense Ltd. * 00005 * * 00006 *******************************************************************************/ 00007 00008 00009 #ifndef _XNV_COMPLEX_MESSAGE_H_ 00010 #define _XNV_COMPLEX_MESSAGE_H_ 00011 00012 #include "XnVMessage.h" 00013 00017 class XNV_NITE_API XnVComplexMessage : 00018 public XnVMessage 00019 { 00020 public: 00026 XnVComplexMessage(const XnChar* strType = ms_strType); 00027 virtual ~XnVComplexMessage(); 00028 00036 XnVMessage* operator[](const XnChar* strType); 00037 00043 void Add(XnVMessage* pMessage); 00051 XnVMessage* Remove(const XnChar* strType); 00055 void Clear(); 00056 00062 XnVMessage* Clone() const; 00063 00067 static const XnChar* ms_strType; 00068 private: 00069 XnVMessage** m_pMessages; 00070 XnUInt32 m_nNextAvailable; 00071 XnUInt32 m_nSize; 00072 }; 00073 00074 #endif // _XNV_COMPLEX_MESSAGE_H_