bit7z 4.0.0
A C++ library for interfacing with the 7-zip shared libs.
Loading...
Searching...
No Matches
bitgenericitem.hpp
1/*
2 * bit7z - A C++ static library to interface with the 7-zip shared libraries.
3 * Copyright (c) 2014-2023 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 BITGENERICITEM_HPP
11#define BITGENERICITEM_HPP
12
13#include "bitpropvariant.hpp"
14
15namespace bit7z {
16
21 public:
25 BIT7Z_NODISCARD virtual auto isDir() const -> bool = 0;
26
30 BIT7Z_NODISCARD virtual auto isSymLink() const -> bool = 0;
31
35 BIT7Z_NODISCARD virtual auto size() const -> uint64_t = 0;
36
40 BIT7Z_NODISCARD virtual auto name() const -> tstring = 0;
41
45 BIT7Z_NODISCARD virtual auto path() const -> tstring = 0;
46
50 BIT7Z_NODISCARD virtual auto attributes() const -> uint32_t = 0;
51
59 BIT7Z_NODISCARD virtual auto itemProperty( BitProperty property ) const -> BitPropVariant = 0;
60
61 virtual ~BitGenericItem() = default;
62};
63
64} // namespace bit7z
65
66#endif //BITGENERICITEM_HPP
The BitGenericItem interface class represents a generic item (either inside or outside an archive).
Definition bitgenericitem.hpp:20
virtual auto attributes() const -> uint32_t=0
virtual auto size() const -> uint64_t=0
virtual auto isSymLink() const -> bool=0
virtual auto itemProperty(BitProperty property) const -> BitPropVariant=0
Gets the specified item property.
virtual auto path() const -> tstring=0
virtual auto name() const -> tstring=0
virtual auto isDir() const -> bool=0
The main namespace of the bit7z library.
Definition bit7zlibrary.hpp:30
BitProperty
The BitProperty enum represents the archive/item properties that 7-zip can read or write.
Definition bitpropvariant.hpp:30
The BitPropVariant struct is a light extension to the WinAPI PROPVARIANT struct providing useful gett...
Definition bitpropvariant.hpp:150