File indexing completed on 2024-02-18 04:58:18

0001 /* This file is part of the KDE project
0002 
0003    Copyright (C) 2007 Urs Wolfer <uwolfer @ kde.org>
0004 
0005    This program is free software; you can redistribute it and/or
0006    modify it under the terms of the GNU General Public
0007    License as published by the Free Software Foundation; either
0008    version 2 of the License, or (at your option) any later version.
0009 */
0010 
0011 #ifndef TRANSFERCONTAINER_H
0012 #define TRANSFERCONTAINER_H
0013 
0014 #include <QObject>
0015 
0016 /**
0017  * @brief TransferContainer class handles the transfers
0018  *
0019  * This class is the base for every single transfer.
0020  *
0021  */
0022 
0023 class TransferContainer : public QObject
0024 {
0025     Q_OBJECT
0026 
0027 public:
0028     Q_FLAGS(TransferFlags)
0029 
0030     enum TransferFlag {
0031         /**  The transfer supports resuming and seeking  */
0032         Tf_SupportsSegments = 0x01,
0033         /**  The container includes more than one file, e.g. metalink  */
0034         Tf_MultipleFiles = 0x02
0035     };
0036 
0037     Q_DECLARE_FLAGS(TransferFlags, TransferFlag)
0038 
0039     TransferContainer();
0040     ~TransferContainer();
0041 };
0042 
0043 Q_DECLARE_OPERATORS_FOR_FLAGS(TransferContainer::TransferFlags)
0044 
0045 #endif