diff options
Diffstat (limited to 'src/Content.hpp')
-rw-r--r-- | src/Content.hpp | 30 |
1 files changed, 10 insertions, 20 deletions
diff --git a/src/Content.hpp b/src/Content.hpp index c379522..82eb35e 100644 --- a/src/Content.hpp +++ b/src/Content.hpp @@ -8,30 +8,20 @@ #include <tuple> #include <vector> -typedef std::vector<std::string> Redirections; +using Redirections = std::vector<std::string>; +using RenderData = std::unordered_map<std::string, std::string>; -class Content { +class Content +{ public: - virtual bool Init() = 0; - virtual void Shutdown() = 0; - virtual bool Render(RequestResponse & rr, std::string & out) = 0; + virtual bool Init() = 0; + virtual void Shutdown() = 0; - virtual std::string const & GetBaseUri() const = 0; - virtual Redirections const & GetRedirections() const = 0; - virtual void GetRequiredFiles(std::vector<std::string> & requiredFiles) const = 0; -}; - -class TemplatedContent : public Content { -public: - explicit TemplatedContent(std::string mainTemplate); - - virtual bool Init(); - virtual void Shutdown(); - virtual bool Render(RequestResponse & rr, std::string & out); - virtual void GetRequiredFiles(std::vector<std::string> & requiredFiles) const; + virtual bool Render(RequestResponse & rr, RenderData & rd) = 0; -private: - std::string m_FilesystemPath; + virtual std::string const & GetUriBasePath() const = 0; + virtual std::string const & GetMainTemplate() const = 0; + virtual Redirections const & GetRedirections() const = 0; }; #endif |