Phonon  4.7.0
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties Pages
medianode.h
1 /* This file is part of the KDE project
2  Copyright (C) 2007 Matthias Kretz <kretz@kde.org>
3  Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). <thierry.bastian@trolltech.com>
4 
5  This library is free software; you can redistribute it and/or
6  modify it under the terms of the GNU Lesser General Public
7  License as published by the Free Software Foundation; either
8  version 2.1 of the License, or (at your option) version 3, or any
9  later version accepted by the membership of KDE e.V. (or its
10  successor approved by the membership of KDE e.V.), Nokia Corporation
11  (or its successors, if any) and the KDE Free Qt Foundation, which shall
12  act as a proxy defined in Section 6 of version 3 of the license.
13 
14  This library is distributed in the hope that it will be useful,
15  but WITHOUT ANY WARRANTY; without even the implied warranty of
16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17  Lesser General Public License for more details.
18 
19  You should have received a copy of the GNU Lesser General Public
20  License along with this library. If not, see <http://www.gnu.org/licenses/>.
21 
22 */
23 
24 #ifndef PHONON_MEDIANODE_H
25 #define PHONON_MEDIANODE_H
26 
27 #include "phonondefs.h"
28 #include "phonon_export.h"
29 #include "path.h"
30 
31 
32 namespace Phonon
33 {
34 
35  class Path;
36  class MediaNodePrivate;
37  class PHONON_EXPORT MediaNode
38  {
39  friend class Path;
40  friend class PathPrivate;
41  friend PHONON_EXPORT Path createPath(MediaNode *source, MediaNode *sink);
42  P_DECLARE_PRIVATE(MediaNode)
43  public:
44  virtual ~MediaNode();
52  bool isValid() const;
53 
54  QList<Path> inputPaths() const;
55  QList<Path> outputPaths() const;
56 
57  protected:
58  MediaNode(MediaNodePrivate &dd);
59  MediaNodePrivate *const k_ptr;
60  };
61 
62 } // namespace Phonon
63 
64 
65 #endif // PHONON_MEDIANODE_H