place netsim in static library

This commit is contained in:
Robert 2023-06-30 01:19:45 +02:00
parent aa458dadd6
commit 8f840ff1fe
10 changed files with 17 additions and 10 deletions

39
netsim/src/Device.cpp Normal file
View file

@ -0,0 +1,39 @@
#include "Device.hpp"
#include <sstream>
#include <iostream>
Device::Device(const std::string& macAddress) {
parseAndSetMac(macAddress);
}
std::shared_ptr<Device> Device::create(const std::string& macAddress) {
return std::make_shared<Device>(macAddress);
}
void Device::parseAndSetMac(const std::string& mac) {
sscanf(
mac.c_str(),
"%hhx:%hhx:%hhx:%hhx:%hhx:%hhx",
&(macAddress[0]),
&(macAddress[1]),
&(macAddress[2]),
&(macAddress[3]),
&(macAddress[4]),
&(macAddress[5])
);
}
std::ostream& operator<<(std::ostream& os, const Device& device) {
printf(
"%02X:%02X:%02X:%02X:%02X:%02X",
device.macAddress[0],
device.macAddress[1],
device.macAddress[2],
device.macAddress[3],
device.macAddress[4],
device.macAddress[5]
);
return os;
}

23
netsim/src/Network.cpp Normal file
View file

@ -0,0 +1,23 @@
#include "Network.hpp"
#include <iostream>
Network::Network(const std::string& name) :
name(name)
{
}
void Network::addDevice(std::shared_ptr<Device> device) {
devices.push_back(device);
}
std::ostream& operator<<(std::ostream& os, const Network& network) {
os << "Network '" << network.name << "'" << std::endl << std::endl;
os << "Devices:" << std::endl;
for (const auto& dev : network.devices) {
os << "\t" << *dev << std::endl;
}
return os;
}