| 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 |