+
+std::vector<s4u::ActorPtr> HostImpl::get_all_actors()
+{
+ std::vector<s4u::ActorPtr> res;
+ for (auto& actor : actor_list_)
+ res.push_back(actor.ciface());
+ return res;
+}
+size_t HostImpl::get_actor_count()
+{
+ return actor_list_.size();
+}
+
+std::vector<s4u::Disk*> HostImpl::get_disks()
+{
+ std::vector<s4u::Disk*> disks;
+ for (auto const& d : disks_)
+ disks.push_back(&d->piface_);
+ return disks;
+}
+
+void HostImpl::add_disk(s4u::Disk* disk)
+{
+ disks_.push_back(disk->get_impl());
+}
+
+void HostImpl::remove_disk(const std::string& disk_name)
+{
+ auto position = disks_.begin();
+ for (auto const& d : disks_) {
+ if (d->get_name() == disk_name) {
+ disks_.erase(position);
+ break;
+ }
+ position++;
+ }
+}
+
+std::vector<const char*> HostImpl::get_attached_storages()
+{
+ std::vector<const char*> storages;
+ for (auto const& s : storage_)
+ if (s.second->get_host() == piface_->get_cname())
+ storages.push_back(s.second->piface_.get_cname());
+ return storages;
+}
+
+} // namespace surf
+} // namespace simgrid