#ifndef COMPONENTLOADER_H #define COMPONENTLOADER_H /// Helper for loading and maintaining Project2 components class ComponentLoader { public: virtual ~ComponentLoader() = 0; virtual void onBegin(); // App engine start up (before settings are processed) virtual void onBefore(); // Before the app engine processes a request (after settings are processed) virtual void onIdle(); // When the app engine goes idle virtual void onIteration(); // When the app engine has completed an iteration virtual void onPeriodic(); // When the app engine feels like it virtual void onConfigLoad(); // When the environment reloads the configuration virtual bool cacheable() const { return true; } // The component can be cached for next run }; #endif