Pleora Technologies Inc. eBUS SDK v6.2.8.5877 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 
17 
18 class PV_SYSTEM_API PvDeviceInfo
19 {
20 public:
21 
22  virtual ~PvDeviceInfo();
23  PvDeviceInfo *Copy() const;
24 
25  PvDeviceInfoType GetType() const;
26 
27  PvString GetVendorName() const;
28  PvString GetModelName() const;
29  PvString GetVersion() const;
30  PvString GetManufacturerInfo() const;
31  PvString GetSerialNumber() const;
32  PvString GetUserDefinedName() const;
33 
34  PvString GetLicenseMessage() const;
35  PvString GetDisplayID() const;
36  PvString GetUniqueID() const;
37  PvString GetConnectionID() const;
38 
39  const PvInterface *GetInterface() const;
40 
41  bool IsConfigurationValid() const;
42  bool IsLicenseValid() const;
43 
44  PvDeviceClass GetClass() const;
45 
46 protected:
47 
48 #ifndef PV_GENERATING_DOXYGEN_DOC
49 
51  const PvDeviceInfo &operator=( const PvDeviceInfo &aFrom );
52 
53  void Init();
54 
55  void SetLicenseValid( bool aValue ) { mLicenseValid = aValue; }
56  void SetClass( PvDeviceClass aValue ) { mClass = aValue; }
57  void SetConfigurationValid( bool aValue ) { mConfigurationValid = aValue; }
58 
59  void SetVendorName( const std::string &aValue ) { *mVendorName = aValue; }
60  void SetModelName( const std::string &aValue ) { *mModelName = aValue; }
61  void SetVersion( const std::string &aValue ) { *mVersion = aValue; }
62  void SetManufacturerInfo( const std::string &aValue ) { *mManufacturerInfo = aValue; }
63  void SetSerialNumber( const std::string &aValue ) { *mSerialNumber = aValue; }
64  void SetUserDefinedName( const std::string &aValue ) { *mUserDefinedName = aValue; }
65 
66  void SetConnectionID( const std::string &aValue ) { *mConnectionID = aValue; }
67  void SetDisplayID( const std::string &aValue ) { *mDisplayID = aValue; }
68  void SetUniqueID( const std::string &aValue ) { *mUniqueID = aValue; }
69  void SetCompareID( const std::string &aValue ) { *mCompareID = aValue; }
70  void SetLicenseMessage( const std::string &aValue ) { *mLicenseMessage = aValue; }
71 
72  std::string *GetCompareID() { return mCompareID; }
73 
74 #endif // PV_GENERATING_DOXYGEN_DOC
75 
76 private:
77 
78  bool mLicenseValid;
79  bool mConfigurationValid;
80 
81  const PvInterface *mInterface;
82  bool mInterfaceOwned;
83 
84  std::string *mVendorName;
85  std::string *mModelName;
86  std::string *mVersion;
87  std::string *mManufacturerInfo;
88  std::string *mSerialNumber;
89  std::string *mUserDefinedName;
90 
91  std::string *mConnectionID;
92  std::string *mDisplayID;
93  std::string *mUniqueID;
94  std::string *mCompareID;
95  std::string *mLicenseMessage;
96 
97  PvDeviceInfoType mType;
98  PvDeviceClass mClass;
99 
100  // Not implemented
101  PvDeviceInfo();
102  PvDeviceInfo( const PvDeviceInfo & );
103 
104 };
105 
106 
107 #endif // __PV_DEVICEINFO_H__
108 
String class.
Definition: PvString.h:21
Represents one interface (network adapter or USB host controller) on a system (the PC) ...
Definition: PvInterface.h:25
PvDeviceClass
GigE Vision device class.
Definition: PvSystemEnums.h:10
PvSystem library enumerations.
PvDeviceInfoType
The type of device the object represents.
Definition: PvSystemEnums.h:47
Information identifying a device.
Definition: PvDeviceInfo.h:18
Connect, configure and control a GigE Vision or USB3 Vision device.
Definition: PvDevice.h:30

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