summaryrefslogtreecommitdiffstats
path: root/tests/kinectsurface/QtKinectWrapper/OpenNI/Include/XnUSBDevice.h
diff options
context:
space:
mode:
authorTomi Korpipää <tomi.korpipaa@digia.com>2013-09-26 09:17:09 +0300
committerTomi Korpipää <tomi.korpipaa@digia.com>2013-09-26 09:21:30 +0300
commit88695159e16bdfb8424de99d482adf332a93740d (patch)
treebcf4c815b77f80534e9b1edd33bab3f57283647b /tests/kinectsurface/QtKinectWrapper/OpenNI/Include/XnUSBDevice.h
parentbb0e49c6bc7e4e650fc84366ff51ee47c8e5c530 (diff)
Kinect surface added to tests
- theme changing etc. to be added Change-Id: I26e72757c90b450aeeecf89ffdf39d312f6c2769 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'tests/kinectsurface/QtKinectWrapper/OpenNI/Include/XnUSBDevice.h')
-rw-r--r--tests/kinectsurface/QtKinectWrapper/OpenNI/Include/XnUSBDevice.h117
1 files changed, 117 insertions, 0 deletions
diff --git a/tests/kinectsurface/QtKinectWrapper/OpenNI/Include/XnUSBDevice.h b/tests/kinectsurface/QtKinectWrapper/OpenNI/Include/XnUSBDevice.h
new file mode 100644
index 00000000..4113d248
--- /dev/null
+++ b/tests/kinectsurface/QtKinectWrapper/OpenNI/Include/XnUSBDevice.h
@@ -0,0 +1,117 @@
+/****************************************************************************
+* *
+* 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 <http://www.gnu.org/licenses/>. *
+* *
+****************************************************************************/
+#ifndef _XN_USB_DEVICE_H_
+#define _XN_USB_DEVICE_H_
+
+//---------------------------------------------------------------------------
+// Includes
+//---------------------------------------------------------------------------
+#include "XnPlatform.h"
+#include "XnStatus.h"
+
+#if (XN_PLATFORM == XN_PLATFORM_WIN32)
+
+ #include <Win32/usb100.h>
+ typedef USB_ENDPOINT_DESCRIPTOR XnUSBEndpointDescriptor;
+ typedef USB_INTERFACE_DESCRIPTOR XnUSBInterfaceDescriptor;
+ typedef USB_CONFIGURATION_DESCRIPTOR XnUSBConfigDescriptor;
+ typedef USB_DEVICE_DESCRIPTOR XnUSBDeviceDescriptor;
+
+ #define USB_DT_CONFIG_SIZE 0
+ #define USB_DT_CONFIG 0
+ #define USB_CONFIG_ATT_ONE 0
+ #define USB_DT_ENDPOINT_SIZE 0
+ #define USB_DT_ENDPOINT 0
+ #define USB_ENDPOINT_XFER_BULK 0
+ #define USB_DT_INTERFACE_SIZE 0
+ #define USB_DT_INTERFACE 0
+ #define USB_CLASS_VENDOR_SPEC 0
+ #define USB_DT_DEVICE_SIZE 0
+ #define USB_DT_DEVICE 0
+
+#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM)
+ #include <linux/usb/ch9.h>
+ typedef struct usb_endpoint_descriptor XnUSBEndpointDescriptor;
+ typedef struct usb_interface_descriptor XnUSBInterfaceDescriptor;
+ typedef struct usb_config_descriptor XnUSBConfigDescriptor;
+ typedef struct usb_device_descriptor XnUSBDeviceDescriptor;
+#else
+ #error "Unsupported Platform!"
+#endif
+
+//---------------------------------------------------------------------------
+// Structures & Enums
+//---------------------------------------------------------------------------
+typedef enum XnUSBDeviceConnectionState
+{
+ XN_USB_DEVICE_DISCONNECTED,
+ XN_USB_DEVICE_CONNECTED,
+ XN_USB_DEVICE_SUSPENDED,
+} XnUSBDeviceConnectionState;
+
+typedef struct XnUSBStringDescriptor
+{
+ XnUInt8 nID;
+ const XnChar* strString;
+} XnUSBStringDescriptor;
+
+typedef struct XnUSBInterfaceDescriptorHolder
+{
+ XnUSBInterfaceDescriptor descriptor;
+ XnUSBEndpointDescriptor** aEndpoints;
+} XnUSBInterfaceDescriptorHolder;
+
+typedef struct XnUSBConfigDescriptorHolder
+{
+ XnUSBConfigDescriptor descriptor;
+ XnUSBInterfaceDescriptorHolder** aInterfaces;
+} XnUSBConfigDescriptorHolder;
+
+typedef struct XnUSBDeviceDescriptorHolder
+{
+ XnUSBDeviceDescriptor descriptor;
+ XnUSBConfigDescriptorHolder** aConfigurations;
+ XnUSBStringDescriptor* aStrings;
+ XnUInt8 nStrings;
+} XnUSBDeviceDescriptorHolder;
+
+struct XnUSBDevice;
+typedef struct XnUSBDevice XnUSBDevice;
+
+typedef void (*XnUSBDeviceNewControlRequestCallback)(XnUSBDevice* pDevice, void* pCookie);
+typedef void (*XnUSBDeviceConnectivityChangedCallback)(XnUSBDevice* pDevice, XnUSBDeviceConnectionState state, void* pCookie);
+
+//---------------------------------------------------------------------------
+// API
+//---------------------------------------------------------------------------
+XN_C_API XnStatus XN_C_DECL xnUSBDeviceInit(const XnUSBDeviceDescriptorHolder* pDeviceDescriptor, XnUInt32 nControlMessageMaxSize, XnUSBDevice** ppDevice);
+XN_C_API void XN_C_DECL xnUSBDeviceShutdown(XnUSBDevice* pDevice);
+XN_C_API XnBool XN_C_DECL xnUSBDeviceIsControlRequestPending(XnUSBDevice* pDevice);
+
+//pnRequestSize is max size on input, actual size on output
+XN_C_API XnStatus XN_C_DECL xnUSBDeviceReceiveControlRequest(XnUSBDevice* pDevice, XnUChar* pBuffer, XnUInt32* pnRequestSize);
+XN_C_API XnStatus XN_C_DECL xnUSBDeviceSendControlReply(XnUSBDevice* pDevice, const XnUChar* pBuffer, XnUInt32 nReplySize);
+XN_C_API XnStatus XN_C_DECL xnUSBDeviceSetNewControlRequestCallback(XnUSBDevice* pDevice, XnUSBDeviceNewControlRequestCallback pFunc, void* pCookie);
+XN_C_API XnStatus XN_C_DECL xnUSBDeviceSetConnectivityChangedCallback(XnUSBDevice* pDevice, XnUSBDeviceConnectivityChangedCallback pFunc, void* pCookie);
+XN_C_API XnStatus XN_C_DECL xnUSBDeviceWriteEndpoint(XnUSBDevice* pDevice, XnUInt8 nAddress, const XnUChar* pData, XnUInt32 nDataSize);
+
+#endif