/* * Copyright (c) 2009 Raphael Kubo da Costa * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES ( INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION ) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * ( INCLUDING NEGLIGENCE OR OTHERWISE ) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef SINGLEFILEPLUGIN_H #define SINGLEFILEPLUGIN_H #include "kerfuffle/archiveinterface.h" class LibSingleFileInterface : public Kerfuffle::ReadWriteArchiveInterface { Q_OBJECT public: LibSingleFileInterface(QObject *parent, const QVariantList & args); virtual ~LibSingleFileInterface(); virtual bool list(); virtual bool copyFiles(const QList & files, const QString & destinationDirectory, Kerfuffle::ExtractionOptions options); virtual bool addFiles(const QStringList & files, const Kerfuffle::CompressionOptions& options); virtual bool deleteFiles(const QList & files); protected: const QString uncompressedFileName() const; QString overwriteFileName(QString& filename); QString m_mimeType; QStringList m_possibleExtensions; }; #endif // SINGLEFILEPLUGIN_H