src/HidDevice.cpp
author sl
Thu, 22 May 2014 07:50:02 +0200
changeset 14 4a5538e0ccbf
child 15 e5b84f315be7
permissions -rw-r--r--
Moving base HID classes into separate files.
     1 //
     2 //
     3 //
     4 
     5 #include "HidDevice.h"
     6 
     7 
     8 
     9 //
    10 // class HidDevice
    11 //
    12 
    13 /**
    14 */
    15 int HidDevice::Open(const char* aPath)
    16 	{
    17 	Close();
    18 
    19 	iHidDevice =  hid_open_path(aPath);
    20 
    21 	if (!iHidDevice)
    22 		{
    23 		//Fail to connect our device
    24 		return 0;
    25 		}
    26 
    27 	return 1;
    28 	}
    29 
    30 /**
    31 See hidapi documentation.
    32 */
    33 int HidDevice::Open(unsigned short aVendorId, unsigned short aProductId, const wchar_t* aSerialNumber)
    34 	{
    35 	iHidDevice = hid_open(aVendorId, aProductId, aSerialNumber);
    36 
    37 	if (!iHidDevice)
    38 		{
    39 		//Fail to connect our device
    40 		return 0;
    41 		}
    42 
    43 	return 1;
    44 	}
    45 
    46 /**
    47 */
    48 void HidDevice::Close()
    49 	{
    50 	hid_close(iHidDevice);
    51 	iHidDevice=NULL;
    52 	}
    53 
    54 /**
    55 */
    56 bool HidDevice::IsOpen()
    57     {
    58     return iHidDevice!=NULL;
    59     }
    60 
    61 
    62 /**
    63 */
    64 const wchar_t* HidDevice::Error()
    65 	{
    66 	return hid_error(iHidDevice);
    67 	}
    68 
    69 /**
    70 */
    71 int HidDevice::SetNonBlocking(int aNonBlocking)
    72 	{
    73 	//Success we are now connected to our HID device
    74 	//Set read operation as non blocking
    75 	return hid_set_nonblocking(iHidDevice, aNonBlocking);
    76 	}