umn-drone / project / libs / transit / include / CompositeFactory.h
CompositeFactory.h
Raw
#ifndef COMPOSITE_FACTORY_H_
#define COMPOSITE_FACTORY_H_

#include "entity.h"
#include "IEntityFactory.h"

class CompositeFactory : public IEntityFactory {
  public:

    IEntity* CreateEntity(JsonObject& entity);
    void AddFactory(IEntityFactory* factoryEntity);
    virtual ~CompositeFactory();

  private:
    std::vector<IEntityFactory*> componentFactories;
};

#endif