Cutelee 6.1.0
loadertags.h
1/*
2 This file is part of the Cutelee template system.
3
4 Copyright (c) 2009,2010 Stephen Kelly <steveire@gmail.com>
5
6 This library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either version
9 2.1 of the Licence, or (at your option) any later version.
10
11 This library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
15
16 You should have received a copy of the GNU Lesser General Public
17 License along with this library. If not, see <http://www.gnu.org/licenses/>.
18
19*/
20
21#ifndef LOADERTAGS_H
22#define LOADERTAGS_H
23
24#include "node.h"
25#include "taglibraryinterface.h"
26
27#include "block.h"
28#include "extends.h"
29#include "include.h"
30
31namespace Cutelee
32{
33class Parser;
34}
35
36using namespace Cutelee;
37
38class LoaderTagLibrary : public QObject, public TagLibraryInterface
39{
40 Q_OBJECT
42 Q_PLUGIN_METADATA(IID "org.cutelee.TagLibraryInterface")
43public:
45
46 QHash<QString, AbstractNodeFactory *> nodeFactories(const QString &name
47 = {}) override
48 {
49 Q_UNUSED(name);
50
51 QHash<QString, AbstractNodeFactory *> nodeFactories;
52 nodeFactories.insert(QStringLiteral("block"), new BlockNodeFactory());
53 nodeFactories.insert(QStringLiteral("extends"), new ExtendsNodeFactory());
54 nodeFactories.insert(QStringLiteral("include"), new IncludeNodeFactory());
55 return nodeFactories;
56 }
57};
58
59#endif
The Parser class processes a string template into a tree of nodes.
Definition parser.h:49
The TagLibraryInterface returns available tags and filters from libraries.
QHash< QString, AbstractNodeFactory * > nodeFactories(const QString &name={}) override
Definition loadertags.h:46
The Cutelee namespace holds all public Cutelee API.
Definition Mainpage.dox:8