-/* Copyright (c) 2016. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2016-2017. The SimGrid Team. All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
protected:
friend simgrid::kernel::routing::NetZoneImpl;
- explicit NetZone(NetZone * father, const char* name);
+ explicit NetZone(NetZone * father, std::string name);
virtual ~NetZone();
public:
/** @brief Seal your netzone once you're done adding content, and before routing stuff through it */
virtual void seal();
- char* getCname();
+ /** @brief Retrieves the name of that netzone as a C++ string */
+ const std::string& getName() const { return name_; }
+ /** @brief Retrieves the name of that netzone as a C string */
+ const char* getCname() const;
NetZone* getFather();
std::vector<NetZone*>* getChildren(); // Sub netzones
std::unordered_map<std::string, std::string> properties_;
NetZone* father_ = nullptr;
- char* name_ = nullptr;
+ std::string name_;
bool sealed_ = false; // We cannot add more content when sealed