AnCH Framework 0.1
Another C++ Hack Framework
 
Loading...
Searching...
No Matches
networkInterface.hpp
1/*
2 ANCH Framework: ANother C++ Hack is a C++ framework based on C++11 standard
3 Copyright (C) 2012 Vincent Lachenal
4
5 This file is part of ANCH Framework.
6
7 ANCH Framework is free software: you can redistribute it and/or modify
8 it under the terms of the GNU Lesser General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 ANCH Framework is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU Lesser General Public License for more details.
16
17 You should have received a copy of the GNU Lesser General Public License
18 along with ANCH Framework. If not, see <http://www.gnu.org/licenses/>.
19*/
20#pragma once
21
22#include <iostream>
23
24#include <net/if.h>
25
26#include "device/deviceException.hpp"
27
28
29namespace anch::device {
30
37 private:
38 // Attributes +
40 std::string _name;
41
43 std::string _ipAddress;
44
46 std::string _macAddress;
47
49 std::string _broadcastAddress;
50
52 std::string _netmask;
53
55 int _mtu;
56
58 int _metric;
59
61 bool _localhost;
62 // Attributes -
63
64 public:
65 // Constructor +
74 NetworkInterface(const struct ifreq& interface, bool isLocalhost);
75 // Constructor -
76
77 // Destructor +
82 // Destructor -
83
84 public:
85 // Accessors +
91 inline const std::string& getName() const;
92
98 inline const std::string& getIpAddress() const;
99
105 inline const std::string& getMacAddress() const;
106
112 inline const std::string& getBroadcastAddress() const;
113
119 inline const std::string& getNetmask() const;
120
126 inline int getMtu() const;
127
133 inline int getMetric() const;
134
140 inline bool isLocalhost() const;
141 // Accessors -
142
143 };
144
145}
146
147#include "device/impl/networkInterface.hpp"
const std::string & getMacAddress() const
const std::string & getIpAddress() const
NetworkInterface(const struct ifreq &interface, bool isLocalhost)
const std::string & getBroadcastAddress() const
const std::string & getName() const
const std::string & getNetmask() const
Device management namespace.
Definition cpu.hpp:40