unit Chilkat.Compression;

{
  Pascal wrapper for Chilkat Compression.
  Auto-generated by PascalWrapperGenerator -- do not edit manually.
}

{$IFDEF FPC}
  {$MODE DELPHI}
{$ENDIF}

interface

uses
  SysUtils,
  Chilkat.Base;

type

  { TCompression wraps CkCompression via the C bridge layer. }
  TCompression = class(TChilkatBase)
  private
    FOnAbortCheck: TChilkatAbortCheckEvent;
    FOnPercentDone: TChilkatPercentDoneEvent;
    FOnProgressInfo: TChilkatProgressInfoEvent;
    function  GetLastErrorHtml: string;
    function  GetLastErrorText: string;
    function  GetLastErrorXml: string;
    function  GetVersion: string;
    function  GetDebugLogFilePath: string;
    procedure SetDebugLogFilePath(AValue: string);
    function  GetVerboseLogging: Boolean;
    procedure SetVerboseLogging(AValue: Boolean);
    function  GetLastMethodSuccess: Boolean;
    procedure SetLastMethodSuccess(AValue: Boolean);
    function  GetAlgorithm: string;
    procedure SetAlgorithm(AValue: string);
    function  GetCharset: string;
    procedure SetCharset(AValue: string);
    function  GetEncodingMode: string;
    procedure SetEncodingMode(AValue: string);
    function  GetHeartbeatMs: Integer;
    procedure SetHeartbeatMs(AValue: Integer);
    function  GetDeflateLevel: Integer;
    procedure SetDeflateLevel(AValue: Integer);
    function  GetUncommonOptions: string;
    procedure SetUncommonOptions(AValue: string);
    function  GetFirstChunk: Boolean;
    procedure SetFirstChunk(AValue: Boolean);
    function  GetLastChunk: Boolean;
    procedure SetLastChunk(AValue: Boolean);
    procedure SetOnAbortCheck(AValue: TChilkatAbortCheckEvent);
    procedure SetOnPercentDone(AValue: TChilkatPercentDoneEvent);
    procedure SetOnProgressInfo(AValue: TChilkatProgressInfoEvent);
  public
    constructor Create;
    destructor  Destroy; override;

    property LastErrorHtml: string read GetLastErrorHtml;
    property LastErrorText: string read GetLastErrorText;
    property LastErrorXml: string read GetLastErrorXml;
    property Version: string read GetVersion;
    property DebugLogFilePath: string read GetDebugLogFilePath write SetDebugLogFilePath;
    property VerboseLogging: Boolean read GetVerboseLogging write SetVerboseLogging;
    property LastMethodSuccess: Boolean read GetLastMethodSuccess write SetLastMethodSuccess;
    property Algorithm: string read GetAlgorithm write SetAlgorithm;
    property Charset: string read GetCharset write SetCharset;
    property EncodingMode: string read GetEncodingMode write SetEncodingMode;
    property HeartbeatMs: Integer read GetHeartbeatMs write SetHeartbeatMs;
    property DeflateLevel: Integer read GetDeflateLevel write SetDeflateLevel;
    property UncommonOptions: string read GetUncommonOptions write SetUncommonOptions;
    property FirstChunk: Boolean read GetFirstChunk write SetFirstChunk;
    property LastChunk: Boolean read GetLastChunk write SetLastChunk;

    { Event callbacks.  Return True from OnAbortCheck / OnPercentDone
      to abort the running method.  Callbacks are invoked on the
      thread that called the Chilkat method.  The HeartbeatMs
      property controls the AbortCheck frequency. }
    property OnAbortCheck: TChilkatAbortCheckEvent read FOnAbortCheck write SetOnAbortCheck;
    property OnPercentDone: TChilkatPercentDoneEvent read FOnPercentDone write SetOnPercentDone;
    property OnProgressInfo: TChilkatProgressInfoEvent read FOnProgressInfo write SetOnProgressInfo;

    function  CompressFile(const srcPath: string; const destPath: string): Boolean;
    function  CompressStream(strm: TChilkatBase): Boolean;
    function  CompressStringENC(const str: string): string;
    function  DecompressFile(const srcPath: string; const destPath: string): Boolean;
    function  DecompressStream(strm: TChilkatBase): Boolean;
    function  DecompressStringENC(const encodedCompressedData: string): string;
    function  CompressBd(bd: TChilkatBase): Boolean;
    function  DecompressBd(bd: TChilkatBase): Boolean;
    function  CompressSb(sb: TChilkatBase; binData: TChilkatBase): Boolean;
    function  DecompressSb(binData: TChilkatBase; sb: TChilkatBase): Boolean;
    function  CompressEncryptFile(cryptParams: TChilkatBase; const srcPath: string; const destPath: string): Boolean;
    function  DecryptDecompressFile(cryptParams: TChilkatBase; const srcPath: string; const destPath: string): Boolean;
    function  CompressBd2(bdIn: TChilkatBase; bdOut: TChilkatBase): Boolean;
    function  DecompressBd2(bdIn: TChilkatBase; bdOut: TChilkatBase): Boolean;
  end;

