17 #ifndef COM_BORA_SOFTWARE__BALAU_APPLICATION__INJECTOR_CONFIGURATION 18 #define COM_BORA_SOFTWARE__BALAU_APPLICATION__INJECTOR_CONFIGURATION 20 #include <Balau/Application/Impl/Binding.hpp> 21 #include <Balau/Application/Impl/StaticSingletonBuilder.hpp> 26 class ApplicationConfiguration;
27 class EnvironmentConfiguration;
36 public:
virtual void configure()
const = 0;
43 private:
virtual std::vector<std::shared_ptr<Impl::BindingBuilderBase>> build()
const = 0;
45 public:
virtual std::vector<const InjectorConfiguration*> getExtraConfiguration()
const = 0;
46 public:
virtual std::list<std::function<void (const Injector& )>> getPostConstructionCalls()
const = 0;
47 public:
virtual std::list<std::function<void ()>> getPreDestructionCalls()
const = 0;
48 public:
virtual std::list<std::unique_ptr<StaticSingletonRegistrationBase>> getStaticSingletonPostConstructionCalls()
const = 0;
51 public: std::vector<std::shared_ptr<Impl::BindingBuilderBase>> execute()
const {
60 #endif // COM_BORA_SOFTWARE__BALAU_APPLICATION__INJECTOR_CONFIGURATION The root Balau namespace.
Definition: ApplicationConfiguration.hpp:23
virtual void configure() const =0
Configure the injector configuration.
Injector configurations specify injector bindings.
Definition: InjectorConfiguration.hpp:32