Pleora Technologies Inc. eBUS SDK v6.5.1.6797 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 IsCurrentSpeedSupported() const;
154 
166  PvUSBSpeed GetSpeed() const;
167 
173  uint32_t GetMaxPower() const;
174 
180  uint32_t GetMaxPacketSize() const;
181 
187  bool IsPleoraDriverInstalled() const;
188 
194  bool IsInitializedCapabilities() const;
195 
196 protected:
197 
198 #ifndef PV_GENERATING_DOXYGEN_DOC
199 
200  PvDeviceInfoU3V( PvInterface *aInterface );
201 
202  void Init();
203 
204  void SetGenCPVersion( uint32_t aValue ) { mGenCPVersion = aValue; }
205  void SetU3VVersion( uint32_t aValue ) { mU3VVersion = aValue; }
206 
207  void SetDeviceGUID( const std::string &aValue ) { *mDeviceGUID = aValue; }
208  void SetFamilyName( const std::string &aValue ) { *mFamilyName = aValue; }
209  void SetU3VSerialNumber( const std::string &aValue ) { *mU3VSerialNumber = aValue; }
210  void SetDevicePath( const std::string &aValue ) { *mDevicePath = aValue; }
211  void SetDeviceKey( const std::string &aValue ) { *mDeviceKey = aValue; }
212  void SetSpeedMessage( const std::string &aValue ) { *mSpeedMessage = aValue; }
213  void SetPowerMessage( const std::string &aValue ) { *mPowerMessage = aValue; }
214 
215  void SetLowSpeedSupported( bool aValue ) { mLowSpeedSupported = aValue; }
216  void SetFullSpeedSupported( bool aValue ) { mFullSpeedSupported = aValue; }
217  void SetHighSpeedSupported( bool aValue ) { mHighSpeedSupported = aValue; }
218  void SetSuperSpeedSupported( bool aValue ) { mSuperSpeedSupported = aValue; }
219  void SetCurrentSpeedSupported( bool aValue ) { mCurrentSpeedSupported = aValue; }
220 
221  void SetSpeed( PvUSBSpeed aValue ) { mSpeed = aValue; }
222 
223  void SetMaxPower( uint32_t aValue ) { mMaxPower = aValue; }
224  void SetMaxPacketSize( uint32_t aValue ) { mMaxPacketSize = aValue; }
225 
226  void SetPleoraDriverInstalled( bool aValue ) { mPleoraDriverInstalled = aValue; }
227  void SetInitializedCapabilities( bool aValue ) { mInitializedCapabilities = aValue; }
228 
229 #endif // PV_GENERATING_DOXYGEN_DOC
230 
231 private:
232 
233  // Not implemented
234  PvDeviceInfoU3V( const PvDeviceInfoU3V & );
235 
236  uint32_t mGenCPVersion;
237  uint32_t mU3VVersion;
238 
239  std::string *mDeviceGUID;
240  std::string *mFamilyName;
241  std::string *mU3VSerialNumber;
242  std::string *mDevicePath;
243  std::string *mDeviceKey;
244  std::string *mSpeedMessage;
245  std::string *mPowerMessage;
246 
247  bool mLowSpeedSupported;
248  bool mFullSpeedSupported;
249  bool mHighSpeedSupported;
250  bool mSuperSpeedSupported;
251  bool mCurrentSpeedSupported;
252  bool mInitializedCapabilities;
253 
254  PvUSBSpeed mSpeed;
255 
256  uint32_t mMaxPower;
257  uint32_t mMaxPacketSize;
258 
259  bool mPleoraDriverInstalled;
260 
261 };
262 
263 #endif
PvDeviceInfoUSB & operator=(const PvDeviceInfoUSB &)
Equal operator: copies the object.
Definition: PvDeviceInfoUSB.cpp:60
String class.
Definition: PvString.h:25
PvUSBSpeed
The speed grade of the USB device or interface.
Definition: PvSystemEnums.h:62
Represents one interface (network adapter or USB host controller) on a system (the PC) ...
Definition: PvInterface.h:32
Information about a USB3 Vision device.
Definition: PvDeviceInfoU3V.h:18
Information about a generic USB device.
Definition: PvDeviceInfoUSB.h:18

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