Pleora Technologies Inc. eBUS SDK v7.0.1.7536 API



Loading...
Searching...
No Matches
PvInterface.h
1// *****************************************************************************
2//
3// Copyright (c) 2008, Pleora Technologies Inc., All rights reserved.
4//
5// *****************************************************************************
6
7#ifndef __PVINTERFACE_H__
8#define __PVINTERFACE_H__
9
10#include <PvSystemLib.h>
11#include <PvDeviceInfo.h>
12
13
14namespace PvSystemLib
15{
16 class System;
17 class NetworkAdapter;
18 class USBHostController;
19
20 class DeviceInfoVector;
21 class IFinderReporter;
22}
23
24
32class PV_SYSTEM_API PvInterface
33{
34public:
35
39 virtual ~PvInterface();
40
49 PvInterface *Copy() const;
50
56 PvInterfaceType GetType() const;
57
64 PvString GetName() const;
65
71 PvString GetDisplayID() const;
72
90 PvString GetUniqueID() const;
91
104 PvString GetCompareID() const;
105
111 uint32_t GetDeviceCount() const;
112
127 const PvDeviceInfo *GetDeviceInfo( uint32_t aIndex ) const;
128
139 static bool Compare( const PvInterface *a1, const PvInterface *a2 );
140
146 PvString GetPleoraDriverVersion() const;
147
148protected:
149
150#ifndef PV_GENERATING_DOXYGEN_DOC
151
152 PvInterface( PvSystemLib::IFinderReporter *aFinderReporter, PvInterfaceType aType );
153 PvInterface&operator=( const PvInterface &aFrom );
154
155 void SetName( const std::string &aValue ) { *mName = aValue; }
156 void SetDisplayID( const std::string &aValue ) { *mDisplayID = aValue; }
157 void SetUniqueID( const std::string &aValue ) { *mUniqueID = aValue; }
158 void SetCompareID( const std::string &aValue ) { *mCompareID = aValue; }
159 void SetDriverVersion( const std::string &aValue ) { *mDriverVersion = aValue; }
160
161 void SetConfigurationValid( bool aValue ) { mConfigurationValid = aValue; }
162
163 PvSystemLib::DeviceInfoVector *GetDevices() { return mDevices; }
164
165#endif // PV_GENERATING_DOXYGEN_DOC
166
167 friend class PvSystemLib::System;
168 friend class PvSystemLib::NetworkAdapter;
169 friend class PvSystemLib::USBHostController;
170
171private:
172
173 // Not implemented
174 PvInterface( const PvInterface & );
175
176 PvInterfaceType mType;
177
178 std::string *mName;
179 std::string *mDisplayID;
180 std::string *mUniqueID;
181 std::string *mCompareID;
182 std::string *mDriverVersion;
183
184 bool mConfigurationValid;
185
186 PvSystemLib::DeviceInfoVector *mDevices;
187
188};
189
190#endif
PvInterfaceType
Interface type enumeration.
Definition PvSystemEnums.h:66
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
PvInterface * Copy() const
Creates a copy of the PvInterface object.
String class.
Definition PvString.h:26

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