unit Chilkat.JsonArray;

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

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

interface

uses
  SysUtils,
  Chilkat.Base;

type

  { TJsonArray wraps CkJsonArray via the C bridge layer. }
  TJsonArray = class(TChilkatBase)
  private
    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  GetSize: Integer;
    function  GetEmitCrlf: Boolean;
    procedure SetEmitCrlf(AValue: Boolean);
    function  GetEmitCompact: Boolean;
    procedure SetEmitCompact(AValue: Boolean);
    function  GetFindStartIndex: Integer;
    procedure SetFindStartIndex(AValue: Integer);
  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 Size: Integer read GetSize;
    property EmitCrlf: Boolean read GetEmitCrlf write SetEmitCrlf;
    property EmitCompact: Boolean read GetEmitCompact write SetEmitCompact;
    property FindStartIndex: Integer read GetFindStartIndex write SetFindStartIndex;

    function  AddArrayAt(index: Integer): Boolean;
    function  AddBoolAt(index: Integer; value: Boolean): Boolean;
    function  AddIntAt(index: Integer; value: Integer): Boolean;
    function  AddNullAt(index: Integer): Boolean;
    function  AddNumberAt(index: Integer; const numericStr: string): Boolean;
    function  AddObjectAt(index: Integer): Boolean;
    function  AddStringAt(index: Integer; const value: string): Boolean;
    function  ArrayAt(index: Integer): TChilkatBase;
    function  BoolAt(index: Integer): Boolean;
    function  DeleteAt(index: Integer): Boolean;
    function  IntAt(index: Integer): Integer;
    function  IsNullAt(index: Integer): Boolean;
    function  ObjectAt(index: Integer): TChilkatBase;
    function  SetBoolAt(index: Integer; value: Boolean): Boolean;
    function  SetIntAt(index: Integer; value: Integer): Boolean;
    function  SetNullAt(index: Integer): Boolean;
    function  SetNumberAt(index: Integer; const value: string): Boolean;
    function  SetStringAt(index: Integer; const value: string): Boolean;
    function  StringAt(index: Integer): string;
    function  Emit: string;
    function  TypeAt(index: Integer): Integer;
    function  LoadSb(sb: TChilkatBase): Boolean;
    function  Load(const jsonArray: string): Boolean;
    function  EmitSb(sb: TChilkatBase): Boolean;
    function  DateAt(index: Integer; dateTime: TChilkatBase): Boolean;
    function  DtAt(index: Integer; bLocal: Boolean; dt: TChilkatBase): Boolean;
    function  FindString(const value: string; caseSensitive: Boolean): Integer;
    function  FindObject(const name: string; const value: string; caseSensitive: Boolean): Integer;
    function  Swap(index1: Integer; index2: Integer): Boolean;
    procedure Clear;
    function  AppendArrayItems(jarr: TChilkatBase): Boolean;
    function  AddObjectCopyAt(index: Integer; jsonObj: TChilkatBase): Boolean;
    function  UIntAt(index: Integer): LongWord;
    function  AddUIntAt(index: Integer; value: LongWord): Boolean;
    function  SetUIntAt(index: Integer; value: LongWord): Boolean;
    function  ArrayAt2(index: Integer; jarr: TChilkatBase): Boolean;
    function  ObjectAt2(index: Integer; jsonObj: TChilkatBase): Boolean;
    function  AddArrayAt2(index: Integer; jarr: TChilkatBase): Boolean;
    function  AddObjectAt2(index: Integer; json: TChilkatBase): Boolean;
  end;

implementation

uses
  CkDllLoader,
  Chilkat.Utils;

