medianode.h

Go to the documentation of this file.
00001 /*  This file is part of the KDE project
00002     Copyright (C) 2007 Matthias Kretz <kretz@kde.org>
00003     Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). <thierry.bastian@trolltech.com>
00004 
00005     This library is free software; you can redistribute it and/or
00006     modify it under the terms of the GNU Lesser General Public
00007     License as published by the Free Software Foundation; either
00008     version 2.1 of the License, or (at your option) version 3, or any
00009     later version accepted by the membership of KDE e.V. (or its
00010     successor approved by the membership of KDE e.V.), Nokia Corporation 
00011     (or its successors, if any) and the KDE Free Qt Foundation, which shall
00012     act as a proxy defined in Section 6 of version 3 of the license.
00013 
00014     This library is distributed in the hope that it will be useful,
00015     but WITHOUT ANY WARRANTY; without even the implied warranty of
00016     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00017     Lesser General Public License for more details.
00018 
00019     You should have received a copy of the GNU Lesser General Public 
00020     License along with this library.  If not, see <http://www.gnu.org/licenses/>.
00021 
00022 */
00023 
00024 #ifndef PHONON_MEDIANODE_H
00025 #define PHONON_MEDIANODE_H
00026 
00027 #include "phonondefs.h"
00028 #include "phonon_export.h"
00029 #include "path.h"
00030 
00031 QT_BEGIN_HEADER
00032 QT_BEGIN_NAMESPACE
00033 
00034 namespace Phonon
00035 {
00036 
00037     class Path;
00038     class MediaNodePrivate;
00039     class PHONON_EXPORT MediaNode
00040     {
00041         friend class Path;
00042         friend class PathPrivate;
00043         friend PHONON_EXPORT Path createPath(MediaNode *source, MediaNode *sink);
00044         K_DECLARE_PRIVATE(MediaNode)
00045     public:
00046         virtual ~MediaNode();
00054         bool isValid() const;
00055 
00056         QList<Path> inputPaths() const;
00057         QList<Path> outputPaths() const;
00058 
00059     protected:
00060         MediaNode(MediaNodePrivate &dd);
00061         MediaNodePrivate *const k_ptr;
00062     };
00063 
00064 } // namespace Phonon
00065 
00066 QT_END_NAMESPACE
00067 QT_END_HEADER
00068 
00069 #endif // PHONON_MEDIANODE_H