OLD | NEW |
| (Empty) |
1 // ICoder.h | |
2 | |
3 using System; | |
4 | |
5 namespace SevenZip | |
6 { | |
7 /// <summary> | |
8 /// The exception that is thrown when an error in input stream occurs du
ring decoding. | |
9 /// </summary> | |
10 class DataErrorException : ApplicationException | |
11 { | |
12 public DataErrorException(): base("Data Error") { } | |
13 } | |
14 | |
15 /// <summary> | |
16 /// The exception that is thrown when the value of an argument is outsid
e the allowable range. | |
17 /// </summary> | |
18 class InvalidParamException : ApplicationException | |
19 { | |
20 public InvalidParamException(): base("Invalid Parameter") { } | |
21 } | |
22 | |
23 public interface ICodeProgress | |
24 { | |
25 /// <summary> | |
26 /// Callback progress. | |
27 /// </summary> | |
28 /// <param name="inSize"> | |
29 /// input size. -1 if unknown. | |
30 /// </param> | |
31 /// <param name="outSize"> | |
32 /// output size. -1 if unknown. | |
33 /// </param> | |
34 void SetProgress(Int64 inSize, Int64 outSize); | |
35 }; | |
36 | |
37 public interface ICoder | |
38 { | |
39 /// <summary> | |
40 /// Codes streams. | |
41 /// </summary> | |
42 /// <param name="inStream"> | |
43 /// input Stream. | |
44 /// </param> | |
45 /// <param name="outStream"> | |
46 /// output Stream. | |
47 /// </param> | |
48 /// <param name="inSize"> | |
49 /// input Size. -1 if unknown. | |
50 /// </param> | |
51 /// <param name="outSize"> | |
52 /// output Size. -1 if unknown. | |
53 /// </param> | |
54 /// <param name="progress"> | |
55 /// callback progress reference. | |
56 /// </param> | |
57 /// <exception cref="SevenZip.DataErrorException"> | |
58 /// if input stream is not valid | |
59 /// </exception> | |
60 void Code(System.IO.Stream inStream, System.IO.Stream outStream, | |
61 Int64 inSize, Int64 outSize, ICodeProgress progress); | |
62 }; | |
63 | |
64 /* | |
65 public interface ICoder2 | |
66 { | |
67 void Code(ISequentialInStream []inStreams, | |
68 const UInt64 []inSizes, | |
69 ISequentialOutStream []outStreams, | |
70 UInt64 []outSizes, | |
71 ICodeProgress progress); | |
72 }; | |
73 */ | |
74 | |
75 /// <summary> | |
76 /// Provides the fields that represent properties idenitifiers for compr
essing. | |
77 /// </summary> | |
78 public enum CoderPropID | |
79 { | |
80 /// <summary> | |
81 /// Specifies size of dictionary. | |
82 /// </summary> | |
83 DictionarySize = 0x400, | |
84 /// <summary> | |
85 /// Specifies size of memory for PPM*. | |
86 /// </summary> | |
87 UsedMemorySize, | |
88 /// <summary> | |
89 /// Specifies order for PPM methods. | |
90 /// </summary> | |
91 Order, | |
92 /// <summary> | |
93 /// Specifies number of postion state bits for LZMA (0 <= x <= 4
). | |
94 /// </summary> | |
95 PosStateBits = 0x440, | |
96 /// <summary> | |
97 /// Specifies number of literal context bits for LZMA (0 <= x <=
8). | |
98 /// </summary> | |
99 LitContextBits, | |
100 /// <summary> | |
101 /// Specifies number of literal position bits for LZMA (0 <= x <
= 4). | |
102 /// </summary> | |
103 LitPosBits, | |
104 /// <summary> | |
105 /// Specifies number of fast bytes for LZ*. | |
106 /// </summary> | |
107 NumFastBytes = 0x450, | |
108 /// <summary> | |
109 /// Specifies match finder. LZMA: "BT2", "BT4" or "BT4B". | |
110 /// </summary> | |
111 MatchFinder, | |
112 /// <summary> | |
113 /// Specifies number of passes. | |
114 /// </summary> | |
115 NumPasses = 0x460, | |
116 /// <summary> | |
117 /// Specifies number of algorithm. | |
118 /// </summary> | |
119 Algorithm = 0x470, | |
120 /// <summary> | |
121 /// Specifies multithread mode. | |
122 /// </summary> | |
123 MultiThread = 0x480, | |
124 /// <summary> | |
125 /// Specifies mode with end marker. | |
126 /// </summary> | |
127 EndMarker = 0x490 | |
128 }; | |
129 | |
130 | |
131 public interface ISetCoderProperties | |
132 { | |
133 void SetCoderProperties(CoderPropID[] propIDs, object[] properti
es); | |
134 }; | |
135 | |
136 public interface IWriteCoderProperties | |
137 { | |
138 void WriteCoderProperties(System.IO.Stream outStream); | |
139 } | |
140 | |
141 public interface ISetDecoderProperties | |
142 { | |
143 void SetDecoderProperties(byte[] properties); | |
144 } | |
145 } | |
OLD | NEW |