ObjFW  Diff

Differences From Artifact [4253f691f5]:

To Artifact [5bfb2f1e47]:


10
11
12
13
14
15
16

17
18
19
20
21
22
23
24
25
26

27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72

73
74

75
76
77
78

79
80
81

82
83
84
85
86

87
88
89
90
91

92
93
94
95

96
97
98

99
100
101

102
103
104
105
106
107

108
109


110
111

112
113
114
115
116
117
118
119
120
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

27
28
29
30
31





32
33
34
35
36















37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52

53
54

55

56
57

58



59





60





61


62

63
64
65

66



67






68


69
70
71

72
73
74
75
76
77
78
79
80
81







+









-
+




-
-
-
-
-





-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
















-
+

-
+
-


-
+
-
-
-
+
-
-
-
-
-
+
-
-
-
-
-
+
-
-

-
+


-
+
-
-
-
+
-
-
-
-
-
-
+
-
-
+
+

-
+









 * Alternatively, it may be distributed under the terms of the GNU General
 * Public License, either version 2 or 3, which can be found in the file
 * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this
 * file.
 */

#import "OFLHAArchiveEntry.h"
#import "OFMutableArchiveEntry.h"

OF_ASSUME_NONNULL_BEGIN

/**
 * @class OFMutableLHAArchiveEntry \
 *	  OFMutableLHAArchiveEntry.h ObjFW/OFMutableLHAArchiveEntry.h
 *
 * @brief A class which represents a mutable entry in an LHA archive.
 */
@interface OFMutableLHAArchiveEntry: OFLHAArchiveEntry
@interface OFMutableLHAArchiveEntry: OFLHAArchiveEntry <OFMutableArchiveEntry>
{
	OF_RESERVE_IVARS(OFMutableLHAArchiveEntry, 4)
}

/**
 * @brief The file name of the entry.
 */
@property (readwrite, copy, nonatomic) OFString *fileName;

/**
 * @brief The compression method of the entry.
 */
@property (readwrite, copy, nonatomic) OFString *compressionMethod;

/**
 * @brief The compressed size of the entry's file.
 */
@property (readwrite, nonatomic) uint32_t compressedSize;

/**
 * @brief The uncompressed size of the entry's file.
 */
@property (readwrite, nonatomic) uint32_t uncompressedSize;

/**
 * @brief The date of the file.
 */
@property (readwrite, retain, nonatomic) OFDate *date;

/**
 * @brief The LHA level of the file.
 */
@property (readwrite, nonatomic) uint8_t headerLevel;

/**
 * @brief The CRC16 of the file.
 */
@property (readwrite, nonatomic) uint16_t CRC16;

/**
 * @brief The operating system identifier of the file.
 */
@property (readwrite, nonatomic) uint8_t operatingSystemIdentifier;

/**
 * @brief The comment of the file.
 * @brief The LHA extensions of the file.
 */
@property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic)
@property (readwrite, copy, nonatomic) OFArray OF_GENERIC(OFData *) *extensions;
    OFString *fileComment;

/**
 * @brief The mode of the entry.
 * @brief Creates a new OFMutableLHAArchiveEntry with the specified file name.
 */
@property OF_NULLABLE_PROPERTY (readwrite, retain, nonatomic) OFNumber *mode;

 *
/**
 * @brief The UID of the owner.
 */
@property OF_NULLABLE_PROPERTY (readwrite, retain, nonatomic) OFNumber *UID;

 * @param fileName The file name for the OFLHAArchiveEntry
/**
 * @brief The GID of the group.
 */
@property OF_NULLABLE_PROPERTY (readwrite, retain, nonatomic) OFNumber *GID;

 * @return A new, autoreleased OFLHAArchiveEntry
/**
 * @brief The owner of the file.
 */
@property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic) OFString *owner;
+ (instancetype)entryWithFileName: (OFString *)fileName;

/**
 * @brief The group of the file.
 * @brief Initializes an already allocated OFMutableLHAArchiveEntry with the
 */
@property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic) OFString *group;

 *	  specified file name.
/**
 * @brief The date of the last modification of the file.
 */
@property OF_NULLABLE_PROPERTY (readwrite, retain, nonatomic)
    OFDate *modificationDate;

 *
/**
 * @brief The LHA extensions of the file.
 * @param fileName The file name for the OFLHAArchiveEntry
 * @return An initialized OFLHAArchiveEntry
 */
@property (readwrite, copy, nonatomic) OFArray OF_GENERIC(OFData *) *extensions;
- (instancetype)initWithFileName: (OFString *)fileName;

/**
 * @brief Converts the OFMutableLHAArchiveEntry to an immutable
 *	  OFLHAArchiveEntry.
 */
- (void)makeImmutable;
@end

OF_ASSUME_NONNULL_END