{ ---- C bridge function pointer types ---- }
type
  TCkJsonArray_Create  = function(): Pointer; cdecl;
  TCkJsonArray_Dispose = procedure(handle: Pointer); cdecl;
  TCkJsonArray_get_LastErrorHtml = function(handle: Pointer): PAnsiChar; cdecl;
  TCkJsonArray_get_LastErrorText = function(handle: Pointer): PAnsiChar; cdecl;
  TCkJsonArray_get_LastErrorXml = function(handle: Pointer): PAnsiChar; cdecl;
  TCkJsonArray_get_Version = function(handle: Pointer): PAnsiChar; cdecl;
  TCkJsonArray_get_DebugLogFilePath = function(handle: Pointer): PAnsiChar; cdecl;
  TCkJsonArray_put_DebugLogFilePath = procedure(handle: Pointer; value: PAnsiChar); cdecl;
  TCkJsonArray_get_VerboseLogging = function(handle: Pointer): LongBool; cdecl;
  TCkJsonArray_put_VerboseLogging = procedure(handle: Pointer; value: LongBool); cdecl;
  TCkJsonArray_get_LastMethodSuccess = function(handle: Pointer): LongBool; cdecl;
  TCkJsonArray_put_LastMethodSuccess = procedure(handle: Pointer; value: LongBool); cdecl;
  TCkJsonArray_get_Size = function(handle: Pointer): Integer; cdecl;
  TCkJsonArray_get_EmitCrlf = function(handle: Pointer): LongBool; cdecl;
  TCkJsonArray_put_EmitCrlf = procedure(handle: Pointer; value: LongBool); cdecl;
  TCkJsonArray_get_EmitCompact = function(handle: Pointer): LongBool; cdecl;
  TCkJsonArray_put_EmitCompact = procedure(handle: Pointer; value: LongBool); cdecl;
  TCkJsonArray_get_FindStartIndex = function(handle: Pointer): Integer; cdecl;
  TCkJsonArray_put_FindStartIndex = procedure(handle: Pointer; value: Integer); cdecl;
  TCkJsonArray_AddArrayAt = function(handle: Pointer; index: Integer): LongBool; cdecl;
  TCkJsonArray_AddBoolAt = function(handle: Pointer; index: Integer; value: LongBool): LongBool; cdecl;
  TCkJsonArray_AddIntAt = function(handle: Pointer; index: Integer; value: Integer): LongBool; cdecl;
  TCkJsonArray_AddNullAt = function(handle: Pointer; index: Integer): LongBool; cdecl;
  TCkJsonArray_AddNumberAt = function(handle: Pointer; index: Integer; numericStr: PAnsiChar): LongBool; cdecl;
  TCkJsonArray_AddObjectAt = function(handle: Pointer; index: Integer): LongBool; cdecl;
  TCkJsonArray_AddStringAt = function(handle: Pointer; index: Integer; value: PAnsiChar): LongBool; cdecl;
  TCkJsonArray_ArrayAt = function(handle: Pointer; index: Integer): Pointer; cdecl;
  TCkJsonArray_BoolAt = function(handle: Pointer; index: Integer): LongBool; cdecl;
  TCkJsonArray_DeleteAt = function(handle: Pointer; index: Integer): LongBool; cdecl;
  TCkJsonArray_IntAt = function(handle: Pointer; index: Integer): Integer; cdecl;
  TCkJsonArray_IsNullAt = function(handle: Pointer; index: Integer): LongBool; cdecl;
  TCkJsonArray_ObjectAt = function(handle: Pointer; index: Integer): Pointer; cdecl;
  TCkJsonArray_SetBoolAt = function(handle: Pointer; index: Integer; value: LongBool): LongBool; cdecl;
  TCkJsonArray_SetIntAt = function(handle: Pointer; index: Integer; value: Integer): LongBool; cdecl;
  TCkJsonArray_SetNullAt = function(handle: Pointer; index: Integer): LongBool; cdecl;
  TCkJsonArray_SetNumberAt = function(handle: Pointer; index: Integer; value: PAnsiChar): LongBool; cdecl;
  TCkJsonArray_SetStringAt = function(handle: Pointer; index: Integer; value: PAnsiChar): LongBool; cdecl;
  TCkJsonArray_StringAt = function(handle: Pointer; index: Integer): PAnsiChar; cdecl;
  TCkJsonArray_Emit = function(handle: Pointer): PAnsiChar; cdecl;
  TCkJsonArray_TypeAt = function(handle: Pointer; index: Integer): Integer; cdecl;
  TCkJsonArray_LoadSb = function(handle: Pointer; sb: Pointer): LongBool; cdecl;
  TCkJsonArray_Load = function(handle: Pointer; jsonArray: PAnsiChar): LongBool; cdecl;
  TCkJsonArray_EmitSb = function(handle: Pointer; sb: Pointer): LongBool; cdecl;
  TCkJsonArray_DateAt = function(handle: Pointer; index: Integer; dateTime: Pointer): LongBool; cdecl;
  TCkJsonArray_DtAt = function(handle: Pointer; index: Integer; bLocal: LongBool; dt: Pointer): LongBool; cdecl;
  TCkJsonArray_FindString = function(handle: Pointer; value: PAnsiChar; caseSensitive: LongBool): Integer; cdecl;
  TCkJsonArray_FindObject = function(handle: Pointer; name: PAnsiChar; value: PAnsiChar; caseSensitive: LongBool): Integer; cdecl;
  TCkJsonArray_Swap = function(handle: Pointer; index1: Integer; index2: Integer): LongBool; cdecl;
  TCkJsonArray_Clear = procedure(handle: Pointer); cdecl;
  TCkJsonArray_AppendArrayItems = function(handle: Pointer; jarr: Pointer): LongBool; cdecl;
  TCkJsonArray_AddObjectCopyAt = function(handle: Pointer; index: Integer; jsonObj: Pointer): LongBool; cdecl;
  TCkJsonArray_UIntAt = function(handle: Pointer; index: Integer): LongWord; cdecl;
  TCkJsonArray_AddUIntAt = function(handle: Pointer; index: Integer; value: LongWord): LongBool; cdecl;
  TCkJsonArray_SetUIntAt = function(handle: Pointer; index: Integer; value: LongWord): LongBool; cdecl;
  TCkJsonArray_ArrayAt2 = function(handle: Pointer; index: Integer; jarr: Pointer): LongBool; cdecl;
  TCkJsonArray_ObjectAt2 = function(handle: Pointer; index: Integer; jsonObj: Pointer): LongBool; cdecl;
  TCkJsonArray_AddArrayAt2 = function(handle: Pointer; index: Integer; jarr: Pointer): LongBool; cdecl;
  TCkJsonArray_AddObjectAt2 = function(handle: Pointer; index: Integer; json: Pointer): LongBool; cdecl;

