40 std::unique_lock lock(mutex);
41 if (clouds.find(name) == clouds.end())
43 clouds.emplace(name,
nullptr);
50 std::unique_lock lock(mutex);
51 auto find = clouds.find(name);
52 if (find != clouds.end())
54 if (find->second !=
nullptr)
56 int position = this->findChild(find->second);
59 this->removeChild(position);
66 std::vector<std::string>
69 std::unique_lock lock(mutex);
71 std::vector<std::string> cloud_list;
72 for (
const auto& [name, _] : clouds)
74 cloud_list.push_back(name);
82 std::unique_lock lock(mutex);
83 auto find = clouds.find(name);
84 return find != clouds.end() ? find->second :
nullptr;
90 std::unique_lock lock(mutex);
92 auto item = clouds.find(name);
93 if (item != clouds.end())
95 if (item->second !=
nullptr)
98 int position = this->findChild(item->second);
101 this->removeChild(position);
104 item->second = &cloud;
105 this->addChild(&cloud);