CybSDK C++  4.3
CVirtDeviceInfo.h
1 /************************************************************************************
2 Filename : CVirtDeviceInfo.h
3 Content : struct VirtDeviceInfo holds all information about a Virtualizer device.
4  Typically returned by Virt::FindDevices(...) and VirtDevice::GetDeviceInfo().
5 
6 Copyright 2019 Cyberith GmbH
7 Authors : Lukas Pfeifhofer, Jeroen Doggen, Stefan Radlwimmer <s.radlwimmer@cyberith.com>
8 Support : support@cyberith.com
9 *************************************************************************************/
10 
11 #ifndef CVirtDeviceInfo_h
12 #define CVirtDeviceInfo_h
13 
14 #include <cstdint>
15 #include "CVirtExport.h"
16 
17 namespace CybSDK
18 {
22  struct CYBSDK_EXPORT VirtDeviceInfo
23  {
27  static const uint16_t CyberithVID;
28 
36  VirtDeviceInfo(uint8_t majorVersion, uint8_t minorVersion, uint16_t vendorId, const wchar_t* vendorName, uint16_t productId, const wchar_t* productName);
40  VirtDeviceInfo(uint8_t majorVersion, uint8_t minorVersion, uint16_t vendorId, const wchar_t* vendorName, uint16_t productId, const wchar_t* productName, const char* devicePath);
44  VirtDeviceInfo(const VirtDeviceInfo& other);
48  VirtDeviceInfo& operator=(const VirtDeviceInfo& other);
52  ~VirtDeviceInfo();
53 
58  static const wchar_t* GetVendorNameFromId(uint16_t vid);
63  static const wchar_t* GetProductNameFromId(uint16_t pid);
64 
68  const char* GetDevicePath() const;
69 
73  uint8_t MajorVersion;
77  uint8_t MinorVersion;
78 
82  uint16_t VendorId = CyberithVID;
86  wchar_t* VendorName;
87 
88 
92  uint16_t ProductId;
96  wchar_t* ProductName;
97 
98  private:
102  char* m_devicePath;
103  };
104 
105 }
106 
107 #endif
108 
109 
uint16_t ProductId
The USB product id.
Definition: CVirtDeviceInfo.h:92
wchar_t * ProductName
The USB product name.
Definition: CVirtDeviceInfo.h:96
Struct containing all infos about a Virtualizer USB device.
Definition: CVirtDeviceInfo.h:22
uint8_t MajorVersion
The major firmware version.
Definition: CVirtDeviceInfo.h:73
static const uint16_t CyberithVID
The public USB vendor ID owned by Cyberith GmbH.
Definition: CVirtDeviceInfo.h:27
wchar_t * VendorName
The USB vendor name.
Definition: CVirtDeviceInfo.h:86
uint8_t MinorVersion
The minor firmware version.
Definition: CVirtDeviceInfo.h:77