#pragma once #include #include "IAppComponent.hpp" #include namespace NGL { class Settings; } namespace N_AppComponent { class PRTCNVLIB_EXPORT AppComponent : public N_AppComponent::IAppComponent { public: AppComponent() = default; ~AppComponent() = default; int32_t create(NGL::Settings *settings) override; int32_t deinit() override; int32_t destroy() override; int32_t init() override; int32_t start() override; int32_t stop() override; protected: void addChild(IAppComponent* a_child, const QString& a_name = QString()); IAppComponent* getChild(const QString& a_name); private: std::vector m_Childs; }; }