NITE 1.5.1 - API Reference

XnVMessageGenerator.h

Go to the documentation of this file.
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