#ifndef TreeBuilder_hpp
#define TreeBuilder_hpp

#include <vector>
#include <TreeInterfaces.hpp>
#include "Launcher.hpp"

namespace apoc { namespace legacy { namespace plugins { namespace launchers {

class TreeBuilder: public IUpdateLayer { 
    private: 
        // variables 
        std::vector<Launcher> mLaunchers; 
    
    public: 
        TreeBuilder(std::vector<Launcher>& aLaunchers); 
        virtual ~TreeBuilder(); 
        
        virtual void read(ITreeHandler& aHandler) const; 
    
    private: 
        // methods 
        void addLauncher(ITreeHandler& aHandler, 
                         const Launcher& aLauncher) const; 

}; 

}}}};



#endif
