diff --git a/src/fs/luks2.cpp b/src/fs/luks2.cpp new file mode 100644 index 0000000..a895517 --- /dev/null +++ b/src/fs/luks2.cpp @@ -0,0 +1,39 @@ +/************************************************************************* + * Copyright (C) 2017 by Andrius Štikonas * + * * + * This program is free software; you can redistribute it and/or * + * modify it under the terms of the GNU General Public License as * + * published by the Free Software Foundation; either version 3 of * + * the License, or (at your option) any later version. * + * * + * This program 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 General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see .* + *************************************************************************/ + +#include "fs/luks2.h" + +namespace FS +{ + +luks2::luks2(qint64 firstsector, qint64 lastsector, qint64 sectorsused, const QString& label) + : luks(firstsector, lastsector, sectorsused, label, FileSystem::Luks2) +{ +} + +luks2::~luks2() +{ +} + +FileSystem::Type luks2::type() const +{ + if (m_isCryptOpen && m_innerFs) + return m_innerFs->type(); + return FileSystem::Luks2; +} + +} diff --git a/src/fs/luks2.h b/src/fs/luks2.h new file mode 100644 index 0000000..f8151cb --- /dev/null +++ b/src/fs/luks2.h @@ -0,0 +1,45 @@ +/************************************************************************* + * Copyright (C) 2017 by Andrius Štikonas * + * * + * This program is free software; you can redistribute it and/or * + * modify it under the terms of the GNU General Public License as * + * published by the Free Software Foundation; either version 3 of * + * the License, or (at your option) any later version. * + * * + * This program 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 General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see .* + *************************************************************************/ + +#if !defined(KPMCORE_LUKS2_H) + +#define KPMCORE_LUKS2_H + +#include "util/libpartitionmanagerexport.h" + +#include "fs/luks.h" + +#include + +class QString; + +namespace FS +{ +/** A LUKS2 crypto file system. + @author Andrius Štikonas +*/ +class LIBKPMCORE_EXPORT luks2 : public luks +{ +public: + luks2(qint64 firstsector, qint64 lastsector, qint64 sectorsused, const QString& label); + ~luks2() override; + + FileSystem::Type type() const override; +}; +} + +#endif