bit7z 4.1.0
A C++ library for interfacing with the 7-zip shared libs.
Loading...
Searching...
No Matches
bitabstractarchiveopener.hpp
1/*
2 * bit7z - A C++ static library to interface with the 7-zip shared libraries.
3 * Copyright (c) Riccardo Ostani - All Rights Reserved.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at https://mozilla.org/MPL/2.0/.
8 */
9
10#ifndef BITABSTRACTARCHIVEOPENER_HPP
11#define BITABSTRACTARCHIVEOPENER_HPP
12
13#include "bit7zlibrary.hpp"
14#include "bitabstractarchivehandler.hpp"
15#include "bitdefines.hpp"
16#include "bitformat.hpp"
17#include "bittypes.hpp"
18
19namespace bit7z {
20
24class BitAbstractArchiveOpener : public BitAbstractArchiveHandler {
25 public:
26 BitAbstractArchiveOpener( const BitAbstractArchiveOpener& ) = delete;
27
28 BitAbstractArchiveOpener( BitAbstractArchiveOpener&& ) = delete;
29
30 auto operator=( const BitAbstractArchiveOpener& ) -> BitAbstractArchiveOpener& = delete;
31
32 auto operator=( BitAbstractArchiveOpener&& ) -> BitAbstractArchiveOpener& = delete;
33
34 ~BitAbstractArchiveOpener() override = default;
35
39 BIT7Z_NODISCARD auto format() const noexcept -> const BitInFormat& override;
40
44 BIT7Z_NODISCARD auto extractionFormat() const noexcept -> const BitInFormat&;
45
46 protected:
47 BitAbstractArchiveOpener(
48 const Bit7zLibrary& lib,
49 const BitInFormat& format,
50 const tstring& password = {}
51 );
52
53 private:
54 const BitInFormat& mFormat;
55};
56
57} // namespace bit7z
58
59#endif // BITABSTRACTARCHIVEOPENER_HPP
The Bit7zLibrary class allows accessing the basic functionalities provided by the 7z DLLs.
Definition bit7zlibrary.hpp:55
auto password() const -> const tstring &
auto format() const noexcept -> const BitInFormat &override
auto extractionFormat() const noexcept -> const BitInFormat &
The BitInFormat class specifies an extractable archive format.
Definition bitformat.hpp:68
The main namespace of the bit7z library.
Definition bit7zlibrary.hpp:29
std::basic_string< tchar > tstring
Definition bittypes.hpp:104