Pleora Technologies Inc. eBUS SDK v7.0.1.7536 API



PvDeviceInfoU3V.h
1 // *****************************************************************************
2 //
3 // Copyright (c) 2013, Pleora Technologies Inc., All rights reserved.
4 //
5 // *****************************************************************************
6 
7 #ifndef __PVDEVICEINFOU3V_H__
8 #define __PVDEVICEINFOU3V_H__
9 
10 #include <PvDeviceInfoUSB.h>
11 
12 
18 class PV_SYSTEM_API PvDeviceInfoU3V : public PvDeviceInfoUSB
19 {
20 public:
21 
26 
30  virtual ~PvDeviceInfoU3V();
31 
40 
48  uint32_t GetGenCPVersion() const;
49 
57  uint32_t GetU3VVersion() const;
58 
67  PvString GetDeviceGUID() const;
68 
74  PvString GetFamilyName() const;
75 
81  PvString GetU3VSerialNumber() const;
82 
90  PvString GetDevicePath() const;
91 
99  PvString GetDeviceKey() const;
100 
109  PvString GetSpeedMessage() const;
110 
118  PvString GetPowerMessage() const;
119 
125  bool IsLowSpeedSupported() const;
126 
132  bool IsFullSpeedSupported() const;
133 
139  bool IsHighSpeedSupported() const;
140 
146  bool IsSuperSpeedSupported() const;
147 
153  bool IsSuperSpeedPlusSupported() const;
154 
160  bool IsCurrentSpeedSupported() const;
161 
173  PvUSBSpeed GetSpeed() const;
174 
180  uint32_t GetMaxPower() const;
181 
187  uint32_t GetMaxPacketSize() const;
188 
194  bool IsPleoraDriverInstalled() const;
195 
201  bool IsInitializedCapabilities() const;
202 
203 protected:
204 
205 #ifndef PV_GENERATING_DOXYGEN_DOC
206 
207  PvDeviceInfoU3V( PvInterface *aInterface );
208 
209  void Init();
210 
211  void SetGenCPVersion( uint32_t aValue ) { mGenCPVersion = aValue; }
212  void SetU3VVersion( uint32_t aValue ) { mU3VVersion = aValue; }
213 
214  void SetDeviceGUID( const std::string &aValue ) { *mDeviceGUID = aValue; }
215  void SetFamilyName( const std::string &aValue ) { *mFamilyName = aValue; }
216  void SetU3VSerialNumber( const std::string &aValue ) { *mU3VSerialNumber = aValue; }
217  void SetDevicePath( const std::string &aValue ) { *mDevicePath = aValue; }
218  void SetDeviceKey( const std::string &aValue ) { *mDeviceKey = aValue; }
219  void SetSpeedMessage( const std::string &aValue ) { *mSpeedMessage = aValue; }
220  void SetPowerMessage( const std::string &aValue ) { *mPowerMessage = aValue; }
221 
222  void SetLowSpeedSupported( bool aValue ) { mLowSpeedSupported = aValue; }
223  void SetFullSpeedSupported( bool aValue ) { mFullSpeedSupported = aValue; }
224  void SetHighSpeedSupported( bool aValue ) { mHighSpeedSupported = aValue; }
225  void SetSuperSpeedSupported( bool aValue ) { mSuperSpeedSupported = aValue; }
226  void SetSuperSpeedPlusSupported( bool aValue ) { mSuperSpeedPlusSupported = aValue; }
227  void SetCurrentSpeedSupported( bool aValue ) { mCurrentSpeedSupported = aValue; }
228 
229  void SetSpeed( PvUSBSpeed aValue ) { mSpeed = aValue; }
230 
231  void SetMaxPower( uint32_t aValue ) { mMaxPower = aValue; }
232  void SetMaxPacketSize( uint32_t aValue ) { mMaxPacketSize = aValue; }
233 
234  void SetPleoraDriverInstalled( bool aValue ) { mPleoraDriverInstalled = aValue; }
235  void SetInitializedCapabilities( bool aValue ) { mInitializedCapabilities = aValue; }
236 
237 #endif // PV_GENERATING_DOXYGEN_DOC
238 
239 private:
240 
241  // Not implemented
242  PvDeviceInfoU3V( const PvDeviceInfoU3V & );
243 
244  uint32_t mGenCPVersion;
245  uint32_t mU3VVersion;
246 
247  std::string *mDeviceGUID;
248  std::string *mFamilyName;
249  std::string *mU3VSerialNumber;
250  std::string *mDevicePath;
251  std::string *mDeviceKey;
252  std::string *mSpeedMessage;
253  std::string *mPowerMessage;
254 
255  bool mLowSpeedSupported;
256  bool mFullSpeedSupported;
257  bool mHighSpeedSupported;
258  bool mSuperSpeedSupported;
259  bool mSuperSpeedPlusSupported;
260  bool mCurrentSpeedSupported;
261  bool mInitializedCapabilities;
262 
263  PvUSBSpeed mSpeed;
264 
265  uint32_t mMaxPower;
266  uint32_t mMaxPacketSize;
267 
268  bool mPleoraDriverInstalled;
269 
270 };
271 
272 #endif
PvUSBSpeed
USB speed enumeration type.
Definition: PvSystemEnums.h:102
Information about a USB3 Vision device.
Definition: PvDeviceInfoU3V.h:19
Information about a generic USB device.
Definition: PvDeviceInfoUSB.h:19
PvDeviceInfoUSB & operator=(const PvDeviceInfoUSB &)
Equal operator: copies the object.
Definition: PvDeviceInfoUSB.cpp:60
Represents one interface (network adapter or USB host controller) on a system (the PC)
Definition: PvInterface.h:33
String class.
Definition: PvString.h:26

Copyright (c) 2002-2026 Pleora Technologies Inc.
www.pleora.com