{ ---- C bridge function pointer variables ---- }
var
  CkJsonArray_Create:  TCkJsonArray_Create  = nil;
  CkJsonArray_Dispose: TCkJsonArray_Dispose = nil;
  CkJsonArray_get_LastErrorHtml: TCkJsonArray_get_LastErrorHtml = nil;
  CkJsonArray_get_LastErrorText: TCkJsonArray_get_LastErrorText = nil;
  CkJsonArray_get_LastErrorXml: TCkJsonArray_get_LastErrorXml = nil;
  CkJsonArray_get_Version: TCkJsonArray_get_Version = nil;
  CkJsonArray_get_DebugLogFilePath: TCkJsonArray_get_DebugLogFilePath = nil;
  CkJsonArray_put_DebugLogFilePath: TCkJsonArray_put_DebugLogFilePath = nil;
  CkJsonArray_get_VerboseLogging: TCkJsonArray_get_VerboseLogging = nil;
  CkJsonArray_put_VerboseLogging: TCkJsonArray_put_VerboseLogging = nil;
  CkJsonArray_get_LastMethodSuccess: TCkJsonArray_get_LastMethodSuccess = nil;
  CkJsonArray_put_LastMethodSuccess: TCkJsonArray_put_LastMethodSuccess = nil;
  CkJsonArray_get_Size: TCkJsonArray_get_Size = nil;
  CkJsonArray_get_EmitCrlf: TCkJsonArray_get_EmitCrlf = nil;
  CkJsonArray_put_EmitCrlf: TCkJsonArray_put_EmitCrlf = nil;
  CkJsonArray_get_EmitCompact: TCkJsonArray_get_EmitCompact = nil;
  CkJsonArray_put_EmitCompact: TCkJsonArray_put_EmitCompact = nil;
  CkJsonArray_get_FindStartIndex: TCkJsonArray_get_FindStartIndex = nil;
  CkJsonArray_put_FindStartIndex: TCkJsonArray_put_FindStartIndex = nil;
  CkJsonArray_AddArrayAt: TCkJsonArray_AddArrayAt = nil;
  CkJsonArray_AddBoolAt: TCkJsonArray_AddBoolAt = nil;
  CkJsonArray_AddIntAt: TCkJsonArray_AddIntAt = nil;
  CkJsonArray_AddNullAt: TCkJsonArray_AddNullAt = nil;
  CkJsonArray_AddNumberAt: TCkJsonArray_AddNumberAt = nil;
  CkJsonArray_AddObjectAt: TCkJsonArray_AddObjectAt = nil;
  CkJsonArray_AddStringAt: TCkJsonArray_AddStringAt = nil;
  CkJsonArray_ArrayAt: TCkJsonArray_ArrayAt = nil;
  CkJsonArray_BoolAt: TCkJsonArray_BoolAt = nil;
  CkJsonArray_DeleteAt: TCkJsonArray_DeleteAt = nil;
  CkJsonArray_IntAt: TCkJsonArray_IntAt = nil;
  CkJsonArray_IsNullAt: TCkJsonArray_IsNullAt = nil;
  CkJsonArray_ObjectAt: TCkJsonArray_ObjectAt = nil;
  CkJsonArray_SetBoolAt: TCkJsonArray_SetBoolAt = nil;
  CkJsonArray_SetIntAt: TCkJsonArray_SetIntAt = nil;
  CkJsonArray_SetNullAt: TCkJsonArray_SetNullAt = nil;
  CkJsonArray_SetNumberAt: TCkJsonArray_SetNumberAt = nil;
  CkJsonArray_SetStringAt: TCkJsonArray_SetStringAt = nil;
  CkJsonArray_StringAt: TCkJsonArray_StringAt = nil;
  CkJsonArray_Emit: TCkJsonArray_Emit = nil;
  CkJsonArray_TypeAt: TCkJsonArray_TypeAt = nil;
  CkJsonArray_LoadSb: TCkJsonArray_LoadSb = nil;
  CkJsonArray_Load: TCkJsonArray_Load = nil;
  CkJsonArray_EmitSb: TCkJsonArray_EmitSb = nil;
  CkJsonArray_DateAt: TCkJsonArray_DateAt = nil;
  CkJsonArray_DtAt: TCkJsonArray_DtAt = nil;
  CkJsonArray_FindString: TCkJsonArray_FindString = nil;
  CkJsonArray_FindObject: TCkJsonArray_FindObject = nil;
  CkJsonArray_Swap: TCkJsonArray_Swap = nil;
  CkJsonArray_Clear: TCkJsonArray_Clear = nil;
  CkJsonArray_AppendArrayItems: TCkJsonArray_AppendArrayItems = nil;
  CkJsonArray_AddObjectCopyAt: TCkJsonArray_AddObjectCopyAt = nil;
  CkJsonArray_UIntAt: TCkJsonArray_UIntAt = nil;
  CkJsonArray_AddUIntAt: TCkJsonArray_AddUIntAt = nil;
  CkJsonArray_SetUIntAt: TCkJsonArray_SetUIntAt = nil;
  CkJsonArray_ArrayAt2: TCkJsonArray_ArrayAt2 = nil;
  CkJsonArray_ObjectAt2: TCkJsonArray_ObjectAt2 = nil;
  CkJsonArray_AddArrayAt2: TCkJsonArray_AddArrayAt2 = nil;
  CkJsonArray_AddObjectAt2: TCkJsonArray_AddObjectAt2 = nil;