implementation

uses
  CkDllLoader,
  Chilkat.Utils;

{ ---- C bridge function pointer types ---- }
type
  TCkCompression_Create  = function(): Pointer; cdecl;
  TCkCompression_Dispose = procedure(handle: Pointer); cdecl;
  TCkBridgeAbortCheckCb   = function(userData: Pointer): Integer; cdecl;
  TCkBridgePercentDoneCb  = function(pctDone: Integer; userData: Pointer): Integer; cdecl;
  TCkBridgeProgressInfoCb = procedure(name: PAnsiChar; value: PAnsiChar; userData: Pointer); cdecl;
  TCkCompression_SetAbortCheckCallback   = procedure(handle: Pointer; cb: TCkBridgeAbortCheckCb; userData: Pointer); cdecl;
  TCkCompression_SetPercentDoneCallback  = procedure(handle: Pointer; cb: TCkBridgePercentDoneCb; userData: Pointer); cdecl;
  TCkCompression_SetProgressInfoCallback = procedure(handle: Pointer; cb: TCkBridgeProgressInfoCb; userData: Pointer); cdecl;
  TCkCompression_get_LastErrorHtml = function(handle: Pointer): PAnsiChar; cdecl;
  TCkCompression_get_LastErrorText = function(handle: Pointer): PAnsiChar; cdecl;
  TCkCompression_get_LastErrorXml = function(handle: Pointer): PAnsiChar; cdecl;
  TCkCompression_get_Version = function(handle: Pointer): PAnsiChar; cdecl;
  TCkCompression_get_DebugLogFilePath = function(handle: Pointer): PAnsiChar; cdecl;
  TCkCompression_put_DebugLogFilePath = procedure(handle: Pointer; value: PAnsiChar); cdecl;
  TCkCompression_get_VerboseLogging = function(handle: Pointer): LongBool; cdecl;
  TCkCompression_put_VerboseLogging = procedure(handle: Pointer; value: LongBool); cdecl;
  TCkCompression_get_LastMethodSuccess = function(handle: Pointer): LongBool; cdecl;
  TCkCompression_put_LastMethodSuccess = procedure(handle: Pointer; value: LongBool); cdecl;
  TCkCompression_get_Algorithm = function(handle: Pointer): PAnsiChar; cdecl;
  TCkCompression_put_Algorithm = procedure(handle: Pointer; value: PAnsiChar); cdecl;
  TCkCompression_get_Charset = function(handle: Pointer): PAnsiChar; cdecl;
  TCkCompression_put_Charset = procedure(handle: Pointer; value: PAnsiChar); cdecl;
  TCkCompression_get_EncodingMode = function(handle: Pointer): PAnsiChar; cdecl;
  TCkCompression_put_EncodingMode = procedure(handle: Pointer; value: PAnsiChar); cdecl;
  TCkCompression_get_HeartbeatMs = function(handle: Pointer): Integer; cdecl;
  TCkCompression_put_HeartbeatMs = procedure(handle: Pointer; value: Integer); cdecl;
  TCkCompression_get_DeflateLevel = function(handle: Pointer): Integer; cdecl;
  TCkCompression_put_DeflateLevel = procedure(handle: Pointer; value: Integer); cdecl;
  TCkCompression_get_UncommonOptions = function(handle: Pointer): PAnsiChar; cdecl;
  TCkCompression_put_UncommonOptions = procedure(handle: Pointer; value: PAnsiChar); cdecl;
  TCkCompression_get_FirstChunk = function(handle: Pointer): LongBool; cdecl;
  TCkCompression_put_FirstChunk = procedure(handle: Pointer; value: LongBool); cdecl;
  TCkCompression_get_LastChunk = function(handle: Pointer): LongBool; cdecl;
  TCkCompression_put_LastChunk = procedure(handle: Pointer; value: LongBool); cdecl;
  TCkCompression_CompressFile = function(handle: Pointer; srcPath: PAnsiChar; destPath: PAnsiChar): LongBool; cdecl;
  TCkCompression_CompressStream = function(handle: Pointer; strm: Pointer): LongBool; cdecl;
  TCkCompression_CompressStringENC = function(handle: Pointer; str: PAnsiChar): PAnsiChar; cdecl;
  TCkCompression_DecompressFile = function(handle: Pointer; srcPath: PAnsiChar; destPath: PAnsiChar): LongBool; cdecl;
  TCkCompression_DecompressStream = function(handle: Pointer; strm: Pointer): LongBool; cdecl;
  TCkCompression_DecompressStringENC = function(handle: Pointer; encodedCompressedData: PAnsiChar): PAnsiChar; cdecl;
  TCkCompression_CompressBd = function(handle: Pointer; bd: Pointer): LongBool; cdecl;
  TCkCompression_DecompressBd = function(handle: Pointer; bd: Pointer): LongBool; cdecl;
  TCkCompression_CompressSb = function(handle: Pointer; sb: Pointer; binData: Pointer): LongBool; cdecl;
  TCkCompression_DecompressSb = function(handle: Pointer; binData: Pointer; sb: Pointer): LongBool; cdecl;
  TCkCompression_CompressEncryptFile = function(handle: Pointer; cryptParams: Pointer; srcPath: PAnsiChar; destPath: PAnsiChar): LongBool; cdecl;
  TCkCompression_DecryptDecompressFile = function(handle: Pointer; cryptParams: Pointer; srcPath: PAnsiChar; destPath: PAnsiChar): LongBool; cdecl;
  TCkCompression_CompressBd2 = function(handle: Pointer; bdIn: Pointer; bdOut: Pointer): LongBool; cdecl;
  TCkCompression_DecompressBd2 = function(handle: Pointer; bdIn: Pointer; bdOut: Pointer): LongBool; cdecl;

