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);
 | 
			
		||||
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
 | 
			
		||||
                                            parking_tariff_t *tariff,
 | 
			
		||||
                                            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
 | 
			
		||||
CalcState CALCULATE_LIBRARY_API compute_price_for_parking_ticket(
 | 
			
		||||
        parking_tariff_t *tariff,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user