Source code
Revision control
Copy as Markdown
Other Tools
// ICoder.h↩
↩
using System;↩
↩
namespace SevenZip↩
{↩
/// <summary>↩
/// The exception that is thrown when an error in input stream occurs during decoding.↩
/// </summary>↩
class DataErrorException : ApplicationException↩
{↩
public DataErrorException(): base("Data Error") { }↩
}↩
↩
/// <summary>↩
/// The exception that is thrown when the value of an argument is outside the allowable range.↩
/// </summary>↩
class InvalidParamException : ApplicationException↩
{↩
public InvalidParamException(): base("Invalid Parameter") { }↩
}↩
↩
public interface ICodeProgress↩
{↩
/// <summary>↩
/// Callback progress.↩
/// </summary>↩
/// <param name="inSize">↩
/// input size. -1 if unknown.↩
/// </param>↩
/// <param name="outSize">↩
/// output size. -1 if unknown.↩
/// </param>↩
void SetProgress(Int64 inSize, Int64 outSize);↩
};↩
↩
public interface ICoder↩
{↩
/// <summary>↩
/// Codes streams.↩
/// </summary>↩
/// <param name="inStream">↩
/// input Stream.↩
/// </param>↩
/// <param name="outStream">↩
/// output Stream.↩
/// </param>↩
/// <param name="inSize">↩
/// input Size. -1 if unknown.↩
/// </param>↩
/// <param name="outSize">↩
/// output Size. -1 if unknown.↩
/// </param>↩
/// <param name="progress">↩
/// callback progress reference.↩
/// </param>↩
/// <exception cref="SevenZip.DataErrorException">↩
/// if input stream is not valid↩
/// </exception>↩
void Code(System.IO.Stream inStream, System.IO.Stream outStream,↩
Int64 inSize, Int64 outSize, ICodeProgress progress);↩
};↩
↩
/*↩
public interface ICoder2↩
{↩
void Code(ISequentialInStream []inStreams,↩
const UInt64 []inSizes, ↩
ISequentialOutStream []outStreams, ↩
UInt64 []outSizes,↩
ICodeProgress progress);↩
};↩
*/↩
↩
/// <summary>↩
/// Provides the fields that represent properties idenitifiers for compressing.↩
/// </summary>↩
public enum CoderPropID↩
{↩
/// <summary>↩
/// Specifies default property.↩
/// </summary>↩
DefaultProp = 0,↩
/// <summary>↩
/// Specifies size of dictionary.↩
/// </summary>↩
DictionarySize,↩
/// <summary>↩
/// Specifies size of memory for PPM*.↩
/// </summary>↩
UsedMemorySize,↩
/// <summary>↩
/// Specifies order for PPM methods.↩
/// </summary>↩
Order,↩
/// <summary>↩
/// Specifies Block Size.↩
/// </summary>↩
BlockSize,↩
/// <summary>↩
/// Specifies number of postion state bits for LZMA (0 <= x <= 4).↩
/// </summary>↩
PosStateBits,↩
/// <summary>↩
/// Specifies number of literal context bits for LZMA (0 <= x <= 8).↩
/// </summary>↩
LitContextBits,↩
/// <summary>↩
/// Specifies number of literal position bits for LZMA (0 <= x <= 4).↩
/// </summary>↩
LitPosBits,↩
/// <summary>↩
/// Specifies number of fast bytes for LZ*.↩
/// </summary>↩
NumFastBytes,↩
/// <summary>↩
/// Specifies match finder. LZMA: "BT2", "BT4" or "BT4B".↩
/// </summary>↩
MatchFinder,↩
/// <summary>↩
/// Specifies the number of match finder cyckes.↩
/// </summary>↩
MatchFinderCycles,↩
/// <summary>↩
/// Specifies number of passes.↩
/// </summary>↩
NumPasses,↩
/// <summary>↩
/// Specifies number of algorithm.↩
/// </summary>↩
Algorithm,↩
/// <summary>↩
/// Specifies the number of threads.↩
/// </summary>↩
NumThreads,↩
/// <summary>↩
/// Specifies mode with end marker.↩
/// </summary>↩
EndMarker↩
};↩
↩
↩
public interface ISetCoderProperties↩
{↩
void SetCoderProperties(CoderPropID[] propIDs, object[] properties);↩
};↩
↩
public interface IWriteCoderProperties↩
{↩
void WriteCoderProperties(System.IO.Stream outStream);↩
}↩
↩
public interface ISetDecoderProperties↩
{↩
void SetDecoderProperties(byte[] properties);↩
}↩
}↩