{ ---- C bridge function pointer variables ---- }
var
  CkCompression_Create:  TCkCompression_Create  = nil;
  CkCompression_Dispose: TCkCompression_Dispose = nil;
  CkCompression_SetAbortCheckCallback:   TCkCompression_SetAbortCheckCallback   = nil;
  CkCompression_SetPercentDoneCallback:  TCkCompression_SetPercentDoneCallback  = nil;
  CkCompression_SetProgressInfoCallback: TCkCompression_SetProgressInfoCallback = nil;
  CkCompression_get_LastErrorHtml: TCkCompression_get_LastErrorHtml = nil;
  CkCompression_get_LastErrorText: TCkCompression_get_LastErrorText = nil;
  CkCompression_get_LastErrorXml: TCkCompression_get_LastErrorXml = nil;
  CkCompression_get_Version: TCkCompression_get_Version = nil;
  CkCompression_get_DebugLogFilePath: TCkCompression_get_DebugLogFilePath = nil;
  CkCompression_put_DebugLogFilePath: TCkCompression_put_DebugLogFilePath = nil;
  CkCompression_get_VerboseLogging: TCkCompression_get_VerboseLogging = nil;
  CkCompression_put_VerboseLogging: TCkCompression_put_VerboseLogging = nil;
  CkCompression_get_LastMethodSuccess: TCkCompression_get_LastMethodSuccess = nil;
  CkCompression_put_LastMethodSuccess: TCkCompression_put_LastMethodSuccess = nil;
  CkCompression_get_Algorithm: TCkCompression_get_Algorithm = nil;
  CkCompression_put_Algorithm: TCkCompression_put_Algorithm = nil;
  CkCompression_get_Charset: TCkCompression_get_Charset = nil;
  CkCompression_put_Charset: TCkCompression_put_Charset = nil;
  CkCompression_get_EncodingMode: TCkCompression_get_EncodingMode = nil;
  CkCompression_put_EncodingMode: TCkCompression_put_EncodingMode = nil;
  CkCompression_get_HeartbeatMs: TCkCompression_get_HeartbeatMs = nil;
  CkCompression_put_HeartbeatMs: TCkCompression_put_HeartbeatMs = nil;
  CkCompression_get_DeflateLevel: TCkCompression_get_DeflateLevel = nil;
  CkCompression_put_DeflateLevel: TCkCompression_put_DeflateLevel = nil;
  CkCompression_get_UncommonOptions: TCkCompression_get_UncommonOptions = nil;
  CkCompression_put_UncommonOptions: TCkCompression_put_UncommonOptions = nil;
  CkCompression_get_FirstChunk: TCkCompression_get_FirstChunk = nil;
  CkCompression_put_FirstChunk: TCkCompression_put_FirstChunk = nil;
  CkCompression_get_LastChunk: TCkCompression_get_LastChunk = nil;
  CkCompression_put_LastChunk: TCkCompression_put_LastChunk = nil;
  CkCompression_CompressFile: TCkCompression_CompressFile = nil;
  CkCompression_CompressStream: TCkCompression_CompressStream = nil;
  CkCompression_CompressStringENC: TCkCompression_CompressStringENC = nil;
  CkCompression_DecompressFile: TCkCompression_DecompressFile = nil;
  CkCompression_DecompressStream: TCkCompression_DecompressStream = nil;
  CkCompression_DecompressStringENC: TCkCompression_DecompressStringENC = nil;
  CkCompression_CompressBd: TCkCompression_CompressBd = nil;
  CkCompression_DecompressBd: TCkCompression_DecompressBd = nil;
  CkCompression_CompressSb: TCkCompression_CompressSb = nil;
  CkCompression_DecompressSb: TCkCompression_DecompressSb = nil;
  CkCompression_CompressEncryptFile: TCkCompression_CompressEncryptFile = nil;
  CkCompression_DecryptDecompressFile: TCkCompression_DecryptDecompressFile = nil;
  CkCompression_CompressBd2: TCkCompression_CompressBd2 = nil;
  CkCompression_DecompressBd2: TCkCompression_DecompressBd2 = nil;

