1/* This file is part of the KDE project
2 Copyright (C) 2006-2007 Matthias Kretz <kretz@kde.org>
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) version 3, or any
8 later version accepted by the membership of KDE e.V. (or its
9 successor approved by the membership of KDE e.V.), Nokia Corporation
10 (or its successors, if any) and the KDE Free Qt Foundation, which shall
11 act as a proxy defined in Section 6 of version 3 of the license.
12
13 This library is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 Lesser General Public License for more details.
17
18 You should have received a copy of the GNU Lesser General Public
19 License along with this library. If not, see <http://www.gnu.org/licenses/>.
20
21*/
22
23#ifndef PHONON_OBJECTDESCRIPTIONMODEL_P_H
24#define PHONON_OBJECTDESCRIPTIONMODEL_P_H
25
26#include "objectdescriptionmodel.h"
27#include <QList>
28#include "objectdescription.h"
29
30#ifndef QT_NO_PHONON_OBJECTDESCRIPTIONMODEL
31
32namespace Phonon
33{
34
35class ListModelHelper : public QAbstractListModel
36{
37 public:
38 using QAbstractListModel::layoutAboutToBeChanged;
39 using QAbstractListModel::changePersistentIndexList;
40 using QAbstractListModel::layoutChanged;
41 using QAbstractListModel::beginResetModel;
42 using QAbstractListModel::endResetModel;
43 using QAbstractListModel::beginInsertRows;
44 using QAbstractListModel::endInsertRows;
45 using QAbstractListModel::beginRemoveRows;
46 using QAbstractListModel::endRemoveRows;
47};
48
49class ObjectDescriptionModelDataPrivate
50{
51 public:
52 ObjectDescriptionModelDataPrivate(QAbstractListModel *m) : model(reinterpret_cast<ListModelHelper *>(m)) {}
53 QList<QExplicitlySharedDataPointer<ObjectDescriptionData> > data;
54 ListModelHelper *model;
55};
56
57}
58
59#endif //QT_NO_PHONON_OBJECTDESCRIPTIONMODEL
60
61#endif // PHONON_OBJECTDESCRIPTIONMODEL_P_H
62// vim: sw=4 ts=4 tw=80
63

source code of phonon/phonon/objectdescriptionmodel_p.h