namespace simgrid {
namespace surf {
-simgrid::xbt::Extension<simgrid::Host, Host> Host::EXTENSION_ID;
+simgrid::xbt::Extension<simgrid::Host, Host> Host::EXTENSION_ID =
+ simgrid::Host::extension_create<simgrid::surf::Host>([](void *h) {
+ static_cast<simgrid::surf::Host*>(h)->destroy();
+ });
/*********
* Model *
simgrid::surf::signal<void(simgrid::surf::Host*)> Host::onDestruction;
simgrid::surf::signal<void(simgrid::surf::Host*, e_surf_resource_state_t, e_surf_resource_state_t)> Host::onStateChange;
-void Host::classInit()
-{
- if (!EXTENSION_ID.valid()) {
- EXTENSION_ID = simgrid::Host::extension_create<simgrid::surf::Host>([](void *h) {
- static_cast<simgrid::surf::Host*>(h)->destroy();
- });
- }
-}
-
Host::Host(simgrid::surf::Model *model, const char *name, xbt_dict_t props,
xbt_dynar_t storage, NetCard *netElm, Cpu *cpu)
: Resource(model, name)
static simgrid::surf::signal<void(simgrid::surf::Host*, e_surf_resource_state_t, e_surf_resource_state_t)> onStateChange;
public:
- static void classInit(); // must be called before the first use of that class
/**
* @brief Host constructor
*
ROUTING_PROP_ASR_LEVEL = xbt_lib_add_level(as_router_lib,routing_asr_prop_free);
XBT_DEBUG("Add SURF levels");
- simgrid::surf::Host::classInit();
SURF_STORAGE_LEVEL = xbt_lib_add_level(storage_lib,surf_storage_free);
xbt_init(argc, argv);