constructor TCompression.Create;
begin
  inherited Create;
  FHandle := CkCompression_Create();
end;

destructor TCompression.Destroy;
begin
  if FHandle <> nil then
    CkCompression_Dispose(FHandle);
  FHandle := nil;
  inherited;
end;

{ ---- Event callback thunks ---- }
{ Standalone cdecl functions registered with the C bridge.  The bridge
  passes back the userData pointer, which carries the Pascal object
  instance.  A non-zero return value aborts the running method. }

function TCompression_AbortCheckThunk(userData: Pointer): Integer; cdecl;
var
  obj: TCompression;
begin
  Result := 0;
  obj := TCompression(userData);
  if Assigned(obj) and Assigned(obj.FOnAbortCheck) then
    if obj.FOnAbortCheck(obj) then Result := 1;
end;

function TCompression_PercentDoneThunk(pctDone: Integer; userData: Pointer): Integer; cdecl;
var
  obj: TCompression;
begin
  Result := 0;
  obj := TCompression(userData);
  if Assigned(obj) and Assigned(obj.FOnPercentDone) then
    if obj.FOnPercentDone(obj, pctDone) then Result := 1;
end;

procedure TCompression_ProgressInfoThunk(name: PAnsiChar; value: PAnsiChar; userData: Pointer); cdecl;
var
  obj: TCompression;
begin
  obj := TCompression(userData);
  if Assigned(obj) and Assigned(obj.FOnProgressInfo) then
    obj.FOnProgressInfo(obj, CkToStr(name), CkToStr(value));
end;

procedure TCompression.SetOnAbortCheck(AValue: TChilkatAbortCheckEvent);
begin
  FOnAbortCheck := AValue;
  if Assigned(AValue) then
    CkCompression_SetAbortCheckCallback(FHandle, @TCompression_AbortCheckThunk, Self)
  else
    CkCompression_SetAbortCheckCallback(FHandle, nil, nil);
end;

procedure TCompression.SetOnPercentDone(AValue: TChilkatPercentDoneEvent);
begin
  FOnPercentDone := AValue;
  if Assigned(AValue) then
    CkCompression_SetPercentDoneCallback(FHandle, @TCompression_PercentDoneThunk, Self)
  else
    CkCompression_SetPercentDoneCallback(FHandle, nil, nil);
end;

