Warning, file /multimedia/amarok/src/core/capabilities/Capability.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /**************************************************************************************** 0002 * Copyright (c) 2007 Maximilian Kossick <maximilian.kossick@googlemail.com> * 0003 * * 0004 * This program is free software; you can redistribute it and/or modify it under * 0005 * the terms of the GNU General Public License as published by the Free Software * 0006 * Foundation; either version 2 of the License, or (at your option) any later * 0007 * version. * 0008 * * 0009 * This program is distributed in the hope that it will be useful, but WITHOUT ANY * 0010 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A * 0011 * PARTICULAR PURPOSE. See the GNU General Public License for more details. * 0012 * * 0013 * You should have received a copy of the GNU General Public License along with * 0014 * this program. If not, see <http://www.gnu.org/licenses/>. * 0015 ****************************************************************************************/ 0016 0017 #ifndef AMAROK_CAPABILITY_H 0018 #define AMAROK_CAPABILITY_H 0019 0020 #include "amarokcore_export.h" 0021 0022 #include <QObject> 0023 0024 namespace Capabilities 0025 { 0026 /** The capabilities are used by several amarok objects to express add on functionality. 0027 Capabilities are used inside Amarok to implement a Java-like interface pattern. 0028 Several object (Collection, Track, Album) can return capability object. 0029 Since the implementation of these objects is in a library usually it would 0030 be otherwise difficult to implement something like this. 0031 0032 Please note that the capability object will be created on demand and 0033 also destroyed. 0034 */ 0035 class AMAROKCORE_EXPORT Capability : public QObject 0036 { 0037 Q_OBJECT 0038 0039 public: 0040 //add additional capabilities here 0041 enum Type { Unknown = 0 0042 // not longer used 0043 // not longer used 0044 , Buyable = 3 0045 , Actions = 4 0046 , EditablePlaylist = 5 0047 , MultiPlayable = 6 0048 , Organisable = 7 0049 , SourceInfo = 8 0050 // not longer used 0051 , StreamInfo = 10 0052 // not longer used 0053 // not longe used 0054 // not longer used 0055 , BookmarkThis = 14 0056 , WriteTimecode = 15 0057 , LoadTimecode = 16 0058 , MultiSource = 17 0059 , BoundedPlayback = 18 0060 // not longer used 0061 , ReadLabel = 20 0062 , WriteLabel = 21 0063 , FindInSource = 22 0064 , CollectionImport = 23 0065 , CollectionScan = 24 0066 , Transcode = 25 0067 }; 0068 Q_ENUM( Type ) 0069 0070 ~Capability() override; 0071 0072 }; 0073 } 0074 0075 0076 #endif