///////////////////////////////////////////////////////////////////////////////////////////////////
// Interface IDreamObserver
[
object,
uuid(403837B3-648A-4EEB-ACDC-24209CEF3F31),
local,
helpstring("IDreamObserver - interface to calculation observer"),
pointer_default(unique)
]
interface IDreamObserver : IUnknown
{
[helpstring("Add new message to log")]
HRESULT OnLogMessage([in] BSTR strLogMessage);
[helpstring("Provides information about calculation error")]
HRESULT OnError([in] IDreamErrorInfo* pErrorInfo);
[helpstring("Progress evaluation step")]
HRESULT SetCurrentStep([in] float iStep);
[helpstring("Set convergence information")]
HRESULT SetConvergenceInfo([in] float fInfo);
[helpstring("Called after the calculation was terminated by user")]
HRESULT OnCalculationTerminatedByUser();
[helpstring("Called after finishing the calculation")]
HRESULT OnCalculationFinished();
[helpstring("Called before exporting output data")]
HRESULT OnPreparingOutputData();
[helpstring("Was the calculation terminated by user? Yes (S_OK) or not (S_FALSE)")]
HRESULT CalculationTerminatedByUser();
};