1/*
2    Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
3
4    This library is free software; you can redistribute it and/or
5    modify it under the terms of the GNU Library General Public
6    License as published by the Free Software Foundation; either
7    version 2 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    Library General Public License for more details.
13
14    You should have received a copy of the GNU Library General Public License
15    along with this library; see the file COPYING.LIB.  If not, write to
16    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17    Boston, MA 02110-1301, USA.
18*/
19
20#ifndef QWEBHISTORY_P_H
21#define QWEBHISTORY_P_H
22
23#include "BackForwardList.h"
24#include "HistoryItem.h"
25#include <QtCore/qglobal.h>
26#include <QtCore/qshareddata.h>
27
28class QWebPagePrivate;
29
30class Q_AUTOTEST_EXPORT QWebHistoryItemPrivate : public QSharedData {
31public:
32    static QExplicitlySharedDataPointer<QWebHistoryItemPrivate> get(QWebHistoryItem* q)
33    {
34        return q->d;
35    }
36    QWebHistoryItemPrivate(WebCore::HistoryItem* i)
37    {
38        if (i)
39            i->ref();
40        item = i;
41    }
42    ~QWebHistoryItemPrivate()
43    {
44        if (item)
45            item->deref();
46    }
47
48    WebCore::HistoryItem* item;
49};
50
51class QWebHistoryPrivate : public QSharedData {
52public:
53    QWebHistoryPrivate(WebCore::BackForwardList* l)
54    {
55        l->ref();
56        lst = l;
57    }
58    ~QWebHistoryPrivate()
59    {
60        lst->deref();
61    }
62
63    QWebPagePrivate* page();
64
65    WebCore::BackForwardList* lst;
66};
67
68
69#endif
70