Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
2810c162beddd4877e11f6f037c1a203711188ce
[simgrid.git] / include / simgrid / Host.hpp
1 /* Copyright (c) 2015. The SimGrid Team.
2  * All rights reserved.                                                     */
3
4 /* This program is free software; you can redistribute it and/or modify it
5  * under the terms of the license (GNU LGPL) which comes with this package. */
6
7 #ifndef SIMGRID_HOST_HPP
8 #define SIMGRID_HOST_HPP
9
10 #include <cstddef>
11 #include <memory>
12 #include <string>
13 #include <vector>
14
15 #include <xbt/base.h>
16 #include <xbt/string.hpp>
17 #include <xbt/Extendable.hpp>
18
19 namespace simgrid {
20
21 XBT_PUBLIC_CLASS Host :
22 public simgrid::xbt::Extendable<Host> {
23
24 public:
25           surf::Cpu     *p_cpu = nullptr;
26           surf::NetCard *p_netcard = nullptr;
27
28 private:
29   simgrid::xbt::string name_ = "noname";
30 public:
31   Host(std::string const& name);
32   ~Host();
33   simgrid::xbt::string const& getName() const { return name_; }
34   static Host* by_name_or_null(const char* name);
35   static Host* by_name_or_create(const char* name);
36 };
37
38 }
39
40 #endif