procedure TCompression.SetOnProgressInfo(AValue: TChilkatProgressInfoEvent);
begin
  FOnProgressInfo := AValue;
  if Assigned(AValue) then
    CkCompression_SetProgressInfoCallback(FHandle, @TCompression_ProgressInfoThunk, Self)
  else
    CkCompression_SetProgressInfoCallback(FHandle, nil, nil);
end;

function TCompression.GetLastErrorHtml: string;
begin
  Result := CkToStr(CkCompression_get_LastErrorHtml(FHandle));
end;

function TCompression.GetLastErrorText: string;
begin
  Result := CkToStr(CkCompression_get_LastErrorText(FHandle));
end;

function TCompression.GetLastErrorXml: string;
begin
  Result := CkToStr(CkCompression_get_LastErrorXml(FHandle));
end;

function TCompression.GetVersion: string;
begin
  Result := CkToStr(CkCompression_get_Version(FHandle));
end;

function TCompression.GetDebugLogFilePath: string;
begin
  Result := CkToStr(CkCompression_get_DebugLogFilePath(FHandle));
end;

procedure TCompression.SetDebugLogFilePath(AValue: string);
begin
  CkCompression_put_DebugLogFilePath(FHandle, PAnsiChar(StrToCk(AValue)));
end;

function TCompression.GetVerboseLogging: Boolean;
begin
  Result := Boolean(CkCompression_get_VerboseLogging(FHandle));
end;

procedure TCompression.SetVerboseLogging(AValue: Boolean);
begin
  CkCompression_put_VerboseLogging(FHandle, LongBool(AValue));
end;

function TCompression.GetLastMethodSuccess: Boolean;
begin
  Result := Boolean(CkCompression_get_LastMethodSuccess(FHandle));
end;

procedure TCompression.SetLastMethodSuccess(AValue: Boolean);
begin
  CkCompression_put_LastMethodSuccess(FHandle, LongBool(AValue));
end;

function TCompression.GetAlgorithm: string;
begin
  Result := CkToStr(CkCompression_get_Algorithm(FHandle));
end;

procedure TCompression.SetAlgorithm(AValue: string);
begin
  CkCompression_put_Algorithm(FHandle, PAnsiChar(StrToCk(AValue)));
end;

function TCompression.GetCharset: string;
begin
  Result := CkToStr(CkCompression_get_Charset(FHandle));
end;

procedure TCompression.SetCharset(AValue: string);
begin
  CkCompression_put_Charset(FHandle, PAnsiChar(StrToCk(AValue)));
end;

function TCompression.GetEncodingMode: string;
begin
  Result := CkToStr(CkCompression_get_EncodingMode(FHandle));
end;

procedure TCompression.SetEncodingMode(AValue: string);
begin
  CkCompression_put_EncodingMode(FHandle, PAnsiChar(StrToCk(AValue)));
end;

function TCompression.GetHeartbeatMs: Integer;
begin
  Result := CkCompression_get_HeartbeatMs(FHandle);
end;

procedure TCompression.SetHeartbeatMs(AValue: Integer);
begin
  CkCompression_put_HeartbeatMs(FHandle, AValue);
end;

function TCompression.GetDeflateLevel: Integer;
begin
  Result := CkCompression_get_DeflateLevel(FHandle);
end;

procedure TCompression.SetDeflateLevel(AValue: Integer);
begin
  CkCompression_put_DeflateLevel(FHandle, AValue);
end;

function TCompression.GetUncommonOptions: string;
begin
  Result := CkToStr(CkCompression_get_UncommonOptions(FHandle));
end;

procedure TCompression.SetUncommonOptions(AValue: string);
begin
  CkCompression_put_UncommonOptions(FHandle, PAnsiChar(StrToCk(AValue)));
end;

function TCompression.GetFirstChunk: Boolean;
begin
  Result := Boolean(CkCompression_get_FirstChunk(FHandle));
end;

procedure TCompression.SetFirstChunk(AValue: Boolean);
begin
  CkCompression_put_FirstChunk(FHandle, LongBool(AValue));
end;

function TCompression.GetLastChunk: Boolean;
begin
  Result := Boolean(CkCompression_get_LastChunk(FHandle));
end;

procedure TCompression.SetLastChunk(AValue: Boolean);
begin
  CkCompression_put_LastChunk(FHandle, LongBool(AValue));
end;

function TCompression.CompressFile(const srcPath: string; const destPath: string): Boolean;
begin
  Result := Boolean(CkCompression_CompressFile(FHandle, PAnsiChar(StrToCk(srcPath)), PAnsiChar(StrToCk(destPath))));
