1 /*
2  * Copyright (C) 2013-2017 Daniel Nicoletti <dantti12@gmail.com>
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
17  */
18 
19 #ifndef CLEARSILVER_P_H
20 #define CLEARSILVER_P_H
21 
22 #include "clearsilver.h"
23 #include "view_p.h"
24 
25 #include <ClearSilver/ClearSilver.h>
26 
27 namespace Cutelyst {
28 
29 class ClearSilverPrivate : public ViewPrivate
30 {
31 public:
32     virtual ~ClearSilverPrivate() override = default;
33 
34     HDF *hdfForStash(Context *c, const QVariantHash &stash) const;
35     void serializeHash(HDF *hdf, const QVariantHash &hash, const QString &prefix = QString()) const;
36     void serializeMap(HDF *hdf, const QVariantMap &map, const QString &prefix = QString()) const;
37     void serializeVariant(HDF *hdf, const QVariant &value, const QString &key) const;
38     bool render(Context *c, const QString &filename, const QVariantHash &stash, QByteArray &output) const;
39     void renderError(Context *c, const QString &error) const;
40 
41     QStringList includePaths;
42     QString extension = QStringLiteral(".html");
43     QString wrapper;
44 };
45 
46 }
47 
48 #endif // CLEARSILVER_P_H
49