File indexing completed on 2024-12-08 12:27:09

0001 /*
0002     This file is part of the syndication library
0003     SPDX-FileCopyrightText: 2006 Frank Osterfeld <osterfeld@kde.org>
0004 
0005     SPDX-License-Identifier: LGPL-2.0-or-later
0006 */
0007 
0008 #ifndef SYNDICATION_MAPPER_ENCLOSUREATOMIMPL_H
0009 #define SYNDICATION_MAPPER_ENCLOSUREATOMIMPL_H
0010 
0011 #include <atom/link.h>
0012 #include <enclosure.h>
0013 
0014 namespace Syndication
0015 {
0016 class EnclosureAtomImpl;
0017 typedef QSharedPointer<EnclosureAtomImpl> EnclosureAtomImplPtr;
0018 
0019 /**
0020  *
0021  * @internal
0022  * @author Frank Osterfeld
0023  */
0024 class EnclosureAtomImpl : public Syndication::Enclosure
0025 {
0026 public:
0027     explicit EnclosureAtomImpl(const Syndication::Atom::Link &link);
0028 
0029     Q_REQUIRED_RESULT bool isNull() const override;
0030 
0031     Q_REQUIRED_RESULT QString url() const override;
0032 
0033     Q_REQUIRED_RESULT QString title() const override;
0034 
0035     Q_REQUIRED_RESULT QString type() const override;
0036 
0037     Q_REQUIRED_RESULT uint length() const override;
0038 
0039     Q_REQUIRED_RESULT uint duration() const override;
0040 
0041 private:
0042     Syndication::Atom::Link m_link;
0043 };
0044 
0045 } // namespace Syndication
0046 
0047 #endif // SYNDICATION_MAPPER_ENCLOSUREATOMIMPL_H