add network and device structure

This commit is contained in:
Robert 2023-06-30 01:13:55 +02:00
commit aa458dadd6
10 changed files with 138 additions and 0 deletions

20
include/Device.hpp Normal file
View file

@ -0,0 +1,20 @@
#pragma once
#include <cstdint>
#include <string>
#include <memory>
class Device {
public:
friend std::ostream& operator<<(std::ostream& os, const Device& device);
public:
Device(const std::string& macAddress);
static std::shared_ptr<Device> create(const std::string& macAddress);
private:
void parseAndSetMac(const std::string& macAddress);
private:
uint8_t macAddress[6];
};

4
include/Netsim.hpp Normal file
View file

@ -0,0 +1,4 @@
#pragma once
#include "Network.hpp"
#include "Device.hpp"

21
include/Network.hpp Normal file
View file

@ -0,0 +1,21 @@
#pragma once
#include <vector>
#include <memory>
#include <string>
#include "Device.hpp"
class Network {
public:
friend std::ostream& operator<<(std::ostream& os, const Network& network);
public:
Network(const std::string& name);
void addDevice(std::shared_ptr<Device> device);
private:
std::vector<std::shared_ptr<Device>> devices;
std::string name;
};