constructor TJsonArray.Create;
begin
  inherited Create;
  FHandle := CkJsonArray_Create();
end;

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

function TJsonArray.GetLastErrorHtml: string;
begin
  Result := CkToStr(CkJsonArray_get_LastErrorHtml(FHandle));
end;

function TJsonArray.GetLastErrorText: string;
begin
  Result := CkToStr(CkJsonArray_get_LastErrorText(FHandle));
end;

function TJsonArray.GetLastErrorXml: string;
begin
  Result := CkToStr(CkJsonArray_get_LastErrorXml(FHandle));
end;

function TJsonArray.GetVersion: string;
begin
  Result := CkToStr(CkJsonArray_get_Version(FHandle));
end;

function TJsonArray.GetDebugLogFilePath: string;
begin
  Result := CkToStr(CkJsonArray_get_DebugLogFilePath(FHandle));
end;

procedure TJsonArray.SetDebugLogFilePath(AValue: string);
begin
  CkJsonArray_put_DebugLogFilePath(FHandle, PAnsiChar(StrToCk(AValue)));
end;

function TJsonArray.GetVerboseLogging: Boolean;
begin
  Result := Boolean(CkJsonArray_get_VerboseLogging(FHandle));
end;

procedure TJsonArray.SetVerboseLogging(AValue: Boolean);
begin
  CkJsonArray_put_VerboseLogging(FHandle, LongBool(AValue));
