Pleora Technologies Inc. eBUS SDK v6.2.8.5877 API



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 
14 namespace PvSystemLib
15 {
16  class System;
17  class NetworkAdapter;
18  class USBHostController;
19 
20  class DeviceInfoVector;
21  class IFinderReporter;
22 }
23 
24 
25 class PV_SYSTEM_API PvInterface
26 {
27 public:
28 
29  virtual ~PvInterface();
30  PvInterface *Copy() const;
31 
32  PvInterfaceType GetType() const;
33 
34  PvString GetName() const;
35  PvString GetDisplayID() const;
36  PvString GetUniqueID() const;
37  PvString GetCompareID() const;
38 
39  uint32_t GetDeviceCount() const;
40  const PvDeviceInfo *GetDeviceInfo( uint32_t aIndex ) const;
41 
42  static bool Compare( const PvInterface *a1, const PvInterface *a2 );
43 
44 protected:
45 
46 #ifndef PV_GENERATING_DOXYGEN_DOC
47 
48  PvInterface( PvSystemLib::IFinderReporter *aFinderReporter, PvInterfaceType aType );
49  PvInterface&operator=( const PvInterface &aFrom );
50 
51  void SetName( const std::string &aValue ) { *mName = aValue; }
52  void SetDisplayID( const std::string &aValue ) { *mDisplayID = aValue; }
53  void SetUniqueID( const std::string &aValue ) { *mUniqueID = aValue; }
54  void SetCompareID( const std::string &aValue ) { *mCompareID = aValue; }
55 
56  void SetConfigurationValid( bool aValue ) { mConfigurationValid = aValue; }
57 
58  PvSystemLib::DeviceInfoVector *GetDevices() { return mDevices; }
59 
60 #endif // PV_GENERATING_DOXYGEN_DOC
61 
62  friend class PvSystemLib::System;
63  friend class PvSystemLib::NetworkAdapter;
64  friend class PvSystemLib::USBHostController;
65 
66 private:
67 
68  // Not implemented
69  PvInterface( const PvInterface & );
70 
71  PvInterfaceType mType;
72 
73  std::string *mName;
74  std::string *mDisplayID;
75  std::string *mUniqueID;
76  std::string *mCompareID;
77 
78  bool mConfigurationValid;
79 
80  PvSystemLib::DeviceInfoVector *mDevices;
81 
82 };
83 
84 #endif
PvInterface
Represents one interface (network adapter or USB host controller) on a system (the PC)
Definition: PvInterface.h:25
PvString
String class.
Definition: PvString.h:21
PvInterfaceType
PvInterfaceType
The type of interface the object represents.
Definition: PvSystemEnums.h:38
PvDeviceInfo
Information identifying a device.
Definition: PvDeviceInfo.h:18

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