-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNetwork.cpp
More file actions
93 lines (84 loc) · 1.45 KB
/
Network.cpp
File metadata and controls
93 lines (84 loc) · 1.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
//
// Network.cpp for rush in /home/erwan/Code/teck/piscine/cpp_gkrellm
//
// Made by erwan
// Login <erwan.simon@epitech.eu>
//
// Started on Sun Jan 22 01:00:53 2017 erwan
// Last update Sun Jan 22 02:37:04 2017 erwan
//
#include <string>
#include <fstream>
#include <iostream>
#include "Network.hpp"
#include "Infos.hpp"
Network::Network()
{
}
void Network::setUp(long long int up)
{
this->_up = up;
}
void Network::setDown(long long int down)
{
this->_down = down;
}
long long int Network::getUp() const
{
return (this->_up);
}
long long int Network::getDown() const
{
return (this->_down);
}
Network::~Network()
{
}
void init_Network(Infos &infos)
{
std::string src = "/proc/net/dev";
std::string line;
std::ifstream file(src.c_str(), std::ios::in);
int max = 0;
int a = 0;
int i = 0;
std::string temp;
while (std::getline(file, line))
{
if ((a = line.find(":")) != -1)
{
a++;
while (line[a] == ' ')
a++;
while (line[a] != ' ')
{
temp += line[a];
a++;
}
if (std::stoi(temp) > max)
{
infos._network.setUp(stoi(temp));
temp.erase();
while (i != 7)
{
while (line[a] == ' ')
a++;
while (line[a] != ' ')
a++;
i++;
}
i = 0;
while (line[a] == ' ')
a++;
while (line[a] != ' ')
{
temp += line[a];
a++;
}
infos._network.setDown(std::stoi(temp));
}
}
temp.erase();
}
file.close();
}