end;

function TCompression.CompressStream(strm: TChilkatBase): Boolean;
begin
  Result := Boolean(CkCompression_CompressStream(FHandle, strm.Handle));
end;

function TCompression.CompressStringENC(const str: string): string;
begin
  Result := CkToStr(CkCompression_CompressStringENC(FHandle, PAnsiChar(StrToCk(str))));
end;

function TCompression.DecompressFile(const srcPath: string; const destPath: string): Boolean;
begin
  Result := Boolean(CkCompression_DecompressFile(FHandle, PAnsiChar(StrToCk(srcPath)), PAnsiChar(StrToCk(destPath))));
end;

function TCompression.DecompressStream(strm: TChilkatBase): Boolean;
begin
  Result := Boolean(CkCompression_DecompressStream(FHandle, strm.Handle));
end;

function TCompression.DecompressStringENC(const encodedCompressedData: string): string;
begin
  Result := CkToStr(CkCompression_DecompressStringENC(FHandle, PAnsiChar(StrToCk(encodedCompressedData))));
end;

function TCompression.CompressBd(bd: TChilkatBase): Boolean;
begin
  Result := Boolean(CkCompression_CompressBd(FHandle, bd.Handle));
end;

function TCompression.DecompressBd(bd: TChilkatBase): Boolean;
begin
  Result := Boolean(CkCompression_DecompressBd(FHandle, bd.Handle));
end;

function TCompression.CompressSb(sb: TChilkatBase; binData: TChilkatBase): Boolean;
begin
  Result := Boolean(CkCompression_CompressSb(FHandle, sb.Handle, binData.Handle));
end;

function TCompression.DecompressSb(binData: TChilkatBase; sb: TChilkatBase): Boolean;
begin
  Result := Boolean(CkCompression_DecompressSb(FHandle, binData.Handle, sb.Handle));
end;

function TCompression.CompressEncryptFile(cryptParams: TChilkatBase; const srcPath: string; const destPath: string): Boolean;
begin
  Result := Boolean(CkCompression_CompressEncryptFile(FHandle, cryptParams.Handle, PAnsiChar(StrToCk(srcPath)), PAnsiChar(StrToCk(destPath))));
end;

function TCompression.DecryptDecompressFile(cryptParams: TChilkatBase; const srcPath: string; const destPath: string): Boolean;
begin
  Result := Boolean(CkCompression_DecryptDecompressFile(FHandle, cryptParams.Handle, PAnsiChar(StrToCk(srcPath)), PAnsiChar(StrToCk(destPath))));
end;

function TCompression.CompressBd2(bdIn: TChilkatBase; bdOut: TChilkatBase): Boolean;
begin
  Result := Boolean(CkCompression_CompressBd2(FHandle, bdIn.Handle, bdOut.Handle));
end;

function TCompression.DecompressBd2(bdIn: TChilkatBase; bdOut: TChilkatBase): Boolean;
begin
  Result := Boolean(CkCompression_DecompressBd2(FHandle, bdIn.Handle, bdOut.Handle));
end;

