Pleora Technologies Inc. eBUS SDK v7.0.1.7536 API



Loading...
Searching...
No Matches
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
21namespace 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
43class PV_SYSTEM_API PvNetworkAdapter : public PvInterface
44{
45public:
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
130protected:
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
149private:
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-2026 Pleora Technologies Inc.
www.pleora.com