#ifndef MAPVIEWELEMENTACCESSPOINT_H #define MAPVIEWELEMENTACCESSPOINT_H #include "MapModelElement.h" #include "IHasMAC.h" #include "IHasName.h" #include "../elements/MV2DElementAccessPoint.h" #include class MMFloorAccessPoint : public MapModelElement, public IHasMAC, public IHasName { private: Floorplan::Floor* floor; Floorplan::AccessPoint* ap; MV2DElementAccessPoint mv2d; public: MMFloorAccessPoint(MapLayer* parent, Floorplan::Floor* floor, Floorplan::AccessPoint* ap) : MapModelElement(parent), floor(floor), ap(ap), mv2d(ap) { } virtual void setMAC(const std::string& mac) override {ap->mac = mac;} virtual const std::string& getMAC() const override {return ap->mac;} virtual void setName(const std::string& name) override {ap->name = name;} virtual const std::string& getName() const override {return ap->name;} MV2DElement* getMV2D() const override {return (MV2DElement*) &mv2d;} void deleteMe() const override { parent->removeElement(this); floor->accesspoints.erase(std::remove(floor->accesspoints.begin(), floor->accesspoints.end(), ap), floor->accesspoints.end()); } }; #endif // MAPVIEWELEMENTACCESSPOINT_H