Index: dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Interfaces/IKernelWrapper.cs =================================================================== diff -u -r564 -r672 --- dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Interfaces/IKernelWrapper.cs (.../IKernelWrapper.cs) (revision 564) +++ dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Interfaces/IKernelWrapper.cs (.../IKernelWrapper.cs) (revision 672) @@ -5,11 +5,50 @@ namespace Deltares.DamEngine.Calculators.KernelWrappers.Interfaces { + /// + /// Result of the Prepare method + /// Successful : the input data was created susccesfully + /// Failed : the input data could not be created + /// NotRelevant: the DamKernelInput contains data that is not a relevant input for this mechanism + /// + public enum PrepareResult + { + Successful, + Failed, + NotRelevant + }; + /// + /// Interface to implement external failure mechanisms + /// interface IKernelWrapper { - IKernelDataInput Prepare(DamKernelInput damKernelInput); + /// + /// Prepares the failure mechanism input based on general dam kernel input. + /// + /// The dam kernel input. + /// The kernel data input. + /// + PrepareResult Prepare(DamKernelInput damKernelInput, out IKernelDataInput kernelDataInput); + /// + /// Validates the kernel data input. + /// + /// The kernel data input. + /// The messages. + /// int Validate(IKernelDataInput kernelDataInput, out List messages); + /// + /// Performs a failure mechanism calcualtion based on the input. + /// + /// The kernel data input. + /// The messages. + /// IKernelDataOutput Execute(IKernelDataInput kernelDataInput, out List messages); + /// + /// Fills the dam result based on the kernel output. + /// + /// The dam kernel input. + /// The kernel data output. + /// The design result. void PostProcess(DamKernelInput damKernelInput, IKernelDataOutput kernelDataOutput, out DesignResult designResult); } }