end;

function TJsonArray.GetLastMethodSuccess: Boolean;
begin
  Result := Boolean(CkJsonArray_get_LastMethodSuccess(FHandle));
end;

procedure TJsonArray.SetLastMethodSuccess(AValue: Boolean);
begin
  CkJsonArray_put_LastMethodSuccess(FHandle, LongBool(AValue));
end;

function TJsonArray.GetSize: Integer;
begin
  Result := CkJsonArray_get_Size(FHandle);
end;

function TJsonArray.GetEmitCrlf: Boolean;
begin
  Result := Boolean(CkJsonArray_get_EmitCrlf(FHandle));
end;

procedure TJsonArray.SetEmitCrlf(AValue: Boolean);
begin
  CkJsonArray_put_EmitCrlf(FHandle, LongBool(AValue));
end;

function TJsonArray.GetEmitCompact: Boolean;
begin
  Result := Boolean(CkJsonArray_get_EmitCompact(FHandle));
end;

procedure TJsonArray.SetEmitCompact(AValue: Boolean);
begin
  CkJsonArray_put_EmitCompact(FHandle, LongBool(AValue));
end;

function TJsonArray.GetFindStartIndex: Integer;
begin
  Result := CkJsonArray_get_FindStartIndex(FHandle);
end;

procedure TJsonArray.SetFindStartIndex(AValue: Integer);
begin
  CkJsonArray_put_FindStartIndex(FHandle, AValue);
end;

function TJsonArray.AddArrayAt(index: Integer): Boolean;
begin
  Result := Boolean(CkJsonArray_AddArrayAt(FHandle, index));
end;

function TJsonArray.AddBoolAt(index: Integer; value: Boolean): Boolean;
begin
  Result := Boolean(CkJsonArray_AddBoolAt(FHandle, index, LongBool(value)));
end;

function TJsonArray.AddIntAt(index: Integer; value: Integer): Boolean;
begin
  Result := Boolean(CkJsonArray_AddIntAt(FHandle, index, value));
end;

function TJsonArray.AddNullAt(index: Integer): Boolean;
begin
  Result := Boolean(CkJsonArray_AddNullAt(FHandle, index));
end;

function TJsonArray.AddNumberAt(index: Integer; const numericStr: string): Boolean;
begin
  Result := Boolean(CkJsonArray_AddNumberAt(FHandle, index, PAnsiChar(StrToCk(numericStr))));
end;

function TJsonArray.AddObjectAt(index: Integer): Boolean;
begin
  Result := Boolean(CkJsonArray_AddObjectAt(FHandle, index));
end;

function TJsonArray.AddStringAt(index: Integer; const value: string): Boolean;
begin
  Result := Boolean(CkJsonArray_AddStringAt(FHandle, index, PAnsiChar(StrToCk(value))));
end;

function TJsonArray.ArrayAt(index: Integer): TChilkatBase;
begin
  Result := TChilkatBase.CreateFromHandle(CkJsonArray_ArrayAt(FHandle, index));
end;

function TJsonArray.BoolAt(index: Integer): Boolean;
begin
  Result := Boolean(CkJsonArray_BoolAt(FHandle, index));
end;

function TJsonArray.DeleteAt(index: Integer): Boolean;
begin
  Result := Boolean(CkJsonArray_DeleteAt(FHandle, index));
end;

function TJsonArray.IntAt(index: Integer): Integer;
begin
  Result := CkJsonArray_IntAt(FHandle, index);
end;

function TJsonArray.IsNullAt(index: Integer): Boolean;
begin
  Result := Boolean(CkJsonArray_IsNullAt(FHandle, index));
end;

function TJsonArray.ObjectAt(index: Integer): TChilkatBase;
begin
  Result := TChilkatBase.CreateFromHandle(CkJsonArray_ObjectAt(FHandle, index));
