bit7z 4.1.0
A C++ library for interfacing with the 7-zip shared libs.
Loading...
Searching...
No Matches
bitarchiveiteminfo.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 BITARCHIVEITEMINFO_HPP
11#define BITARCHIVEITEMINFO_HPP
12
13#include "bitarchiveitem.hpp"
14#include "bitdefines.hpp"
15#include "bitpropvariant.hpp"
16
17#include <map>
18
19namespace bit7z {
20
22
26class BitArchiveItemInfo final : public BitArchiveItem {
27 public:
28 explicit BitArchiveItemInfo( const BitArchiveItemOffset& item );
29
37 BIT7Z_NODISCARD auto itemProperty( BitProperty property ) const -> BitPropVariant override;
38
42 BIT7Z_NODISCARD auto itemProperties() const -> const std::map< BitProperty, BitPropVariant >&;
43
44 private:
45 std::map< BitProperty, BitPropVariant > mItemProperties;
46
47 void setProperty( BitProperty property, const BitPropVariant& value );
48
49 friend class BitArchiveReader;
50
51 friend class BitNestedArchiveReader;
52};
53
54} // namespace bit7z
55
56#endif // BITARCHIVEITEMINFO_HPP
auto itemProperties() const -> const std::map< BitProperty, BitPropVariant > &
auto itemProperty(BitProperty property) const -> BitPropVariant override
Gets the specified item property.
The BitArchiveItemOffset class represents an archived item but doesn't store its properties.
Definition bitarchiveitemoffset.hpp:27
The main namespace of the bit7z library.
Definition bit7zlibrary.hpp:29
BitProperty
The BitProperty enum represents the archive/item properties that 7-zip can read or write.
Definition bitpropvariant.hpp:32
The BitPropVariant struct is a light extension to the WinAPI PROPVARIANT struct providing useful gett...
Definition bitpropvariant.hpp:161