NITE 1.4.1 - API Reference
|
00001 /******************************************************************************* 00002 * * 00003 * PrimeSense NITE 1.3 * 00004 * Copyright (C) 2010 PrimeSense Ltd. * 00005 * * 00006 *******************************************************************************/ 00007 00008 00009 #ifndef _XNV_MESSAGE_MUX_H_ 00010 #define _XNV_MESSAGE_MUX_H_ 00011 00012 #include <XnStringsHash.h> 00013 00014 #include "XnVFilter.h" 00015 #include "XnVComplexMessage.h" 00016 00020 class XNV_NITE_API XnVMessageMux : 00021 public XnVFilter 00022 { 00023 public: 00027 enum XnVMuxMode 00028 { 00030 XNV_MUX_MODE_ANY, 00032 XNV_MUX_MODE_ALL, 00034 XNV_MUX_MODE_SPECIFIC, 00036 XNV_MUX_MODE_LAST 00037 }; 00038 00044 XnVMessageMux(const XnChar* strName = "XnVMessageMux"); 00045 00046 ~XnVMessageMux(); 00052 void AddType(const XnChar* strType); 00058 void Update(XnVMessage* pMessage); 00059 00065 void SetMode(XnVMuxMode eMode); 00071 void SetMode(const XnChar* strType); 00072 protected: 00073 void HandleSingleMessage(XnVMessage* pMessage); 00074 00075 XnVComplexMessage* m_pComplexMessage; 00076 XnVMuxMode m_eMode; 00077 XnChar* m_strSpecific; 00078 00079 XnStringsHash m_hTypes; 00080 XnUInt32 m_nExpected; 00081 XnList m_hCurrent; 00082 }; 00083 00084 #endif