Pleora Technologies Inc. eBUS SDK v6.4.0.6670 API



PvNetworkAdapter.h
1 // *****************************************************************************
2 //
3 // Copyright (c) 2013, Pleora Technologies Inc., All rights reserved.
4 //
5 // *****************************************************************************
6 
7 #ifndef __PVNETWORKADAPTER_H__
8 #define __PVNETWORKADAPTER_H__
9 
10 #include <PvSystemLib.h>
11 #include <PvInterface.h>
12 #include <PvDeviceInfoGEV.h>
13 #include <PvDeviceInfoPleoraProtocol.h>
14 
15 #include <vector>
16 
17 
18 #ifndef PV_GENERATING_DOXYGEN_DOC
19 
20 // Provided for in-object browsing
21 namespace PvSystemLib
22 {
23  struct IPConfig
24  {
25  std::string mIPAddress;
26  std::string mSubnetMask;
27  };
28 
29  typedef std::vector<IPConfig> IPConfigVector;
30  typedef std::vector<std::string> GatewayVector;
31 }
32 
33 #endif // PV_GENERATING_DOXYGEN_DOC
34 
35 
43 class PV_SYSTEM_API PvNetworkAdapter : public PvInterface
44 {
45 public:
46 
51 
55  virtual ~PvNetworkAdapter();
56 
65 
72  PvString GetMACAddress() const;
73 
79  PvString GetDescription() const;
80 
90  uint32_t GetIPAddressCount() const;
91 
102  PvString GetIPAddress( uint32_t aIndex ) const;
103 
114  PvString GetSubnetMask( uint32_t aIndex ) const;
115 
121  PvString GetDefaultGateway() const;
122 
128  bool IsPleoraDriverInstalled() const;
129 
130 protected:
131 
132 #ifndef PV_GENERATING_DOXYGEN_DOC
133 
134  PvNetworkAdapter( PvSystemLib::IFinderReporter *aFinderReporter );
135 
136  void Init();
137 
138  PvSystemLib::IPConfigVector *GetIPConfigs() { return mIPConfigs; }
139  const PvSystemLib::IPConfigVector *GetIPConfigs() const { return mIPConfigs; }
140 
141  void SetMAC( const std::string &aValue ) { *mMAC = aValue; }
142  void SetDescription( const std::string &aValue ) { *mDescription = aValue; }
143  void SetGateway( const std::string &aValue ) { *mGateway = aValue; }
144 
145  void SetDriverInstalled( bool aValue ) { mDriverInstalled = aValue; }
146 
147 #endif // PV_GENERATING_DOXYGEN_DOC
148 
149 private:
150 
151  // Not implemented
153 
154  std::string *mMAC;
155  std::string *mDescription;
156  std::string *mGateway;
157 
158  PvSystemLib::IPConfigVector *mIPConfigs;
159 
160  bool mDriverInstalled;
161  std::string *mDriverVersion;
162 
163 };
164 
165 #endif
Represents one interface (network adapter or USB host controller) on a system (the PC)
Definition: PvInterface.h:33
Represents one Ethernet network adapter on a system (the PC)
Definition: PvNetworkAdapter.h:44
PvNetworkAdapter & operator=(const PvNetworkAdapter &aFrom)
Equal operator: copies the object.
String class.
Definition: PvString.h:26

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