Pleora Technologies Inc. eBUS SDK v6.5.1.6797 API



PvDeviceInfo.h
1 // *****************************************************************************
2 //
3 // Copyright (c) 2007, Pleora Technologies Inc., All rights reserved.
4 //
5 // *****************************************************************************
6 
7 #ifndef __PV_DEVICEINFO_H__
8 #define __PV_DEVICEINFO_H__
9 
10 #include <PvSystemLib.h>
11 #include <PvSystemEnums.h>
12 
13 
14 class PvInterface;
15 class PvDevice;
16 
26 class PV_SYSTEM_API PvDeviceInfo
27 {
28 public:
29 
33  virtual ~PvDeviceInfo();
34 
43  PvDeviceInfo *Copy() const;
44 
50  PvDeviceInfoType GetType() const;
51 
57  PvString GetVendorName() const;
58 
64  PvString GetModelName() const;
65 
71  PvString GetVersion() const;
72 
78  PvString GetManufacturerInfo() const;
79 
85  PvString GetSerialNumber() const;
86 
96  PvString GetUserDefinedName() const;
97 
106  PvString GetLicenseMessage() const;
107 
113  PvString GetDisplayID() const;
114 
132  PvString GetUniqueID() const;
133 
142  PvString GetConnectionID() const;
143 
149  const PvInterface *GetInterface() const;
150 
160  bool IsConfigurationValid() const;
161 
170  bool IsLicenseValid() const;
171 
177  PvDeviceClass GetClass() const;
178 
179 protected:
180 
181 #ifndef PV_GENERATING_DOXYGEN_DOC
182 
183  PvDeviceInfo( PvDeviceInfoType, PvInterface *aInterface );
184  const PvDeviceInfo &operator=( const PvDeviceInfo &aFrom );
185 
186  void Init();
187 
188  void SetLicenseValid( bool aValue ) { mLicenseValid = aValue; }
189  void SetClass( PvDeviceClass aValue ) { mClass = aValue; }
190  void SetConfigurationValid( bool aValue ) { mConfigurationValid = aValue; }
191 
192  void SetVendorName( const std::string &aValue ) { *mVendorName = aValue; }
193  void SetModelName( const std::string &aValue ) { *mModelName = aValue; }
194  void SetVersion( const std::string &aValue ) { *mVersion = aValue; }
195  void SetManufacturerInfo( const std::string &aValue ) { *mManufacturerInfo = aValue; }
196  void SetSerialNumber( const std::string &aValue ) { *mSerialNumber = aValue; }
197  void SetUserDefinedName( const std::string &aValue ) { *mUserDefinedName = aValue; }
198 
199  void SetConnectionID( const std::string &aValue ) { *mConnectionID = aValue; }
200  void SetDisplayID( const std::string &aValue ) { *mDisplayID = aValue; }
201  void SetUniqueID( const std::string &aValue ) { *mUniqueID = aValue; }
202  void SetCompareID( const std::string &aValue ) { *mCompareID = aValue; }
203  void SetLicenseMessage( const std::string &aValue ) { *mLicenseMessage = aValue; }
204 
205  std::string *GetCompareID() { return mCompareID; }
206 
207 #endif // PV_GENERATING_DOXYGEN_DOC
208 
209 private:
210 
211  bool mLicenseValid;
212  bool mConfigurationValid;
213 
214  const PvInterface *mInterface;
215  bool mInterfaceOwned;
216 
217  std::string *mVendorName;
218  std::string *mModelName;
219  std::string *mVersion;
220  std::string *mManufacturerInfo;
221  std::string *mSerialNumber;
222  std::string *mUserDefinedName;
223 
224  std::string *mConnectionID;
225  std::string *mDisplayID;
226  std::string *mUniqueID;
227  std::string *mCompareID;
228  std::string *mLicenseMessage;
229 
230  PvDeviceInfoType mType;
231  PvDeviceClass mClass;
232 
233  // Not implemented
234  PvDeviceInfo();
235  PvDeviceInfo( const PvDeviceInfo & );
236 
237 };
238 
239 
240 #endif // __PV_DEVICEINFO_H__
241 
PvSystem library enumerations.
PvDeviceInfoType
Definition: PvSystemEnums.h:52
PvDeviceClass
Definition: PvSystemEnums.h:15
Connect, configure and control a GigE Vision or USB3 Vision device.
Definition: PvDevice.h:42
Information identifying a device.
Definition: PvDeviceInfo.h:27
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-2024 Pleora Technologies Inc.
www.pleora.com