scummvm/common/installshield_cab.h
Kaloyan Chehlarski a8103e2eb5 COMMON: Add support for multi-file InstallShield cabinets
Added support for InstallShield v6 cabinets, which can be made up of
multiple files. The interface for creating an Archive instance now takes
the base filename (e.g. the "data" in "data1.cab") for all cabinets,
including single-file ones.

Co-Authored-By: clone2727 <236052+clone2727@users.noreply.github.com>
Co-Authored-By: Walter van Niftrik <615114+waltervn@users.noreply.github.com>
2021-05-15 23:03:19 +03:00

58 lines
1.6 KiB
C++

/* ScummVM - Graphic Adventure Engine
*
* ScummVM is the legal property of its developers, whose names
* are too numerous to list here. Please refer to the COPYRIGHT
* file distributed with this source distribution.
*
* 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 2
* 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, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
*/
#ifndef COMMON_INSTALLSHIELD_CAB_H
#define COMMON_INSTALLSHIELD_CAB_H
#include "common/types.h"
namespace Common {
/**
* @defgroup common_installshield InstallShield
* @ingroup common
*
* @brief API for managing the InstallShield.
*
*
* @{
*/
class Archive;
class SeekableReadStream;
/**
* This factory method creates an Archive instance corresponding to the content
* of the single- or multi-file InstallShield cabinet with the given base name
*
* May return 0 in case of a failure.
*
* @param baseName The base filename, e.g. the "data" in "data1.cab"
*/
Archive *makeInstallShieldArchive(const Common::String &baseName);
/** @} */
} // End of namespace Common
#endif