NITE 1.5.1 - API Reference
|
00001 /******************************************************************************* 00002 * * 00003 * PrimeSense NITE 1.3 * 00004 * Copyright (C) 2010 PrimeSense Ltd. * 00005 * * 00006 *******************************************************************************/ 00007 00008 00009 #ifndef _XNV_MESSAGE_GENERATOR_H_ 00010 #define _XNV_MESSAGE_GENERATOR_H_ 00011 00012 #include "XnVMessageListener.h" 00013 #include "XnVMessage.h" 00014 #include "XnVHandle.h" 00015 00016 class XnVIntMessageListenerHash; 00017 class XnStringsHash; 00018 00023 class XNV_NITE_API XnVMessageGenerator 00024 { 00025 public: 00031 XnVMessageGenerator(const XnChar* strName = "XnVMessageGenerator"); 00032 virtual ~XnVMessageGenerator(); 00033 00041 XnVHandle AddListener(XnVMessageListener* pListener); 00049 XnVMessageListener* RemoveListener(XnVHandle hListener); 00057 XnVMessageListener* RemoveListener(XnVMessageListener* pListener); 00058 00064 void Generate(XnVMessage* pMessage); 00065 00069 void ClearAllQueues(); 00070 00076 const XnChar* GetGeneratorName() const; 00077 protected: 00078 void OpenNewSession(XnVMessageListener* pListener); 00079 void CloseOldSession(XnVMessageListener* pListener); 00080 00081 XnVIntMessageListenerHash* m_phListeners; 00082 XnStringsHash* m_pProperties; // for last points 00083 XnVHandle m_hNextAvailable; 00084 00085 XnChar* m_strGeneratorName; 00086 }; 00087 00088 #endif