end;

function TJsonArray.SetBoolAt(index: Integer; value: Boolean): Boolean;
begin
  Result := Boolean(CkJsonArray_SetBoolAt(FHandle, index, LongBool(value)));
end;

function TJsonArray.SetIntAt(index: Integer; value: Integer): Boolean;
begin
  Result := Boolean(CkJsonArray_SetIntAt(FHandle, index, value));
end;

function TJsonArray.SetNullAt(index: Integer): Boolean;
begin
  Result := Boolean(CkJsonArray_SetNullAt(FHandle, index));
end;

function TJsonArray.SetNumberAt(index: Integer; const value: string): Boolean;
begin
  Result := Boolean(CkJsonArray_SetNumberAt(FHandle, index, PAnsiChar(StrToCk(value))));
end;

function TJsonArray.SetStringAt(index: Integer; const value: string): Boolean;
begin
  Result := Boolean(CkJsonArray_SetStringAt(FHandle, index, PAnsiChar(StrToCk(value))));
end;

function TJsonArray.StringAt(index: Integer): string;
begin
  Result := CkToStr(CkJsonArray_StringAt(FHandle, index));
end;

function TJsonArray.Emit: string;
begin
  Result := CkToStr(CkJsonArray_Emit(FHandle));
end;

function TJsonArray.TypeAt(index: Integer): Integer;
begin
  Result := CkJsonArray_TypeAt(FHandle, index);
end;

function TJsonArray.LoadSb(sb: TChilkatBase): Boolean;
begin
  Result := Boolean(CkJsonArray_LoadSb(FHandle, sb.Handle));
end;

function TJsonArray.Load(const jsonArray: string): Boolean;
begin
  Result := Boolean(CkJsonArray_Load(FHandle, PAnsiChar(StrToCk(jsonArray))));
end;

function TJsonArray.EmitSb(sb: TChilkatBase): Boolean;
begin
  Result := Boolean(CkJsonArray_EmitSb(FHandle, sb.Handle));
end;

function TJsonArray.DateAt(index: Integer; dateTime: TChilkatBase): Boolean;
begin
  Result := Boolean(CkJsonArray_DateAt(FHandle, index, dateTime.Handle));
end;

function TJsonArray.DtAt(index: Integer; bLocal: Boolean; dt: TChilkatBase): Boolean;
begin
  Result := Boolean(CkJsonArray_DtAt(FHandle, index, LongBool(bLocal), dt.Handle));
end;

function TJsonArray.FindString(const value: string; caseSensitive: Boolean): Integer;
begin
  Result := CkJsonArray_FindString(FHandle, PAnsiChar(StrToCk(value)), LongBool(caseSensitive));
end;

function TJsonArray.FindObject(const name: string; const value: string; caseSensitive: Boolean): Integer;
begin
  Result := CkJsonArray_FindObject(FHandle, PAnsiChar(StrToCk(name)), PAnsiChar(StrToCk(value)), LongBool(caseSensitive));
end;

function TJsonArray.Swap(index1: Integer; index2: Integer): Boolean;
begin
  Result := Boolean(CkJsonArray_Swap(FHandle, index1, index2));
end;

procedure TJsonArray.Clear;
begin
  CkJsonArray_Clear(FHandle);
end;

function TJsonArray.AppendArrayItems(jarr: TChilkatBase): Boolean;
begin
  Result := Boolean(CkJsonArray_AppendArrayItems(FHandle, jarr.Handle));
end;

function TJsonArray.AddObjectCopyAt(index: Integer; jsonObj: TChilkatBase): Boolean;
begin
  Result := Boolean(CkJsonArray_AddObjectCopyAt(FHandle, index, jsonObj.Handle));
end;

function TJsonArray.UIntAt(index: Integer): LongWord;
begin
  Result := CkJsonArray_UIntAt(FHandle, index);
end;

function TJsonArray.AddUIntAt(index: Integer; value: LongWord): Boolean;
begin
  Result := Boolean(CkJsonArray_AddUIntAt(FHandle, index, value));
end;

function TJsonArray.SetUIntAt(index: Integer; value: LongWord): Boolean;
begin
  Result := Boolean(CkJsonArray_SetUIntAt(FHandle, index, value));