initialization
  Chilkat_GetProcedureAddress(CkCompression_Create,  'CkCompression_Create');
  Chilkat_GetProcedureAddress(CkCompression_Dispose, 'CkCompression_Dispose');
  Chilkat_GetProcedureAddress(CkCompression_SetAbortCheckCallback, 'CkCompression_SetAbortCheckCallback');
  Chilkat_GetProcedureAddress(CkCompression_SetPercentDoneCallback, 'CkCompression_SetPercentDoneCallback');
  Chilkat_GetProcedureAddress(CkCompression_SetProgressInfoCallback, 'CkCompression_SetProgressInfoCallback');
  Chilkat_GetProcedureAddress(CkCompression_get_LastErrorHtml, 'CkCompression_get_LastErrorHtml');
  Chilkat_GetProcedureAddress(CkCompression_get_LastErrorText, 'CkCompression_get_LastErrorText');
  Chilkat_GetProcedureAddress(CkCompression_get_LastErrorXml, 'CkCompression_get_LastErrorXml');
  Chilkat_GetProcedureAddress(CkCompression_get_Version, 'CkCompression_get_Version');
  Chilkat_GetProcedureAddress(CkCompression_get_DebugLogFilePath, 'CkCompression_get_DebugLogFilePath');
  Chilkat_GetProcedureAddress(CkCompression_put_DebugLogFilePath, 'CkCompression_put_DebugLogFilePath');
  Chilkat_GetProcedureAddress(CkCompression_get_VerboseLogging, 'CkCompression_get_VerboseLogging');
  Chilkat_GetProcedureAddress(CkCompression_put_VerboseLogging, 'CkCompression_put_VerboseLogging');
  Chilkat_GetProcedureAddress(CkCompression_get_LastMethodSuccess, 'CkCompression_get_LastMethodSuccess');
  Chilkat_GetProcedureAddress(CkCompression_put_LastMethodSuccess, 'CkCompression_put_LastMethodSuccess');
  Chilkat_GetProcedureAddress(CkCompression_get_Algorithm, 'CkCompression_get_Algorithm');
  Chilkat_GetProcedureAddress(CkCompression_put_Algorithm, 'CkCompression_put_Algorithm');
  Chilkat_GetProcedureAddress(CkCompression_get_Charset, 'CkCompression_get_Charset');
  Chilkat_GetProcedureAddress(CkCompression_put_Charset, 'CkCompression_put_Charset');
  Chilkat_GetProcedureAddress(CkCompression_get_EncodingMode, 'CkCompression_get_EncodingMode');
  Chilkat_GetProcedureAddress(CkCompression_put_EncodingMode, 'CkCompression_put_EncodingMode');
  Chilkat_GetProcedureAddress(CkCompression_get_HeartbeatMs, 'CkCompression_get_HeartbeatMs');
  Chilkat_GetProcedureAddress(CkCompression_put_HeartbeatMs, 'CkCompression_put_HeartbeatMs');
  Chilkat_GetProcedureAddress(CkCompression_get_DeflateLevel, 'CkCompression_get_DeflateLevel');
  Chilkat_GetProcedureAddress(CkCompression_put_DeflateLevel, 'CkCompression_put_DeflateLevel');
  Chilkat_GetProcedureAddress(CkCompression_get_UncommonOptions, 'CkCompression_get_UncommonOptions');
  Chilkat_GetProcedureAddress(CkCompression_put_UncommonOptions, 'CkCompression_put_UncommonOptions');
  Chilkat_GetProcedureAddress(CkCompression_get_FirstChunk, 'CkCompression_get_FirstChunk');
  Chilkat_GetProcedureAddress(CkCompression_put_FirstChunk, 'CkCompression_put_FirstChunk');
  Chilkat_GetProcedureAddress(CkCompression_get_LastChunk, 'CkCompression_get_LastChunk');
  Chilkat_GetProcedureAddress(CkCompression_put_LastChunk, 'CkCompression_put_LastChunk');
  Chilkat_GetProcedureAddress(CkCompression_CompressFile, 'CkCompression_CompressFile');
  Chilkat_GetProcedureAddress(CkCompression_CompressStream, 'CkCompression_CompressStream');
  Chilkat_GetProcedureAddress(CkCompression_CompressStringENC, 'CkCompression_CompressStringENC');
  Chilkat_GetProcedureAddress(CkCompression_DecompressFile, 'CkCompression_DecompressFile');
  Chilkat_GetProcedureAddress(CkCompression_DecompressStream, 'CkCompression_DecompressStream');
  Chilkat_GetProcedureAddress(CkCompression_DecompressStringENC, 'CkCompression_DecompressStringENC');
  Chilkat_GetProcedureAddress(CkCompression_CompressBd, 'CkCompression_CompressBd');
  Chilkat_GetProcedureAddress(CkCompression_DecompressBd, 'CkCompression_DecompressBd');
  Chilkat_GetProcedureAddress(CkCompression_CompressSb, 'CkCompression_CompressSb');
  Chilkat_GetProcedureAddress(CkCompression_DecompressSb, 'CkCompression_DecompressSb');
  Chilkat_GetProcedureAddress(CkCompression_CompressEncryptFile, 'CkCompression_CompressEncryptFile');
  Chilkat_GetProcedureAddress(CkCompression_DecryptDecompressFile, 'CkCompression_DecryptDecompressFile');
  Chilkat_GetProcedureAddress(CkCompression_CompressBd2, 'CkCompression_CompressBd2');
  Chilkat_GetProcedureAddress(CkCompression_DecompressBd2, 'CkCompression_DecompressBd2');

end.
