1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
3
4#ifndef XBELSUPPORT_H
5#define XBELSUPPORT_H
6
7#include <QtCore/QXmlStreamReader>
8#include <QtCore/QPersistentModelIndex>
9
10QT_FORWARD_DECLARE_CLASS(QIODevice)
11QT_FORWARD_DECLARE_CLASS(QModelIndex)
12
13QT_BEGIN_NAMESPACE
14
15class BookmarkModel;
16
17class XbelWriter : public QXmlStreamWriter
18{
19public:
20 XbelWriter(BookmarkModel *model);
21 void writeToFile(QIODevice *device);
22
23private:
24 void writeData(const QModelIndex &index);
25
26private:
27 BookmarkModel *bookmarkModel;
28};
29
30class XbelReader : public QXmlStreamReader
31{
32public:
33 XbelReader(BookmarkModel *model);
34 bool readFromFile(QIODevice *device);
35
36private:
37 void readXBEL();
38 void readFolder();
39 void readBookmark();
40 void readUnknownElement();
41
42private:
43 BookmarkModel *bookmarkModel;
44 QList<QPersistentModelIndex> parents;
45};
46
47QT_END_NAMESPACE
48
49#endif // XBELSUPPORT_H
50

source code of qttools/src/assistant/assistant/xbelsupport.h