end;

function TJsonArray.ArrayAt2(index: Integer; jarr: TChilkatBase): Boolean;
begin
  Result := Boolean(CkJsonArray_ArrayAt2(FHandle, index, jarr.Handle));
end;

function TJsonArray.ObjectAt2(index: Integer; jsonObj: TChilkatBase): Boolean;
begin
  Result := Boolean(CkJsonArray_ObjectAt2(FHandle, index, jsonObj.Handle));
end;

function TJsonArray.AddArrayAt2(index: Integer; jarr: TChilkatBase): Boolean;
begin
  Result := Boolean(CkJsonArray_AddArrayAt2(FHandle, index, jarr.Handle));
end;

function TJsonArray.AddObjectAt2(index: Integer; json: TChilkatBase): Boolean;
begin
  Result := Boolean(CkJsonArray_AddObjectAt2(FHandle, index, json.Handle));
end;

initialization
  Chilkat_GetProcedureAddress(CkJsonArray_Create,  'CkJsonArray_Create');
  Chilkat_GetProcedureAddress(CkJsonArray_Dispose, 'CkJsonArray_Dispose');
  Chilkat_GetProcedureAddress(CkJsonArray_get_LastErrorHtml, 'CkJsonArray_get_LastErrorHtml');
  Chilkat_GetProcedureAddress(CkJsonArray_get_LastErrorText, 'CkJsonArray_get_LastErrorText');
  Chilkat_GetProcedureAddress(CkJsonArray_get_LastErrorXml, 'CkJsonArray_get_LastErrorXml');
  Chilkat_GetProcedureAddress(CkJsonArray_get_Version, 'CkJsonArray_get_Version');
  Chilkat_GetProcedureAddress(CkJsonArray_get_DebugLogFilePath, 'CkJsonArray_get_DebugLogFilePath');
  Chilkat_GetProcedureAddress(CkJsonArray_put_DebugLogFilePath, 'CkJsonArray_put_DebugLogFilePath');
  Chilkat_GetProcedureAddress(CkJsonArray_get_VerboseLogging, 'CkJsonArray_get_VerboseLogging');
  Chilkat_GetProcedureAddress(CkJsonArray_put_VerboseLogging, 'CkJsonArray_put_VerboseLogging');
  Chilkat_GetProcedureAddress(CkJsonArray_get_LastMethodSuccess, 'CkJsonArray_get_LastMethodSuccess');
  Chilkat_GetProcedureAddress(CkJsonArray_put_LastMethodSuccess, 'CkJsonArray_put_LastMethodSuccess');
  Chilkat_GetProcedureAddress(CkJsonArray_get_Size, 'CkJsonArray_get_Size');
  Chilkat_GetProcedureAddress(CkJsonArray_get_EmitCrlf, 'CkJsonArray_get_EmitCrlf');
  Chilkat_GetProcedureAddress(CkJsonArray_put_EmitCrlf, 'CkJsonArray_put_EmitCrlf');
  Chilkat_GetProcedureAddress(CkJsonArray_get_EmitCompact, 'CkJsonArray_get_EmitCompact');
  Chilkat_GetProcedureAddress(CkJsonArray_put_EmitCompact, 'CkJsonArray_put_EmitCompact');
  Chilkat_GetProcedureAddress(CkJsonArray_get_FindStartIndex, 'CkJsonArray_get_FindStartIndex');
  Chilkat_GetProcedureAddress(CkJsonArray_put_FindStartIndex, 'CkJsonArray_put_FindStartIndex');
  Chilkat_GetProcedureAddress(CkJsonArray_AddArrayAt, 'CkJsonArray_AddArrayAt');
  Chilkat_GetProcedureAddress(CkJsonArray_AddBoolAt, 'CkJsonArray_AddBoolAt');
  Chilkat_GetProcedureAddress(CkJsonArray_AddIntAt, 'CkJsonArray_AddIntAt');
  Chilkat_GetProcedureAddress(CkJsonArray_AddNullAt, 'CkJsonArray_AddNullAt');
  Chilkat_GetProcedureAddress(CkJsonArray_AddNumberAt, 'CkJsonArray_AddNumberAt');
  Chilkat_GetProcedureAddress(CkJsonArray_AddObjectAt, 'CkJsonArray_AddObjectAt');
  Chilkat_GetProcedureAddress(CkJsonArray_AddStringAt, 'CkJsonArray_AddStringAt');
  Chilkat_GetProcedureAddress(CkJsonArray_ArrayAt, 'CkJsonArray_ArrayAt');
  Chilkat_GetProcedureAddress(CkJsonArray_BoolAt, 'CkJsonArray_BoolAt');
  Chilkat_GetProcedureAddress(CkJsonArray_DeleteAt, 'CkJsonArray_DeleteAt');
  Chilkat_GetProcedureAddress(CkJsonArray_IntAt, 'CkJsonArray_IntAt');
  Chilkat_GetProcedureAddress(CkJsonArray_IsNullAt, 'CkJsonArray_IsNullAt');
  Chilkat_GetProcedureAddress(CkJsonArray_ObjectAt, 'CkJsonArray_ObjectAt');
  Chilkat_GetProcedureAddress(CkJsonArray_SetBoolAt, 'CkJsonArray_SetBoolAt');
  Chilkat_GetProcedureAddress(CkJsonArray_SetIntAt, 'CkJsonArray_SetIntAt');
  Chilkat_GetProcedureAddress(CkJsonArray_SetNullAt, 'CkJsonArray_SetNullAt');
  Chilkat_GetProcedureAddress(CkJsonArray_SetNumberAt, 'CkJsonArray_SetNumberAt');
  Chilkat_GetProcedureAddress(CkJsonArray_SetStringAt, 'CkJsonArray_SetStringAt');
  Chilkat_GetProcedureAddress(CkJsonArray_StringAt, 'CkJsonArray_StringAt');
  Chilkat_GetProcedureAddress(CkJsonArray_Emit, 'CkJsonArray_Emit');
  Chilkat_GetProcedureAddress(CkJsonArray_TypeAt, 'CkJsonArray_TypeAt');
  Chilkat_GetProcedureAddress(CkJsonArray_LoadSb, 'CkJsonArray_LoadSb');
  Chilkat_GetProcedureAddress(CkJsonArray_Load, 'CkJsonArray_Load');
  Chilkat_GetProcedureAddress(CkJsonArray_EmitSb, 'CkJsonArray_EmitSb');
  Chilkat_GetProcedureAddress(CkJsonArray_DateAt, 'CkJsonArray_DateAt');
  Chilkat_GetProcedureAddress(CkJsonArray_DtAt, 'CkJsonArray_DtAt');
  Chilkat_GetProcedureAddress(CkJsonArray_FindString, 'CkJsonArray_FindString');
  Chilkat_GetProcedureAddress(CkJsonArray_FindObject, 'CkJsonArray_FindObject');
  Chilkat_GetProcedureAddress(CkJsonArray_Swap, 'CkJsonArray_Swap');
  Chilkat_GetProcedureAddress(CkJsonArray_Clear, 'CkJsonArray_Clear');
  Chilkat_GetProcedureAddress(CkJsonArray_AppendArrayItems, 'CkJsonArray_AppendArrayItems');
  Chilkat_GetProcedureAddress(CkJsonArray_AddObjectCopyAt, 'CkJsonArray_AddObjectCopyAt');
  Chilkat_GetProcedureAddress(CkJsonArray_UIntAt, 'CkJsonArray_UIntAt');
  Chilkat_GetProcedureAddress(CkJsonArray_AddUIntAt, 'CkJsonArray_AddUIntAt');
  Chilkat_GetProcedureAddress(CkJsonArray_SetUIntAt, 'CkJsonArray_SetUIntAt');
  Chilkat_GetProcedureAddress(CkJsonArray_ArrayAt2, 'CkJsonArray_ArrayAt2');
  Chilkat_GetProcedureAddress(CkJsonArray_ObjectAt2, 'CkJsonArray_ObjectAt2');
  Chilkat_GetProcedureAddress(CkJsonArray_AddArrayAt2, 'CkJsonArray_AddArrayAt2');
  Chilkat_GetProcedureAddress(CkJsonArray_AddObjectAt2, 'CkJsonArray_AddObjectAt2');

end.
