50 lines
1.7 KiB
C++
50 lines
1.7 KiB
C++
/*
|
||
* ISetupStep.h
|
||
*
|
||
* Created on: 15 нояб. 2018 г.
|
||
* Author: titov
|
||
*/
|
||
|
||
#ifndef SOURCE_APPLICATION_ISETUPSTEP_H_
|
||
#define SOURCE_APPLICATION_ISETUPSTEP_H_
|
||
|
||
#include "../configuration/Environment.hh"
|
||
|
||
namespace application {
|
||
|
||
//!Интерфейс шага инициализации.
|
||
struct ISetupStep {
|
||
|
||
typedef configuration::Environment Environment;
|
||
|
||
//!Шаг сбора внешних зависимостей приложения.
|
||
/*!Функция вызывается многократно до тех пор пока не вернет true.
|
||
* \return Возращает признак получения всех необходимых внешних зависимостей.
|
||
*/
|
||
virtual bool input( Environment & env ) = 0;
|
||
|
||
//!Шаг подготовки к построению приложения.
|
||
/*!Функция вызывается многократно до тех пор пока не вернет true.
|
||
* \return Возращает признак завершения подготовки шага инициализации.
|
||
*/
|
||
virtual bool prepare();
|
||
|
||
//!Шаг построения приложения.
|
||
/*!Функция вызывается однократно.
|
||
*/
|
||
virtual void build( Environment & env ) = 0;
|
||
|
||
//!Уведомление о успешном завершении построения приложения.
|
||
/*!Функция вызывается однократно
|
||
* \return N/A
|
||
*/
|
||
virtual void finalize() {}
|
||
|
||
//!Деструктор вызывается по завершению построения полного приложения.
|
||
virtual ~ISetupStep() = default;
|
||
};
|
||
|
||
}
|
||
|
||
#endif /* SOURCE_APPLICATION_ISETUPSTEP_H_ */
|