Pleora Technologies Inc. eBUS SDK v7.0.1.7536 API



Loading...
Searching...
No Matches
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
14class PvInterface;
15class PvDevice;
16
26class PV_SYSTEM_API PvDeviceInfo
27{
28public:
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
179protected:
180
181#ifndef PV_GENERATING_DOXYGEN_DOC
182
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
209private:
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
Device information type enumeration.
Definition PvSystemEnums.h:83
PvDeviceClass
Device class enumeration type.
Definition PvSystemEnums.h:14
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-2026 Pleora Technologies Inc.
www.pleora.com