Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
remove a C-like pimple
authorMartin Quinson <martin.quinson@loria.fr>
Wed, 6 Jan 2016 20:45:13 +0000 (21:45 +0100)
committerMartin Quinson <martin.quinson@loria.fr>
Wed, 6 Jan 2016 20:45:13 +0000 (21:45 +0100)
src/surf/host_interface.cpp
src/surf/host_interface.hpp
src/surf/surf_interface.cpp

index 203bede..8772f95 100644 (file)
@@ -31,7 +31,10 @@ void host_add_traces(){
 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 *
@@ -87,15 +90,6 @@ simgrid::surf::signal<void(simgrid::surf::Host*)> Host::onCreation;
 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)
index 3177e18..b69e1a8 100644 (file)
@@ -84,7 +84,6 @@ public:
   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
    *
index fe54219..b05dfd7 100644 (file)
@@ -316,7 +316,6 @@ void surf_init(int *argc, char **argv)
   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);