2016-06-15 21:47:26 +02:00
|
|
|
package info.nightscout.androidaps.interfaces;
|
|
|
|
|
2018-03-20 22:09:22 +01:00
|
|
|
import info.nightscout.androidaps.data.Profile;
|
|
|
|
|
2016-06-15 21:47:26 +02:00
|
|
|
/**
|
|
|
|
* Created by mike on 15.06.2016.
|
|
|
|
*/
|
2016-06-20 20:45:55 +02:00
|
|
|
public interface ConstraintsInterface {
|
2016-06-19 13:17:16 +02:00
|
|
|
|
2018-03-19 18:45:23 +01:00
|
|
|
Constraint<Boolean> isLoopInvokationAllowed(Constraint<Boolean> value);
|
2016-06-27 18:48:48 +02:00
|
|
|
|
2018-03-19 18:45:23 +01:00
|
|
|
Constraint<Boolean> isClosedLoopAllowed(Constraint<Boolean> value);
|
2016-06-27 18:48:48 +02:00
|
|
|
|
2018-03-19 22:36:08 +01:00
|
|
|
Constraint<Boolean> isAutosensModeEnabled(Constraint<Boolean> value);
|
2016-06-27 18:48:48 +02:00
|
|
|
|
2018-03-19 22:59:25 +01:00
|
|
|
Constraint<Boolean> isAMAModeEnabled(Constraint<Boolean> value);
|
2016-06-27 18:48:48 +02:00
|
|
|
|
2018-03-19 23:14:04 +01:00
|
|
|
Constraint<Boolean> isSMBModeEnabled(Constraint<Boolean> value);
|
2017-12-31 12:24:51 +01:00
|
|
|
|
2018-03-20 22:09:22 +01:00
|
|
|
Constraint<Double> applyBasalConstraints(Constraint<Double> absoluteRate, Profile profile);
|
2016-06-27 18:48:48 +02:00
|
|
|
|
2018-03-20 22:09:22 +01:00
|
|
|
Integer applyBasalPercentConstraints(Integer percentRate);
|
2016-06-20 21:43:29 +02:00
|
|
|
|
|
|
|
Double applyBolusConstraints(Double insulin);
|
2016-06-27 18:48:48 +02:00
|
|
|
|
2016-06-20 21:43:29 +02:00
|
|
|
Integer applyCarbsConstraints(Integer carbs);
|
2016-06-27 18:48:48 +02:00
|
|
|
|
|
|
|
Double applyMaxIOBConstraints(Double maxIob);
|
|
|
|
|
2016-06-15 21:47:26 +02:00
|
|
|
}
|