29 lignes
569 B
C
29 lignes
569 B
C
|
#ifndef DYNAMICCONTENTFACTORY_H
|
||
|
#define DYNAMICCONTENTFACTORY_H
|
||
|
|
||
|
#include "dynamiccontent.h"
|
||
|
|
||
|
class DynamicContentFactory
|
||
|
{
|
||
|
private:
|
||
|
Template *templ;
|
||
|
Database *db;
|
||
|
UrlProvider *urlProvider;
|
||
|
|
||
|
public:
|
||
|
DynamicContentFactory(Template &templ, Database &db, UrlProvider &urlProvider)
|
||
|
{
|
||
|
this->templ = &templ;
|
||
|
this->db = &db;
|
||
|
this->urlProvider = &urlProvider;
|
||
|
}
|
||
|
|
||
|
template <class T> inline std::shared_ptr<T> createDynamicContent()
|
||
|
{
|
||
|
return std::make_shared<T>(*this->templ, *this->db, *this->urlProvider);
|
||
|
}
|
||
|
|
||
|
|
||
|
};
|
||
|
#endif // DYNAMICCONTENTFACTORY_H_INCLUDED
|