AnCH Framework 0.1
Another C++ Hack Framework
 
Loading...
Searching...
No Matches
network.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#include <map>
24#include <mutex>
25
26#include "device/networkInterface.hpp"
27#include "device/deviceException.hpp"
28
29
30namespace anch::device {
31
37 class Network {
38
39 private:
40 // Attributes +
42 static std::map<std::string,anch::device::NetworkInterface>* _interfaces;
43
45 static std::mutex MUTEX;
46 // Attributes -
47
48 private:
49 // Constructors +
53 Network();
54 // Constructors -
55
56 public:
57 // Destructors +
61 virtual ~Network();
62 // Destructors -
63
64 public:
65 // Methods +
75 static const anch::device::NetworkInterface* getInterface(const std::string& ifName);
76
84 static const std::map<std::string,anch::device::NetworkInterface>& getInterfaces();
85
91 static void reload();
92
93 private:
99 static void load();
100 // Methods -
101
102 };
103
104}
static const std::map< std::string, anch::device::NetworkInterface > & getInterfaces()
static const anch::device::NetworkInterface * getInterface(const std::string &ifName)
static void reload()
Definition networkInterface.hpp:36
Device management namespace.
Definition cpu.hpp:40