1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
|
/*
This file is part of the KMTP framework, part of the KDE project.
SPDX-FileCopyrightText: 2018 Andreas Krutzler <andreas.krutzler@gmx.net>
SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
*/
#include "kmtpfile.h"
KMTPFile::KMTPFile()
: m_itemId(0),
m_parentId(0),
m_storageId(0),
m_filesize(0),
m_modificationdate(0)
{
}
KMTPFile::KMTPFile(quint32 itemId,
quint32 parentId,
quint32 storageId,
const char *filename,
quint64 filesize,
qint64 modificationdate,
const QString &filetype)
: m_itemId(itemId),
m_parentId(parentId),
m_storageId(storageId),
m_filename(QString::fromUtf8(filename)),
m_filesize(filesize),
m_modificationdate(modificationdate),
m_filetype(filetype)
{
}
bool KMTPFile::isValid() const
{
return m_itemId != 0;
}
bool KMTPFile::isFolder() const
{
return m_filetype == QLatin1String("inode/directory");
}
quint32 KMTPFile::itemId() const
{
return m_itemId;
}
quint32 KMTPFile::parentId() const
{
return m_parentId;
}
quint32 KMTPFile::storageId() const
{
return m_storageId;
}
QString KMTPFile::filename() const
{
return m_filename;
}
quint64 KMTPFile::filesize() const
{
return m_filesize;
}
qint64 KMTPFile::modificationdate() const
{
return m_modificationdate;
}
QString KMTPFile::filetype() const
{
return m_filetype;
}
QDBusArgument &operator<<(QDBusArgument &argument, const KMTPFile &mtpFile)
{
argument.beginStructure();
argument << mtpFile.m_itemId
<< mtpFile.m_parentId
<< mtpFile.m_storageId
<< mtpFile.m_filename
<< mtpFile.m_filesize
<< mtpFile.m_modificationdate
<< mtpFile.m_filetype;
argument.endStructure();
return argument;
}
const QDBusArgument &operator>>(const QDBusArgument &argument, KMTPFile &mtpFile)
{
argument.beginStructure();
argument >> mtpFile.m_itemId
>> mtpFile.m_parentId
>> mtpFile.m_storageId
>> mtpFile.m_filename
>> mtpFile.m_filesize
>> mtpFile.m_modificationdate
>> mtpFile.m_filetype;
argument.endStructure();
return argument;
}
QDBusArgument &operator<<(QDBusArgument &argument, const KMTPFileList &list)
{
argument.beginArray(qMetaTypeId<KMTPFile>());
for (const KMTPFile &file : list) {
argument << file;
}
argument.endArray();
return argument;
}
const QDBusArgument &operator>>(const QDBusArgument &argument, KMTPFileList &list)
{
argument.beginArray();
list.clear();
while (!argument.atEnd()) {
KMTPFile file;
argument >> file;
list.append(file);
}
argument.endArray();
return argument;
}
|