/**************************************************************************************** ** ** Copyright (C) 2013 Jolla Ltd. ** Contact: Marko Mattila ** All rights reserved. ** ** This file is part of Nemo Transfer Engine package. ** ** You may use this file under the terms of the GNU Lesser General ** Public License version 2.1 as published by the Free Software Foundation ** and appearing in the file license.lgpl included in the packaging ** of this file. ** ** This library is free software; you can redistribute it and/or ** modify it under the terms of the GNU Lesser General Public ** License version 2.1 as published by the Free Software Foundation ** and appearing in the file license.lgpl included in the packaging ** of this file. ** ** This library is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ** Lesser General Public License for more details. ** ****************************************************************************************/ #ifndef MEDIAITEM_H #define MEDIAITEM_H #include #include // Originally this was meant to be exposed to QML side, but not anymore. class MediaItemPrivate; class MediaItem: public QObject { public: enum ValueKey { TransferType, Timestamp, Status, DisplayName, Url, ContentData, ResourceName, MimeType, FileSize, PluginId, MetadataStripped, ScalePercent, Title, Description, ServiceIcon, ApplicationIcon, ThumbnailIcon, AccountId, UserData, // Callback methods comes from the API, not from the plugins Callback, CancelCBMethod, RestartCBMethod, // These come from plugins. CancelSupported, RestartSupported }; explicit MediaItem(QObject *parent = 0); ~MediaItem(); QVariant value(ValueKey key) const; protected: void setValue(ValueKey key, const QVariant &value); private: MediaItemPrivate *d_ptr; Q_DECLARE_PRIVATE(MediaItem) friend class TransferEngine; friend class TransferEnginePrivate; friend class DbManager; friend class ut_mediatransferinterface; }; #endif // MEDIAITEM_H