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 "BackForwardListImpl.h"
24#include "HistoryItem.h"
25#include "qwebkitglobal.h"
26#include <QtCore/qglobal.h>
27#include <QtCore/qshareddata.h>
28
29class QWebPageAdapter;
30
31class QWEBKIT_EXPORT QWebHistoryItemPrivate : public QSharedData {
32public:
33    static QExplicitlySharedDataPointer<QWebHistoryItemPrivate> get(QWebHistoryItem* q)
34    {
35        return q->d;
36    }
37    QWebHistoryItemPrivate(WebCore::HistoryItem* i)
38    {
39        if (i)
40            i->ref();
41        item = i;
42    }
43    ~QWebHistoryItemPrivate()
44    {
45        if (item)
46            item->deref();
47    }
48
49    static WebCore::HistoryItem* core(const QWebHistoryItem* q);
50
51    WebCore::HistoryItem* item;
52};
53
54class QWebHistoryPrivate : public QSharedData {
55public:
56    QWebHistoryPrivate(WebCore::BackForwardListImpl* l)
57    {
58        l->ref();
59        lst = l;
60    }
61    ~QWebHistoryPrivate()
62    {
63        lst->deref();
64    }
65
66    QWebPageAdapter* page();
67
68    WebCore::BackForwardListImpl* lst;
69};
70
71
72#endif
73