Add compute_next_timestep()
This commit is contained in:
		@@ -109,6 +109,8 @@ CalcState CALCULATE_LIBRARY_API init_tariff(parking_tariff_t **tariff,
 | 
				
			|||||||
void CALCULATE_LIBRARY_API free_tariff(parking_tariff_t *tariff);
 | 
					void CALCULATE_LIBRARY_API free_tariff(parking_tariff_t *tariff);
 | 
				
			||||||
int CALCULATE_LIBRARY_API get_zone_nr(int zone = -1);
 | 
					int CALCULATE_LIBRARY_API get_zone_nr(int zone = -1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int CALCULATE_LIBRARY_API compute_next_timestep(parking_tariff_t *tariff, int currentTimeMinutes, int UpDown);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
CalcState CALCULATE_LIBRARY_API compute_price_for_parking_ticket(       // deprecated
 | 
					CalcState CALCULATE_LIBRARY_API compute_price_for_parking_ticket(       // deprecated
 | 
				
			||||||
                                            parking_tariff_t *tariff,
 | 
					                                            parking_tariff_t *tariff,
 | 
				
			||||||
                                            time_t start_parking_time,
 | 
					                                            time_t start_parking_time,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -93,6 +93,44 @@ void CALCULATE_LIBRARY_API free_tariff(parking_tariff_t *tariff) {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// UpDown 1 -> up; 0 -> down
 | 
				
			||||||
 | 
					int CALCULATE_LIBRARY_API compute_next_timestep(parking_tariff_t *tariff, int currentTimeMinutes, int UpDown)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    static const QList<int> stepList = calculator.GetTimeSteps(tariff);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    int currentStepIndex = stepList.indexOf(currentTimeMinutes);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (currentStepIndex == -1) {
 | 
				
			||||||
 | 
					        qCritical() << "compute_next_timestep() *NO STEP* for currentTimeMinutes (" << currentTimeMinutes << ")";
 | 
				
			||||||
 | 
					        return  currentTimeMinutes;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (UpDown == 1) { // UP
 | 
				
			||||||
 | 
					        if (stepList[currentStepIndex] == stepList.last()) {
 | 
				
			||||||
 | 
					            qCritical() << "compute_next_timestep() *NO NEXT STEP* for currentTimeMinutes (" << currentTimeMinutes << ")";
 | 
				
			||||||
 | 
					            return  currentTimeMinutes;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        else {
 | 
				
			||||||
 | 
					            return stepList[currentStepIndex + 1];
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    if (UpDown == 0) { // DOWN
 | 
				
			||||||
 | 
					        if (stepList[currentStepIndex] == stepList.first()) {
 | 
				
			||||||
 | 
					            qCritical() << "compute_next_timestep() *NO PREVIOUS STEP* for currentTimeMinutes (" << currentTimeMinutes << ")";
 | 
				
			||||||
 | 
					            return  currentTimeMinutes;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        else {
 | 
				
			||||||
 | 
					            return stepList[currentStepIndex - 1];
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    qCritical() << "compute_next_timestep() *CAN NOT COMPUTE* for currentTimeMinutes (" << currentTimeMinutes << ")";
 | 
				
			||||||
 | 
					    return  currentTimeMinutes;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// this is currently not used
 | 
					// this is currently not used
 | 
				
			||||||
CalcState CALCULATE_LIBRARY_API compute_price_for_parking_ticket(
 | 
					CalcState CALCULATE_LIBRARY_API compute_price_for_parking_ticket(
 | 
				
			||||||
        parking_tariff_t *tariff,
 | 
					        parking_tariff_t *tariff,
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user