47 lines
1.4 KiB
C++
47 lines
1.4 KiB
C++
/*
|
|
* AppBuilderRobust.hh
|
|
*
|
|
* Created on: 9 ñåíò. 2020 ã.
|
|
* Author: LeonidTitov
|
|
*/
|
|
|
|
#ifndef UMLIBRARY_CONFIGURATION_SOFTWARE_APPBUILDERROBUST_HH_
|
|
#define UMLIBRARY_CONFIGURATION_SOFTWARE_APPBUILDERROBUST_HH_
|
|
|
|
#include "AppBuilder.hh"
|
|
|
|
#include "../../systemic/SystemException.hh"
|
|
|
|
namespace configuration { namespace software {
|
|
|
|
class AppBuilderRobust : public AppBuilder {
|
|
public:
|
|
AppBuilderRobust( BuildedItem * items, std::size_t items_size,
|
|
Environment & env ) : AppBuilder( items, items_size, env ) {}
|
|
|
|
struct AppBuilderException : public systemic::SystemException {
|
|
|
|
static const std::size_t self_id = 0x0AA0;
|
|
|
|
std::size_t id() const noexcept;
|
|
std::pair<const char *, std::size_t> binary() const noexcept;
|
|
const char * what() const noexcept;
|
|
|
|
static const std::size_t description_size = 64;
|
|
static char description[description_size];
|
|
|
|
static const std::size_t data_size = 64;
|
|
static char data[data_size];
|
|
};
|
|
|
|
protected:
|
|
virtual bool do_input( Environment & env, application::ISetupStep * & ) override;
|
|
virtual bool do_prepare( application::ISetupStep * & ) override;
|
|
virtual bool do_build( Environment & env, application::ISetupStep * & ) override;
|
|
virtual bool do_end( Environment & env, application::ISetupStep * & ) override;
|
|
};
|
|
|
|
}}
|
|
|
|
#endif /* UMLIBRARY_CONFIGURATION_SOFTWARE_APPBUILDERROBUST_HH_ */
|