29 行
		
	
	
		
			569 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			29 行
		
	
	
		
			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
 |