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_ */
|