/** * Runs this model. * * @param self the model. * @param herds a herd list. * @param zones a zone list. * @param event the event that caused the model to run. * @param rng a random number generator. * @param queue for any new events the model creates. */ void run (struct ergadm_model_t_ *self, HRD_herd_list_t * herds, ZON_zone_list_t * zones, EVT_event_t * event, RAN_gen_t * rng, EVT_event_queue_t * queue) { #if DEBUG g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "----- ENTER run (%s)", MODEL_NAME); #endif switch (event->type) { case EVT_NewDay: handle_new_day_event (self, &(event->u.new_day)); break; case EVT_CommitmentToVaccinate: handle_commitment_to_vaccinate_event (self, &(event->u.commitment_to_vaccinate)); break; case EVT_Vaccination: handle_vaccination_event (self, &(event->u.vaccination)); break; case EVT_Destruction: handle_destruction_event (self, &(event->u.destruction)); break; default: g_error ("%s has received a %s event, which it does not listen for. This should never happen. Please contact the developer.", MODEL_NAME, EVT_event_type_name[event->type]); } #if DEBUG g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "----- EXIT run (%s)", MODEL_NAME); #endif }
/** * Runs this module. * * @param self this module. * @param units a list of units. * @param zones a list of zones. * @param event the event that caused this module to run. * @param rng a random number generator. * @param queue for any new events this module creates. */ void run (struct adsm_module_t_ *self, UNT_unit_list_t * units, ZON_zone_list_t * zones, EVT_event_t * event, RAN_gen_t * rng, EVT_event_queue_t * queue) { #if DEBUG g_debug ("----- ENTER run (%s)", MODEL_NAME); #endif switch (event->type) { case EVT_OutputDirectory: handle_output_dir_event (self, &(event->u.output_dir)); break; case EVT_BeforeAnySimulations: handle_before_any_simulations_event (self, units); break; case EVT_BeforeEachSimulation: handle_before_each_simulation_event (self); break; case EVT_Infection: handle_infection_event (self, &(event->u.infection)); break; case EVT_Vaccination: handle_vaccination_event (self, &(event->u.vaccination)); break; case EVT_Destruction: handle_destruction_event (self, &(event->u.destruction)); break; default: g_error ("%s has received a %s event, which it does not listen for. This should never happen. Please contact the developer.", MODEL_NAME, EVT_event_type_name[event->type]); } #if DEBUG g_debug ("----- EXIT run (%s)", MODEL_NAME); #endif return; }
/** * Runs this model. * * @param self the model. * @param herds a herd list. * @param zones a zone list. * @param event the event that caused the model to run. * @param rng a random number generator. * @param queue for any new events the model creates. */ void run (struct ergadm_model_t_ *self, HRD_herd_list_t * herds, ZON_zone_list_t * zones, EVT_event_t * event, RAN_gen_t * rng, EVT_event_queue_t * queue) { #if DEBUG g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "----- ENTER run (%s)", MODEL_NAME); #endif if( NULL != guilib_printf ) { char guilog[1024]; sprintf( guilog, "ENTER run %s", MODEL_NAME); //guilib_printf( guilog ); } switch (event->type) { case EVT_Vaccination: handle_vaccination_event (self, &(event->u.vaccination)); break; case EVT_Destruction: handle_destruction_event (self, &(event->u.destruction)); break; default: g_error ("%s has received a %s event, which it does not listen for. This should never happen. Please contact the developer.", MODEL_NAME, EVT_event_type_name[event->type]); } #if DEBUG g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "----- EXIT run (%s)", MODEL_NAME); #endif if( NULL != guilib_printf ) { char guilog[1024]; sprintf( guilog, "EXIT run %s", MODEL_NAME); //guilib_printf( guilog ); } }