-/*********
- * Model *
- *********/
-XBT_PUBLIC_DATA(xbt_dynar_t) model_list;
-
-class Model {
-public:
- Model(string name);
- virtual ~Model();
-
- //ResourcePtr createResource(string name);
- ActionPtr createAction(double _cost, bool _failed);
- virtual double shareResources(double now);
- virtual double shareResourcesLazy(double now);
- virtual double shareResourcesFull(double now);
- double shareResourcesMaxMin(xbt_swag_t running_actions,
- lmm_system_t sys,
- void (*solve) (lmm_system_t));
- virtual void updateActionsState(double now, double delta);
- virtual void updateActionsStateLazy(double now, double delta);
- virtual void updateActionsStateFull(double now, double delta);
-
- string getName() {return m_name;};
-
- void addTurnedOnCallback(ResourceCallback rc);
- void notifyResourceTurnedOn(ResourcePtr r);
-
- void addTurnedOffCallback(ResourceCallback rc);
- void notifyResourceTurnedOff(ResourcePtr r);
-
- void addActionCancelCallback(ActionCallback ac);
- void notifyActionCancel(ActionPtr a);
- void addActionResumeCallback(ActionCallback ac);
- void notifyActionResume(ActionPtr a);
- void addActionSuspendCallback(ActionCallback ac);
- void notifyActionSuspend(ActionPtr a);
-
- lmm_system_t p_maxminSystem;
- e_UM_t p_updateMechanism;
- xbt_swag_t p_modifiedSet;
- xbt_heap_t p_actionHeap;
- int m_selectiveUpdate;
-
- xbt_swag_t p_readyActionSet; /**< Actions in state SURF_ACTION_READY */
- xbt_swag_t p_runningActionSet; /**< Actions in state SURF_ACTION_RUNNING */
- xbt_swag_t p_failedActionSet; /**< Actions in state SURF_ACTION_FAILED */
- xbt_swag_t p_doneActionSet; /**< Actions in state SURF_ACTION_DONE */
- string m_name;
-
-protected:
- std::vector<ActionPtr> m_failedActions, m_runningActions;
-
-private:
- ResourceCallback m_resOnCB, m_resOffCB;
- ActionCallback m_actCancelCB, m_actSuspendCB, m_actResumeCB;
-};
+/** @ingroup SURF_models
+ * @brief Initializes the platform with the network model NS3
+ *
+ * This function is called by surf_host_model_init_NS3 or by yourself only if you plan using
+ * surf_host_model_init_compound
+ *
+ * @see surf_host_model_init_NS3()
+ */
+#if !SIMGRID_HAVE_NS3
+XBT_ATTRIB_NORETURN
+#endif
+XBT_PUBLIC void surf_network_model_init_NS3();