From 31f9c57bc50ae053cfaf039a1dfdb128e2494458 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Tue, 20 Oct 2015 13:18:59 +0300 Subject: Fix issues with COIN builds MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Fix miscellaneous compile errors -Move manual tests to manual folder and enable export of autotests -Added widgets requirement -Fixed autotests -Fixed renderer and controller synchronization in QML case -Treat fallback Mesa as ES2 similar to setting AA_UseSoftwareOpenGL Change-Id: If6619733725d079e339bef16262e5ea1450ab20f Reviewed-by: Tomi Korpipää --- .../OpenNI/Include/XnLogWriterBase.h | 128 +++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 tests/manual/kinectsurface/QtKinectWrapper/OpenNI/Include/XnLogWriterBase.h (limited to 'tests/manual/kinectsurface/QtKinectWrapper/OpenNI/Include/XnLogWriterBase.h') diff --git a/tests/manual/kinectsurface/QtKinectWrapper/OpenNI/Include/XnLogWriterBase.h b/tests/manual/kinectsurface/QtKinectWrapper/OpenNI/Include/XnLogWriterBase.h new file mode 100644 index 00000000..33bed1c6 --- /dev/null +++ b/tests/manual/kinectsurface/QtKinectWrapper/OpenNI/Include/XnLogWriterBase.h @@ -0,0 +1,128 @@ +/**************************************************************************** +* * +* OpenNI 1.x Alpha * +* Copyright (C) 2011 PrimeSense Ltd. * +* * +* This file is part of OpenNI. * +* * +* OpenNI is free software: you can redistribute it and/or modify * +* it under the terms of the GNU Lesser General Public License as published * +* by the Free Software Foundation, either version 3 of the License, or * +* (at your option) any later version. * +* * +* OpenNI is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU Lesser General Public License for more details. * +* * +* You should have received a copy of the GNU Lesser General Public License * +* along with OpenNI. If not, see . * +* * +****************************************************************************/ +#ifndef __XN_LOG_WRITER_BASE_H__ +#define __XN_LOG_WRITER_BASE_H__ + +//--------------------------------------------------------------------------- +// Includes +//--------------------------------------------------------------------------- +#include +#include + +//--------------------------------------------------------------------------- +// Types +//--------------------------------------------------------------------------- +class XnLogWriterBase +{ +public: + XnLogWriterBase() : m_bRegistered(FALSE) + { + m_cObject.pCookie = this; + m_cObject.WriteEntry = WriteEntryCallback; + m_cObject.WriteUnformatted = WriteUnformattedCallback; + m_cObject.OnConfigurationChanged = OnConfigurationChangedCallback; + m_cObject.OnClosing = OnClosingCallback; + } + + virtual ~XnLogWriterBase() + { + Unregister(); + } + + XnStatus Register() + { + XnStatus nRetVal = XN_STATUS_OK; + + if (!m_bRegistered) + { + OnRegister(); + + nRetVal = xnLogRegisterLogWriter(&m_cObject); + if (nRetVal != XN_STATUS_OK) + { + OnUnregister(); + return (nRetVal); + } + + m_bRegistered = TRUE; + } + + return (XN_STATUS_OK); + } + + void Unregister() + { + if (m_bRegistered) + { + xnLogUnregisterLogWriter(&m_cObject); + m_bRegistered = FALSE; + + OnUnregister(); + } + } + + inline XnBool IsRegistered() { return m_bRegistered; } + + virtual void WriteEntry(const XnLogEntry* pEntry) = 0; + virtual void WriteUnformatted(const XnChar* strMessage) = 0; + virtual void OnConfigurationChanged() {}; + virtual void OnClosing() + { + Unregister(); + }; + + operator const XnLogWriter*() const + { + return &m_cObject; + } + +protected: + virtual void OnRegister() {} + virtual void OnUnregister() {} + +private: + static void XN_CALLBACK_TYPE WriteEntryCallback(const XnLogEntry* pEntry, void* pCookie) + { + XnLogWriterBase* pThis = (XnLogWriterBase*)pCookie; + pThis->WriteEntry(pEntry); + } + static void XN_CALLBACK_TYPE WriteUnformattedCallback(const XnChar* strMessage, void* pCookie) + { + XnLogWriterBase* pThis = (XnLogWriterBase*)pCookie; + pThis->WriteUnformatted(strMessage); + } + static void XN_CALLBACK_TYPE OnConfigurationChangedCallback(void* pCookie) + { + XnLogWriterBase* pThis = (XnLogWriterBase*)pCookie; + pThis->OnConfigurationChanged(); + } + static void XN_CALLBACK_TYPE OnClosingCallback(void* pCookie) + { + XnLogWriterBase* pThis = (XnLogWriterBase*)pCookie; + pThis->OnClosing(); + } + + XnLogWriter m_cObject; + XnBool m_bRegistered; +}; + +#endif // __XN_LOG_WRITER_BASE_H__ -- cgit v1.2.3