/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (https://www.swig.org).
 * Version 4.3.0
 *
 * Do not make changes to this file unless you know what you are doing - modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

package com.chilkatsoft;

public class CkFtp2 {
  private transient long swigCPtr;
  protected transient boolean swigCMemOwn;

  protected CkFtp2(long cPtr, boolean cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = cPtr;
  }

  protected static long getCPtr(CkFtp2 obj) {
    return (obj == null) ? 0 : obj.swigCPtr;
  }

  protected static long swigRelease(CkFtp2 obj) {
    long ptr = 0;
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new RuntimeException("Cannot release ownership as memory is not owned");
      ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.delete();
    }
    return ptr;
  }

  @SuppressWarnings({"deprecation", "removal"})
  protected void finalize() {
    delete();
  }

  public synchronized void delete() {
    if (swigCPtr != 0) {
      if (swigCMemOwn) {
        swigCMemOwn = false;
        chilkatJNI.delete_CkFtp2(swigCPtr);
      }
      swigCPtr = 0;
    }
  }

  public CkFtp2() {
    this(chilkatJNI.new_CkFtp2(), true);
  }

  public void LastErrorXml(CkString str) {
    chilkatJNI.CkFtp2_LastErrorXml(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public void LastErrorHtml(CkString str) {
    chilkatJNI.CkFtp2_LastErrorHtml(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public void LastErrorText(CkString str) {
    chilkatJNI.CkFtp2_LastErrorText(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public void put_EventCallbackObject(CkFtp2Progress progress) {
    chilkatJNI.CkFtp2_put_EventCallbackObject(swigCPtr, this, CkFtp2Progress.getCPtr(progress), progress);
  }

  public boolean get_AbortCurrent() {
    return chilkatJNI.CkFtp2_get_AbortCurrent(swigCPtr, this);
  }

  public void put_AbortCurrent(boolean newVal) {
    chilkatJNI.CkFtp2_put_AbortCurrent(swigCPtr, this, newVal);
  }

  public void get_Account(CkString str) {
    chilkatJNI.CkFtp2_get_Account(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String account() {
    return chilkatJNI.CkFtp2_account(swigCPtr, this);
  }

  public void put_Account(String newVal) {
    chilkatJNI.CkFtp2_put_Account(swigCPtr, this, newVal);
  }

  public int get_ActivePortRangeEnd() {
    return chilkatJNI.CkFtp2_get_ActivePortRangeEnd(swigCPtr, this);
  }

  public void put_ActivePortRangeEnd(int newVal) {
    chilkatJNI.CkFtp2_put_ActivePortRangeEnd(swigCPtr, this, newVal);
  }

  public int get_ActivePortRangeStart() {
    return chilkatJNI.CkFtp2_get_ActivePortRangeStart(swigCPtr, this);
  }

  public void put_ActivePortRangeStart(int newVal) {
    chilkatJNI.CkFtp2_put_ActivePortRangeStart(swigCPtr, this, newVal);
  }

  public long get_AllocateSize() {
    return chilkatJNI.CkFtp2_get_AllocateSize(swigCPtr, this);
  }

  public void put_AllocateSize(long newVal) {
    chilkatJNI.CkFtp2_put_AllocateSize(swigCPtr, this, newVal);
  }

  public boolean get_AllowMlsd() {
    return chilkatJNI.CkFtp2_get_AllowMlsd(swigCPtr, this);
  }

  public void put_AllowMlsd(boolean newVal) {
    chilkatJNI.CkFtp2_put_AllowMlsd(swigCPtr, this, newVal);
  }

  public long get_AsyncBytesReceived() {
    return chilkatJNI.CkFtp2_get_AsyncBytesReceived(swigCPtr, this);
  }

  public long get_AsyncBytesReceived64() {
    return chilkatJNI.CkFtp2_get_AsyncBytesReceived64(swigCPtr, this);
  }

  public void get_AsyncBytesReceivedStr(CkString str) {
    chilkatJNI.CkFtp2_get_AsyncBytesReceivedStr(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String asyncBytesReceivedStr() {
    return chilkatJNI.CkFtp2_asyncBytesReceivedStr(swigCPtr, this);
  }

  public long get_AsyncBytesSent() {
    return chilkatJNI.CkFtp2_get_AsyncBytesSent(swigCPtr, this);
  }

  public long get_AsyncBytesSent64() {
    return chilkatJNI.CkFtp2_get_AsyncBytesSent64(swigCPtr, this);
  }

  public void get_AsyncBytesSentStr(CkString str) {
    chilkatJNI.CkFtp2_get_AsyncBytesSentStr(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String asyncBytesSentStr() {
    return chilkatJNI.CkFtp2_asyncBytesSentStr(swigCPtr, this);
  }

  public boolean get_AuthSsl() {
    return chilkatJNI.CkFtp2_get_AuthSsl(swigCPtr, this);
  }

  public void put_AuthSsl(boolean newVal) {
    chilkatJNI.CkFtp2_put_AuthSsl(swigCPtr, this, newVal);
  }

  public boolean get_AuthTls() {
    return chilkatJNI.CkFtp2_get_AuthTls(swigCPtr, this);
  }

  public void put_AuthTls(boolean newVal) {
    chilkatJNI.CkFtp2_put_AuthTls(swigCPtr, this, newVal);
  }

  public boolean get_AutoFeat() {
    return chilkatJNI.CkFtp2_get_AutoFeat(swigCPtr, this);
  }

  public void put_AutoFeat(boolean newVal) {
    chilkatJNI.CkFtp2_put_AutoFeat(swigCPtr, this, newVal);
  }

  public boolean get_AutoFix() {
    return chilkatJNI.CkFtp2_get_AutoFix(swigCPtr, this);
  }

  public void put_AutoFix(boolean newVal) {
    chilkatJNI.CkFtp2_put_AutoFix(swigCPtr, this, newVal);
  }

  public boolean get_AutoGetSizeForProgress() {
    return chilkatJNI.CkFtp2_get_AutoGetSizeForProgress(swigCPtr, this);
  }

  public void put_AutoGetSizeForProgress(boolean newVal) {
    chilkatJNI.CkFtp2_put_AutoGetSizeForProgress(swigCPtr, this, newVal);
  }

  public boolean get_AutoOptsUtf8() {
    return chilkatJNI.CkFtp2_get_AutoOptsUtf8(swigCPtr, this);
  }

  public void put_AutoOptsUtf8(boolean newVal) {
    chilkatJNI.CkFtp2_put_AutoOptsUtf8(swigCPtr, this, newVal);
  }

  public boolean get_AutoSetUseEpsv() {
    return chilkatJNI.CkFtp2_get_AutoSetUseEpsv(swigCPtr, this);
  }

  public void put_AutoSetUseEpsv(boolean newVal) {
    chilkatJNI.CkFtp2_put_AutoSetUseEpsv(swigCPtr, this, newVal);
  }

  public boolean get_AutoSyst() {
    return chilkatJNI.CkFtp2_get_AutoSyst(swigCPtr, this);
  }

  public void put_AutoSyst(boolean newVal) {
    chilkatJNI.CkFtp2_put_AutoSyst(swigCPtr, this, newVal);
  }

  public boolean get_AutoXcrc() {
    return chilkatJNI.CkFtp2_get_AutoXcrc(swigCPtr, this);
  }

  public void put_AutoXcrc(boolean newVal) {
    chilkatJNI.CkFtp2_put_AutoXcrc(swigCPtr, this, newVal);
  }

  public int get_BandwidthThrottleDown() {
    return chilkatJNI.CkFtp2_get_BandwidthThrottleDown(swigCPtr, this);
  }

  public void put_BandwidthThrottleDown(int newVal) {
    chilkatJNI.CkFtp2_put_BandwidthThrottleDown(swigCPtr, this, newVal);
  }

  public int get_BandwidthThrottleUp() {
    return chilkatJNI.CkFtp2_get_BandwidthThrottleUp(swigCPtr, this);
  }

  public void put_BandwidthThrottleUp(int newVal) {
    chilkatJNI.CkFtp2_put_BandwidthThrottleUp(swigCPtr, this, newVal);
  }

  public void get_ClientIpAddress(CkString str) {
    chilkatJNI.CkFtp2_get_ClientIpAddress(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String clientIpAddress() {
    return chilkatJNI.CkFtp2_clientIpAddress(swigCPtr, this);
  }

  public void put_ClientIpAddress(String newVal) {
    chilkatJNI.CkFtp2_put_ClientIpAddress(swigCPtr, this, newVal);
  }

  public void get_CommandCharset(CkString str) {
    chilkatJNI.CkFtp2_get_CommandCharset(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String commandCharset() {
    return chilkatJNI.CkFtp2_commandCharset(swigCPtr, this);
  }

  public void put_CommandCharset(String newVal) {
    chilkatJNI.CkFtp2_put_CommandCharset(swigCPtr, this, newVal);
  }

  public int get_ConnectFailReason() {
    return chilkatJNI.CkFtp2_get_ConnectFailReason(swigCPtr, this);
  }

  public int get_ConnectTimeout() {
    return chilkatJNI.CkFtp2_get_ConnectTimeout(swigCPtr, this);
  }

  public void put_ConnectTimeout(int newVal) {
    chilkatJNI.CkFtp2_put_ConnectTimeout(swigCPtr, this, newVal);
  }

  public boolean get_ConnectVerified() {
    return chilkatJNI.CkFtp2_get_ConnectVerified(swigCPtr, this);
  }

  public int get_CrlfMode() {
    return chilkatJNI.CkFtp2_get_CrlfMode(swigCPtr, this);
  }

  public void put_CrlfMode(int newVal) {
    chilkatJNI.CkFtp2_put_CrlfMode(swigCPtr, this, newVal);
  }

  public long get_CurBytesReceived() {
    return chilkatJNI.CkFtp2_get_CurBytesReceived(swigCPtr, this);
  }

  public long get_CurBytesReceived64() {
    return chilkatJNI.CkFtp2_get_CurBytesReceived64(swigCPtr, this);
  }

  public void get_CurBytesReceivedStr(CkString str) {
    chilkatJNI.CkFtp2_get_CurBytesReceivedStr(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String curBytesReceivedStr() {
    return chilkatJNI.CkFtp2_curBytesReceivedStr(swigCPtr, this);
  }

  public long get_CurBytesSent() {
    return chilkatJNI.CkFtp2_get_CurBytesSent(swigCPtr, this);
  }

  public long get_CurBytesSent64() {
    return chilkatJNI.CkFtp2_get_CurBytesSent64(swigCPtr, this);
  }

  public void get_CurBytesSentStr(CkString str) {
    chilkatJNI.CkFtp2_get_CurBytesSentStr(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String curBytesSentStr() {
    return chilkatJNI.CkFtp2_curBytesSentStr(swigCPtr, this);
  }

  public void get_DataProtection(CkString str) {
    chilkatJNI.CkFtp2_get_DataProtection(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String dataProtection() {
    return chilkatJNI.CkFtp2_dataProtection(swigCPtr, this);
  }

  public void put_DataProtection(String newVal) {
    chilkatJNI.CkFtp2_put_DataProtection(swigCPtr, this, newVal);
  }

  public void get_DebugLogFilePath(CkString str) {
    chilkatJNI.CkFtp2_get_DebugLogFilePath(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String debugLogFilePath() {
    return chilkatJNI.CkFtp2_debugLogFilePath(swigCPtr, this);
  }

  public void put_DebugLogFilePath(String newVal) {
    chilkatJNI.CkFtp2_put_DebugLogFilePath(swigCPtr, this, newVal);
  }

  public void get_DirListingCharset(CkString str) {
    chilkatJNI.CkFtp2_get_DirListingCharset(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String dirListingCharset() {
    return chilkatJNI.CkFtp2_dirListingCharset(swigCPtr, this);
  }

  public void put_DirListingCharset(String newVal) {
    chilkatJNI.CkFtp2_put_DirListingCharset(swigCPtr, this, newVal);
  }

  public int get_DownloadTransferRate() {
    return chilkatJNI.CkFtp2_get_DownloadTransferRate(swigCPtr, this);
  }

  public void get_ForcePortIpAddress(CkString str) {
    chilkatJNI.CkFtp2_get_ForcePortIpAddress(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String forcePortIpAddress() {
    return chilkatJNI.CkFtp2_forcePortIpAddress(swigCPtr, this);
  }

  public void put_ForcePortIpAddress(String newVal) {
    chilkatJNI.CkFtp2_put_ForcePortIpAddress(swigCPtr, this, newVal);
  }

  public void get_Greeting(CkString str) {
    chilkatJNI.CkFtp2_get_Greeting(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String greeting() {
    return chilkatJNI.CkFtp2_greeting(swigCPtr, this);
  }

  public boolean get_HasModeZ() {
    return chilkatJNI.CkFtp2_get_HasModeZ(swigCPtr, this);
  }

  public int get_HeartbeatMs() {
    return chilkatJNI.CkFtp2_get_HeartbeatMs(swigCPtr, this);
  }

  public void put_HeartbeatMs(int newVal) {
    chilkatJNI.CkFtp2_put_HeartbeatMs(swigCPtr, this, newVal);
  }

  public void get_Hostname(CkString str) {
    chilkatJNI.CkFtp2_get_Hostname(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String hostname() {
    return chilkatJNI.CkFtp2_hostname(swigCPtr, this);
  }

  public void put_Hostname(String newVal) {
    chilkatJNI.CkFtp2_put_Hostname(swigCPtr, this, newVal);
  }

  public void get_HttpProxyAuthMethod(CkString str) {
    chilkatJNI.CkFtp2_get_HttpProxyAuthMethod(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String httpProxyAuthMethod() {
    return chilkatJNI.CkFtp2_httpProxyAuthMethod(swigCPtr, this);
  }

  public void put_HttpProxyAuthMethod(String newVal) {
    chilkatJNI.CkFtp2_put_HttpProxyAuthMethod(swigCPtr, this, newVal);
  }

  public void get_HttpProxyDomain(CkString str) {
    chilkatJNI.CkFtp2_get_HttpProxyDomain(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String httpProxyDomain() {
    return chilkatJNI.CkFtp2_httpProxyDomain(swigCPtr, this);
  }

  public void put_HttpProxyDomain(String newVal) {
    chilkatJNI.CkFtp2_put_HttpProxyDomain(swigCPtr, this, newVal);
  }

  public void get_HttpProxyHostname(CkString str) {
    chilkatJNI.CkFtp2_get_HttpProxyHostname(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String httpProxyHostname() {
    return chilkatJNI.CkFtp2_httpProxyHostname(swigCPtr, this);
  }

  public void put_HttpProxyHostname(String newVal) {
    chilkatJNI.CkFtp2_put_HttpProxyHostname(swigCPtr, this, newVal);
  }

  public void get_HttpProxyPassword(CkString str) {
    chilkatJNI.CkFtp2_get_HttpProxyPassword(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String httpProxyPassword() {
    return chilkatJNI.CkFtp2_httpProxyPassword(swigCPtr, this);
  }

  public void put_HttpProxyPassword(String newVal) {
    chilkatJNI.CkFtp2_put_HttpProxyPassword(swigCPtr, this, newVal);
  }

  public int get_HttpProxyPort() {
    return chilkatJNI.CkFtp2_get_HttpProxyPort(swigCPtr, this);
  }

  public void put_HttpProxyPort(int newVal) {
    chilkatJNI.CkFtp2_put_HttpProxyPort(swigCPtr, this, newVal);
  }

  public void get_HttpProxyUsername(CkString str) {
    chilkatJNI.CkFtp2_get_HttpProxyUsername(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String httpProxyUsername() {
    return chilkatJNI.CkFtp2_httpProxyUsername(swigCPtr, this);
  }

  public void put_HttpProxyUsername(String newVal) {
    chilkatJNI.CkFtp2_put_HttpProxyUsername(swigCPtr, this, newVal);
  }

  public int get_IdleTimeoutMs() {
    return chilkatJNI.CkFtp2_get_IdleTimeoutMs(swigCPtr, this);
  }

  public void put_IdleTimeoutMs(int newVal) {
    chilkatJNI.CkFtp2_put_IdleTimeoutMs(swigCPtr, this, newVal);
  }

  public boolean get_IsConnected() {
    return chilkatJNI.CkFtp2_get_IsConnected(swigCPtr, this);
  }

  public boolean get_KeepSessionLog() {
    return chilkatJNI.CkFtp2_get_KeepSessionLog(swigCPtr, this);
  }

  public void put_KeepSessionLog(boolean newVal) {
    chilkatJNI.CkFtp2_put_KeepSessionLog(swigCPtr, this, newVal);
  }

  public boolean get_LargeFileMeasures() {
    return chilkatJNI.CkFtp2_get_LargeFileMeasures(swigCPtr, this);
  }

  public void put_LargeFileMeasures(boolean newVal) {
    chilkatJNI.CkFtp2_put_LargeFileMeasures(swigCPtr, this, newVal);
  }

  public void get_LastErrorHtml(CkString str) {
    chilkatJNI.CkFtp2_get_LastErrorHtml(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String lastErrorHtml() {
    return chilkatJNI.CkFtp2_lastErrorHtml(swigCPtr, this);
  }

  public void get_LastErrorText(CkString str) {
    chilkatJNI.CkFtp2_get_LastErrorText(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String lastErrorText() {
    return chilkatJNI.CkFtp2_lastErrorText(swigCPtr, this);
  }

  public void get_LastErrorXml(CkString str) {
    chilkatJNI.CkFtp2_get_LastErrorXml(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String lastErrorXml() {
    return chilkatJNI.CkFtp2_lastErrorXml(swigCPtr, this);
  }

  public boolean get_LastMethodSuccess() {
    return chilkatJNI.CkFtp2_get_LastMethodSuccess(swigCPtr, this);
  }

  public void put_LastMethodSuccess(boolean newVal) {
    chilkatJNI.CkFtp2_put_LastMethodSuccess(swigCPtr, this, newVal);
  }

  public void get_LastReply(CkString str) {
    chilkatJNI.CkFtp2_get_LastReply(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String lastReply() {
    return chilkatJNI.CkFtp2_lastReply(swigCPtr, this);
  }

  public void get_ListPattern(CkString str) {
    chilkatJNI.CkFtp2_get_ListPattern(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String listPattern() {
    return chilkatJNI.CkFtp2_listPattern(swigCPtr, this);
  }

  public void put_ListPattern(String newVal) {
    chilkatJNI.CkFtp2_put_ListPattern(swigCPtr, this, newVal);
  }

  public boolean get_LoginVerified() {
    return chilkatJNI.CkFtp2_get_LoginVerified(swigCPtr, this);
  }

  public boolean get_PartialTransfer() {
    return chilkatJNI.CkFtp2_get_PartialTransfer(swigCPtr, this);
  }

  public boolean get_Passive() {
    return chilkatJNI.CkFtp2_get_Passive(swigCPtr, this);
  }

  public void put_Passive(boolean newVal) {
    chilkatJNI.CkFtp2_put_Passive(swigCPtr, this, newVal);
  }

  public boolean get_PassiveUseHostAddr() {
    return chilkatJNI.CkFtp2_get_PassiveUseHostAddr(swigCPtr, this);
  }

  public void put_PassiveUseHostAddr(boolean newVal) {
    chilkatJNI.CkFtp2_put_PassiveUseHostAddr(swigCPtr, this, newVal);
  }

  public void get_Password(CkString str) {
    chilkatJNI.CkFtp2_get_Password(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String password() {
    return chilkatJNI.CkFtp2_password(swigCPtr, this);
  }

  public void put_Password(String newVal) {
    chilkatJNI.CkFtp2_put_Password(swigCPtr, this, newVal);
  }

  public int get_PercentDoneScale() {
    return chilkatJNI.CkFtp2_get_PercentDoneScale(swigCPtr, this);
  }

  public void put_PercentDoneScale(int newVal) {
    chilkatJNI.CkFtp2_put_PercentDoneScale(swigCPtr, this, newVal);
  }

  public int get_Port() {
    return chilkatJNI.CkFtp2_get_Port(swigCPtr, this);
  }

  public void put_Port(int newVal) {
    chilkatJNI.CkFtp2_put_Port(swigCPtr, this, newVal);
  }

  public boolean get_PreferIpv6() {
    return chilkatJNI.CkFtp2_get_PreferIpv6(swigCPtr, this);
  }

  public void put_PreferIpv6(boolean newVal) {
    chilkatJNI.CkFtp2_put_PreferIpv6(swigCPtr, this, newVal);
  }

  public boolean get_PreferNlst() {
    return chilkatJNI.CkFtp2_get_PreferNlst(swigCPtr, this);
  }

  public void put_PreferNlst(boolean newVal) {
    chilkatJNI.CkFtp2_put_PreferNlst(swigCPtr, this, newVal);
  }

  public int get_ProgressMonSize() {
    return chilkatJNI.CkFtp2_get_ProgressMonSize(swigCPtr, this);
  }

  public void put_ProgressMonSize(int newVal) {
    chilkatJNI.CkFtp2_put_ProgressMonSize(swigCPtr, this, newVal);
  }

  public long get_ProgressMonSize64() {
    return chilkatJNI.CkFtp2_get_ProgressMonSize64(swigCPtr, this);
  }

  public void put_ProgressMonSize64(long newVal) {
    chilkatJNI.CkFtp2_put_ProgressMonSize64(swigCPtr, this, newVal);
  }

  public void get_ProxyHostname(CkString str) {
    chilkatJNI.CkFtp2_get_ProxyHostname(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String proxyHostname() {
    return chilkatJNI.CkFtp2_proxyHostname(swigCPtr, this);
  }

  public void put_ProxyHostname(String newVal) {
    chilkatJNI.CkFtp2_put_ProxyHostname(swigCPtr, this, newVal);
  }

  public int get_ProxyMethod() {
    return chilkatJNI.CkFtp2_get_ProxyMethod(swigCPtr, this);
  }

  public void put_ProxyMethod(int newVal) {
    chilkatJNI.CkFtp2_put_ProxyMethod(swigCPtr, this, newVal);
  }

  public void get_ProxyPassword(CkString str) {
    chilkatJNI.CkFtp2_get_ProxyPassword(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String proxyPassword() {
    return chilkatJNI.CkFtp2_proxyPassword(swigCPtr, this);
  }

  public void put_ProxyPassword(String newVal) {
    chilkatJNI.CkFtp2_put_ProxyPassword(swigCPtr, this, newVal);
  }

  public int get_ProxyPort() {
    return chilkatJNI.CkFtp2_get_ProxyPort(swigCPtr, this);
  }

  public void put_ProxyPort(int newVal) {
    chilkatJNI.CkFtp2_put_ProxyPort(swigCPtr, this, newVal);
  }

  public void get_ProxyUsername(CkString str) {
    chilkatJNI.CkFtp2_get_ProxyUsername(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String proxyUsername() {
    return chilkatJNI.CkFtp2_proxyUsername(swigCPtr, this);
  }

  public void put_ProxyUsername(String newVal) {
    chilkatJNI.CkFtp2_put_ProxyUsername(swigCPtr, this, newVal);
  }

  public int get_ReadTimeout() {
    return chilkatJNI.CkFtp2_get_ReadTimeout(swigCPtr, this);
  }

  public void put_ReadTimeout(int newVal) {
    chilkatJNI.CkFtp2_put_ReadTimeout(swigCPtr, this, newVal);
  }

  public boolean get_RequireSslCertVerify() {
    return chilkatJNI.CkFtp2_get_RequireSslCertVerify(swigCPtr, this);
  }

  public void put_RequireSslCertVerify(boolean newVal) {
    chilkatJNI.CkFtp2_put_RequireSslCertVerify(swigCPtr, this, newVal);
  }

  public boolean get_RestartNext() {
    return chilkatJNI.CkFtp2_get_RestartNext(swigCPtr, this);
  }

  public void put_RestartNext(boolean newVal) {
    chilkatJNI.CkFtp2_put_RestartNext(swigCPtr, this, newVal);
  }

  public void get_SessionLog(CkString str) {
    chilkatJNI.CkFtp2_get_SessionLog(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String sessionLog() {
    return chilkatJNI.CkFtp2_sessionLog(swigCPtr, this);
  }

  public void get_SocksHostname(CkString str) {
    chilkatJNI.CkFtp2_get_SocksHostname(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String socksHostname() {
    return chilkatJNI.CkFtp2_socksHostname(swigCPtr, this);
  }

  public void put_SocksHostname(String newVal) {
    chilkatJNI.CkFtp2_put_SocksHostname(swigCPtr, this, newVal);
  }

  public void get_SocksPassword(CkString str) {
    chilkatJNI.CkFtp2_get_SocksPassword(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String socksPassword() {
    return chilkatJNI.CkFtp2_socksPassword(swigCPtr, this);
  }

  public void put_SocksPassword(String newVal) {
    chilkatJNI.CkFtp2_put_SocksPassword(swigCPtr, this, newVal);
  }

  public int get_SocksPort() {
    return chilkatJNI.CkFtp2_get_SocksPort(swigCPtr, this);
  }

  public void put_SocksPort(int newVal) {
    chilkatJNI.CkFtp2_put_SocksPort(swigCPtr, this, newVal);
  }

  public void get_SocksUsername(CkString str) {
    chilkatJNI.CkFtp2_get_SocksUsername(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String socksUsername() {
    return chilkatJNI.CkFtp2_socksUsername(swigCPtr, this);
  }

  public void put_SocksUsername(String newVal) {
    chilkatJNI.CkFtp2_put_SocksUsername(swigCPtr, this, newVal);
  }

  public int get_SocksVersion() {
    return chilkatJNI.CkFtp2_get_SocksVersion(swigCPtr, this);
  }

  public void put_SocksVersion(int newVal) {
    chilkatJNI.CkFtp2_put_SocksVersion(swigCPtr, this, newVal);
  }

  public int get_SoRcvBuf() {
    return chilkatJNI.CkFtp2_get_SoRcvBuf(swigCPtr, this);
  }

  public void put_SoRcvBuf(int newVal) {
    chilkatJNI.CkFtp2_put_SoRcvBuf(swigCPtr, this, newVal);
  }

  public int get_SoSndBuf() {
    return chilkatJNI.CkFtp2_get_SoSndBuf(swigCPtr, this);
  }

  public void put_SoSndBuf(int newVal) {
    chilkatJNI.CkFtp2_put_SoSndBuf(swigCPtr, this, newVal);
  }

  public boolean get_Ssl() {
    return chilkatJNI.CkFtp2_get_Ssl(swigCPtr, this);
  }

  public void put_Ssl(boolean newVal) {
    chilkatJNI.CkFtp2_put_Ssl(swigCPtr, this, newVal);
  }

  public void get_SslAllowedCiphers(CkString str) {
    chilkatJNI.CkFtp2_get_SslAllowedCiphers(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String sslAllowedCiphers() {
    return chilkatJNI.CkFtp2_sslAllowedCiphers(swigCPtr, this);
  }

  public void put_SslAllowedCiphers(String newVal) {
    chilkatJNI.CkFtp2_put_SslAllowedCiphers(swigCPtr, this, newVal);
  }

  public void get_SslProtocol(CkString str) {
    chilkatJNI.CkFtp2_get_SslProtocol(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String sslProtocol() {
    return chilkatJNI.CkFtp2_sslProtocol(swigCPtr, this);
  }

  public void put_SslProtocol(String newVal) {
    chilkatJNI.CkFtp2_put_SslProtocol(swigCPtr, this, newVal);
  }

  public boolean get_SslServerCertVerified() {
    return chilkatJNI.CkFtp2_get_SslServerCertVerified(swigCPtr, this);
  }

  public boolean get_SyncCreateAllLocalDirs() {
    return chilkatJNI.CkFtp2_get_SyncCreateAllLocalDirs(swigCPtr, this);
  }

  public void put_SyncCreateAllLocalDirs(boolean newVal) {
    chilkatJNI.CkFtp2_put_SyncCreateAllLocalDirs(swigCPtr, this, newVal);
  }

  public void get_SyncMustMatch(CkString str) {
    chilkatJNI.CkFtp2_get_SyncMustMatch(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String syncMustMatch() {
    return chilkatJNI.CkFtp2_syncMustMatch(swigCPtr, this);
  }

  public void put_SyncMustMatch(String newVal) {
    chilkatJNI.CkFtp2_put_SyncMustMatch(swigCPtr, this, newVal);
  }

  public void get_SyncMustMatchDir(CkString str) {
    chilkatJNI.CkFtp2_get_SyncMustMatchDir(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String syncMustMatchDir() {
    return chilkatJNI.CkFtp2_syncMustMatchDir(swigCPtr, this);
  }

  public void put_SyncMustMatchDir(String newVal) {
    chilkatJNI.CkFtp2_put_SyncMustMatchDir(swigCPtr, this, newVal);
  }

  public void get_SyncMustNotMatch(CkString str) {
    chilkatJNI.CkFtp2_get_SyncMustNotMatch(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String syncMustNotMatch() {
    return chilkatJNI.CkFtp2_syncMustNotMatch(swigCPtr, this);
  }

  public void put_SyncMustNotMatch(String newVal) {
    chilkatJNI.CkFtp2_put_SyncMustNotMatch(swigCPtr, this, newVal);
  }

  public void get_SyncMustNotMatchDir(CkString str) {
    chilkatJNI.CkFtp2_get_SyncMustNotMatchDir(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String syncMustNotMatchDir() {
    return chilkatJNI.CkFtp2_syncMustNotMatchDir(swigCPtr, this);
  }

  public void put_SyncMustNotMatchDir(String newVal) {
    chilkatJNI.CkFtp2_put_SyncMustNotMatchDir(swigCPtr, this, newVal);
  }

  public void get_SyncPreview(CkString str) {
    chilkatJNI.CkFtp2_get_SyncPreview(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String syncPreview() {
    return chilkatJNI.CkFtp2_syncPreview(swigCPtr, this);
  }

  public void get_TlsCipherSuite(CkString str) {
    chilkatJNI.CkFtp2_get_TlsCipherSuite(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String tlsCipherSuite() {
    return chilkatJNI.CkFtp2_tlsCipherSuite(swigCPtr, this);
  }

  public void get_TlsPinSet(CkString str) {
    chilkatJNI.CkFtp2_get_TlsPinSet(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String tlsPinSet() {
    return chilkatJNI.CkFtp2_tlsPinSet(swigCPtr, this);
  }

  public void put_TlsPinSet(String newVal) {
    chilkatJNI.CkFtp2_put_TlsPinSet(swigCPtr, this, newVal);
  }

  public void get_TlsVersion(CkString str) {
    chilkatJNI.CkFtp2_get_TlsVersion(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String tlsVersion() {
    return chilkatJNI.CkFtp2_tlsVersion(swigCPtr, this);
  }

  public void get_UncommonOptions(CkString str) {
    chilkatJNI.CkFtp2_get_UncommonOptions(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String uncommonOptions() {
    return chilkatJNI.CkFtp2_uncommonOptions(swigCPtr, this);
  }

  public void put_UncommonOptions(String newVal) {
    chilkatJNI.CkFtp2_put_UncommonOptions(swigCPtr, this, newVal);
  }

  public int get_UploadTransferRate() {
    return chilkatJNI.CkFtp2_get_UploadTransferRate(swigCPtr, this);
  }

  public boolean get_UseEpsv() {
    return chilkatJNI.CkFtp2_get_UseEpsv(swigCPtr, this);
  }

  public void put_UseEpsv(boolean newVal) {
    chilkatJNI.CkFtp2_put_UseEpsv(swigCPtr, this, newVal);
  }

  public void get_Username(CkString str) {
    chilkatJNI.CkFtp2_get_Username(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String username() {
    return chilkatJNI.CkFtp2_username(swigCPtr, this);
  }

  public void put_Username(String newVal) {
    chilkatJNI.CkFtp2_put_Username(swigCPtr, this, newVal);
  }

  public boolean get_VerboseLogging() {
    return chilkatJNI.CkFtp2_get_VerboseLogging(swigCPtr, this);
  }

  public void put_VerboseLogging(boolean newVal) {
    chilkatJNI.CkFtp2_put_VerboseLogging(swigCPtr, this, newVal);
  }

  public void get_Version(CkString str) {
    chilkatJNI.CkFtp2_get_Version(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String version() {
    return chilkatJNI.CkFtp2_version(swigCPtr, this);
  }

  public boolean AppendFile(String localFilePath, String remoteFilePath) {
    return chilkatJNI.CkFtp2_AppendFile(swigCPtr, this, localFilePath, remoteFilePath);
  }

  public CkTask AppendFileAsync(String localFilePath, String remoteFilePath) {
    long cPtr = chilkatJNI.CkFtp2_AppendFileAsync(swigCPtr, this, localFilePath, remoteFilePath);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean AppendFileBd(String remoteFilename, CkBinData bd) {
    return chilkatJNI.CkFtp2_AppendFileBd(swigCPtr, this, remoteFilename, CkBinData.getCPtr(bd), bd);
  }

  public CkTask AppendFileBdAsync(String remoteFilename, CkBinData bd) {
    long cPtr = chilkatJNI.CkFtp2_AppendFileBdAsync(swigCPtr, this, remoteFilename, CkBinData.getCPtr(bd), bd);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean AppendFileFromBinaryData(String remoteFilename, CkByteData content) {
    return chilkatJNI.CkFtp2_AppendFileFromBinaryData(swigCPtr, this, remoteFilename, CkByteData.getCPtr(content), content);
  }

  public CkTask AppendFileFromBinaryDataAsync(String remoteFilename, CkByteData content) {
    long cPtr = chilkatJNI.CkFtp2_AppendFileFromBinaryDataAsync(swigCPtr, this, remoteFilename, CkByteData.getCPtr(content), content);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean AppendFileFromTextData(String remoteFilename, String textData, String charset) {
    return chilkatJNI.CkFtp2_AppendFileFromTextData(swigCPtr, this, remoteFilename, textData, charset);
  }

  public CkTask AppendFileFromTextDataAsync(String remoteFilename, String textData, String charset) {
    long cPtr = chilkatJNI.CkFtp2_AppendFileFromTextDataAsync(swigCPtr, this, remoteFilename, textData, charset);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean AppendFileSb(String remoteFilename, CkStringBuilder sb, String charset) {
    return chilkatJNI.CkFtp2_AppendFileSb(swigCPtr, this, remoteFilename, CkStringBuilder.getCPtr(sb), sb, charset);
  }

  public CkTask AppendFileSbAsync(String remoteFilename, CkStringBuilder sb, String charset) {
    long cPtr = chilkatJNI.CkFtp2_AppendFileSbAsync(swigCPtr, this, remoteFilename, CkStringBuilder.getCPtr(sb), sb, charset);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean ChangeRemoteDir(String remoteDirPath) {
    return chilkatJNI.CkFtp2_ChangeRemoteDir(swigCPtr, this, remoteDirPath);
  }

  public CkTask ChangeRemoteDirAsync(String remoteDirPath) {
    long cPtr = chilkatJNI.CkFtp2_ChangeRemoteDirAsync(swigCPtr, this, remoteDirPath);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean CheckConnection() {
    return chilkatJNI.CkFtp2_CheckConnection(swigCPtr, this);
  }

  public CkTask CheckConnectionAsync() {
    long cPtr = chilkatJNI.CkFtp2_CheckConnectionAsync(swigCPtr, this);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean ClearControlChannel() {
    return chilkatJNI.CkFtp2_ClearControlChannel(swigCPtr, this);
  }

  public CkTask ClearControlChannelAsync() {
    long cPtr = chilkatJNI.CkFtp2_ClearControlChannelAsync(swigCPtr, this);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public void ClearDirCache() {
    chilkatJNI.CkFtp2_ClearDirCache(swigCPtr, this);
  }

  public void ClearSessionLog() {
    chilkatJNI.CkFtp2_ClearSessionLog(swigCPtr, this);
  }

  public boolean Connect() {
    return chilkatJNI.CkFtp2_Connect(swigCPtr, this);
  }

  public CkTask ConnectAsync() {
    long cPtr = chilkatJNI.CkFtp2_ConnectAsync(swigCPtr, this);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean ConnectOnly() {
    return chilkatJNI.CkFtp2_ConnectOnly(swigCPtr, this);
  }

  public CkTask ConnectOnlyAsync() {
    long cPtr = chilkatJNI.CkFtp2_ConnectOnlyAsync(swigCPtr, this);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean ConvertToTls() {
    return chilkatJNI.CkFtp2_ConvertToTls(swigCPtr, this);
  }

  public CkTask ConvertToTlsAsync() {
    long cPtr = chilkatJNI.CkFtp2_ConvertToTlsAsync(swigCPtr, this);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean CreatePlan(String localDir, CkString outStr) {
    return chilkatJNI.CkFtp2_CreatePlan(swigCPtr, this, localDir, CkString.getCPtr(outStr), outStr);
  }

  public String createPlan(String localDir) {
    return chilkatJNI.CkFtp2_createPlan(swigCPtr, this, localDir);
  }

  public CkTask CreatePlanAsync(String localDir) {
    long cPtr = chilkatJNI.CkFtp2_CreatePlanAsync(swigCPtr, this, localDir);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean CreateRemoteDir(String remoteDirPath) {
    return chilkatJNI.CkFtp2_CreateRemoteDir(swigCPtr, this, remoteDirPath);
  }

  public CkTask CreateRemoteDirAsync(String remoteDirPath) {
    long cPtr = chilkatJNI.CkFtp2_CreateRemoteDirAsync(swigCPtr, this, remoteDirPath);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public int DeleteMatching(String remotePattern) {
    return chilkatJNI.CkFtp2_DeleteMatching(swigCPtr, this, remotePattern);
  }

  public CkTask DeleteMatchingAsync(String remotePattern) {
    long cPtr = chilkatJNI.CkFtp2_DeleteMatchingAsync(swigCPtr, this, remotePattern);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean DeleteRemoteFile(String remoteFilePath) {
    return chilkatJNI.CkFtp2_DeleteRemoteFile(swigCPtr, this, remoteFilePath);
  }

  public CkTask DeleteRemoteFileAsync(String remoteFilePath) {
    long cPtr = chilkatJNI.CkFtp2_DeleteRemoteFileAsync(swigCPtr, this, remoteFilePath);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean DeleteTree() {
    return chilkatJNI.CkFtp2_DeleteTree(swigCPtr, this);
  }

  public CkTask DeleteTreeAsync() {
    long cPtr = chilkatJNI.CkFtp2_DeleteTreeAsync(swigCPtr, this);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public int DetermineProxyMethod() {
    return chilkatJNI.CkFtp2_DetermineProxyMethod(swigCPtr, this);
  }

  public CkTask DetermineProxyMethodAsync() {
    long cPtr = chilkatJNI.CkFtp2_DetermineProxyMethodAsync(swigCPtr, this);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean DetermineSettings(CkString outXmlReport) {
    return chilkatJNI.CkFtp2_DetermineSettings(swigCPtr, this, CkString.getCPtr(outXmlReport), outXmlReport);
  }

  public String determineSettings() {
    return chilkatJNI.CkFtp2_determineSettings(swigCPtr, this);
  }

  public CkTask DetermineSettingsAsync() {
    long cPtr = chilkatJNI.CkFtp2_DetermineSettingsAsync(swigCPtr, this);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean DirTreeXml(CkString outStrXml) {
    return chilkatJNI.CkFtp2_DirTreeXml(swigCPtr, this, CkString.getCPtr(outStrXml), outStrXml);
  }

  public String dirTreeXml() {
    return chilkatJNI.CkFtp2_dirTreeXml(swigCPtr, this);
  }

  public CkTask DirTreeXmlAsync() {
    long cPtr = chilkatJNI.CkFtp2_DirTreeXmlAsync(swigCPtr, this);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean Disconnect() {
    return chilkatJNI.CkFtp2_Disconnect(swigCPtr, this);
  }

  public CkTask DisconnectAsync() {
    long cPtr = chilkatJNI.CkFtp2_DisconnectAsync(swigCPtr, this);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean DownloadTree(String localRoot) {
    return chilkatJNI.CkFtp2_DownloadTree(swigCPtr, this, localRoot);
  }

  public CkTask DownloadTreeAsync(String localRoot) {
    long cPtr = chilkatJNI.CkFtp2_DownloadTreeAsync(swigCPtr, this, localRoot);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean Feat(CkString outStr) {
    return chilkatJNI.CkFtp2_Feat(swigCPtr, this, CkString.getCPtr(outStr), outStr);
  }

  public String feat() {
    return chilkatJNI.CkFtp2_feat(swigCPtr, this);
  }

  public CkTask FeatAsync() {
    long cPtr = chilkatJNI.CkFtp2_FeatAsync(swigCPtr, this);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public CkDateTime GetCreateDt(int index) {
    long cPtr = chilkatJNI.CkFtp2_GetCreateDt(swigCPtr, this, index);
    return (cPtr == 0) ? null : new CkDateTime(cPtr, true);
  }

  public CkTask GetCreateDtAsync(int index) {
    long cPtr = chilkatJNI.CkFtp2_GetCreateDtAsync(swigCPtr, this, index);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public CkDateTime GetCreateDtByName(String filename) {
    long cPtr = chilkatJNI.CkFtp2_GetCreateDtByName(swigCPtr, this, filename);
    return (cPtr == 0) ? null : new CkDateTime(cPtr, true);
  }

  public CkTask GetCreateDtByNameAsync(String filename) {
    long cPtr = chilkatJNI.CkFtp2_GetCreateDtByNameAsync(swigCPtr, this, filename);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean GetCreateTimeByNameStr(String filename, CkString outStr) {
    return chilkatJNI.CkFtp2_GetCreateTimeByNameStr(swigCPtr, this, filename, CkString.getCPtr(outStr), outStr);
  }

  public String getCreateTimeByNameStr(String filename) {
    return chilkatJNI.CkFtp2_getCreateTimeByNameStr(swigCPtr, this, filename);
  }

  public String createTimeByNameStr(String filename) {
    return chilkatJNI.CkFtp2_createTimeByNameStr(swigCPtr, this, filename);
  }

  public CkTask GetCreateTimeByNameStrAsync(String filename) {
    long cPtr = chilkatJNI.CkFtp2_GetCreateTimeByNameStrAsync(swigCPtr, this, filename);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean GetCreateTimeStr(int index, CkString outStr) {
    return chilkatJNI.CkFtp2_GetCreateTimeStr(swigCPtr, this, index, CkString.getCPtr(outStr), outStr);
  }

  public String getCreateTimeStr(int index) {
    return chilkatJNI.CkFtp2_getCreateTimeStr(swigCPtr, this, index);
  }

  public String createTimeStr(int index) {
    return chilkatJNI.CkFtp2_createTimeStr(swigCPtr, this, index);
  }

  public CkTask GetCreateTimeStrAsync(int index) {
    long cPtr = chilkatJNI.CkFtp2_GetCreateTimeStrAsync(swigCPtr, this, index);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean GetCurrentRemoteDir(CkString outStr) {
    return chilkatJNI.CkFtp2_GetCurrentRemoteDir(swigCPtr, this, CkString.getCPtr(outStr), outStr);
  }

  public String getCurrentRemoteDir() {
    return chilkatJNI.CkFtp2_getCurrentRemoteDir(swigCPtr, this);
  }

  public String currentRemoteDir() {
    return chilkatJNI.CkFtp2_currentRemoteDir(swigCPtr, this);
  }

  public CkTask GetCurrentRemoteDirAsync() {
    long cPtr = chilkatJNI.CkFtp2_GetCurrentRemoteDirAsync(swigCPtr, this);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public int GetDirCount() {
    return chilkatJNI.CkFtp2_GetDirCount(swigCPtr, this);
  }

  public CkTask GetDirCountAsync() {
    long cPtr = chilkatJNI.CkFtp2_GetDirCountAsync(swigCPtr, this);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean GetFile(String remoteFilePath, String localFilePath) {
    return chilkatJNI.CkFtp2_GetFile(swigCPtr, this, remoteFilePath, localFilePath);
  }

  public CkTask GetFileAsync(String remoteFilePath, String localFilePath) {
    long cPtr = chilkatJNI.CkFtp2_GetFileAsync(swigCPtr, this, remoteFilePath, localFilePath);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean GetFileBd(String remoteFilePath, CkBinData binData) {
    return chilkatJNI.CkFtp2_GetFileBd(swigCPtr, this, remoteFilePath, CkBinData.getCPtr(binData), binData);
  }

  public CkTask GetFileBdAsync(String remoteFilePath, CkBinData binData) {
    long cPtr = chilkatJNI.CkFtp2_GetFileBdAsync(swigCPtr, this, remoteFilePath, CkBinData.getCPtr(binData), binData);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean GetFilename(int index, CkString outStr) {
    return chilkatJNI.CkFtp2_GetFilename(swigCPtr, this, index, CkString.getCPtr(outStr), outStr);
  }

  public String getFilename(int index) {
    return chilkatJNI.CkFtp2_getFilename(swigCPtr, this, index);
  }

  public String filename(int index) {
    return chilkatJNI.CkFtp2_filename(swigCPtr, this, index);
  }

  public CkTask GetFilenameAsync(int index) {
    long cPtr = chilkatJNI.CkFtp2_GetFilenameAsync(swigCPtr, this, index);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean GetFileSb(String remoteFilePath, String charset, CkStringBuilder sb) {
    return chilkatJNI.CkFtp2_GetFileSb(swigCPtr, this, remoteFilePath, charset, CkStringBuilder.getCPtr(sb), sb);
  }

  public CkTask GetFileSbAsync(String remoteFilePath, String charset, CkStringBuilder sb) {
    long cPtr = chilkatJNI.CkFtp2_GetFileSbAsync(swigCPtr, this, remoteFilePath, charset, CkStringBuilder.getCPtr(sb), sb);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean GetFileToStream(String remoteFilePath, CkStream toStream) {
    return chilkatJNI.CkFtp2_GetFileToStream(swigCPtr, this, remoteFilePath, CkStream.getCPtr(toStream), toStream);
  }

  public CkTask GetFileToStreamAsync(String remoteFilePath, CkStream toStream) {
    long cPtr = chilkatJNI.CkFtp2_GetFileToStreamAsync(swigCPtr, this, remoteFilePath, CkStream.getCPtr(toStream), toStream);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean GetGroup(int index, CkString outStr) {
    return chilkatJNI.CkFtp2_GetGroup(swigCPtr, this, index, CkString.getCPtr(outStr), outStr);
  }

  public String getGroup(int index) {
    return chilkatJNI.CkFtp2_getGroup(swigCPtr, this, index);
  }

  public String group(int index) {
    return chilkatJNI.CkFtp2_group(swigCPtr, this, index);
  }

  public CkTask GetGroupAsync(int index) {
    long cPtr = chilkatJNI.CkFtp2_GetGroupAsync(swigCPtr, this, index);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean GetIsDirectory(int index) {
    return chilkatJNI.CkFtp2_GetIsDirectory(swigCPtr, this, index);
  }

  public CkTask GetIsDirectoryAsync(int index) {
    long cPtr = chilkatJNI.CkFtp2_GetIsDirectoryAsync(swigCPtr, this, index);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean GetIsSymbolicLink(int index) {
    return chilkatJNI.CkFtp2_GetIsSymbolicLink(swigCPtr, this, index);
  }

  public CkTask GetIsSymbolicLinkAsync(int index) {
    long cPtr = chilkatJNI.CkFtp2_GetIsSymbolicLinkAsync(swigCPtr, this, index);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public CkDateTime GetLastModDt(int index) {
    long cPtr = chilkatJNI.CkFtp2_GetLastModDt(swigCPtr, this, index);
    return (cPtr == 0) ? null : new CkDateTime(cPtr, true);
  }

  public CkTask GetLastModDtAsync(int index) {
    long cPtr = chilkatJNI.CkFtp2_GetLastModDtAsync(swigCPtr, this, index);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public CkDateTime GetLastModDtByName(String filename) {
    long cPtr = chilkatJNI.CkFtp2_GetLastModDtByName(swigCPtr, this, filename);
    return (cPtr == 0) ? null : new CkDateTime(cPtr, true);
  }

  public CkTask GetLastModDtByNameAsync(String filename) {
    long cPtr = chilkatJNI.CkFtp2_GetLastModDtByNameAsync(swigCPtr, this, filename);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean GetLastModifiedTimeByNameStr(String filename, CkString outStr) {
    return chilkatJNI.CkFtp2_GetLastModifiedTimeByNameStr(swigCPtr, this, filename, CkString.getCPtr(outStr), outStr);
  }

  public String getLastModifiedTimeByNameStr(String filename) {
    return chilkatJNI.CkFtp2_getLastModifiedTimeByNameStr(swigCPtr, this, filename);
  }

  public String lastModifiedTimeByNameStr(String filename) {
    return chilkatJNI.CkFtp2_lastModifiedTimeByNameStr(swigCPtr, this, filename);
  }

  public CkTask GetLastModifiedTimeByNameStrAsync(String filename) {
    long cPtr = chilkatJNI.CkFtp2_GetLastModifiedTimeByNameStrAsync(swigCPtr, this, filename);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean GetLastModifiedTimeStr(int index, CkString outStr) {
    return chilkatJNI.CkFtp2_GetLastModifiedTimeStr(swigCPtr, this, index, CkString.getCPtr(outStr), outStr);
  }

  public String getLastModifiedTimeStr(int index) {
    return chilkatJNI.CkFtp2_getLastModifiedTimeStr(swigCPtr, this, index);
  }

  public String lastModifiedTimeStr(int index) {
    return chilkatJNI.CkFtp2_lastModifiedTimeStr(swigCPtr, this, index);
  }

  public CkTask GetLastModifiedTimeStrAsync(int index) {
    long cPtr = chilkatJNI.CkFtp2_GetLastModifiedTimeStrAsync(swigCPtr, this, index);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean GetOwner(int index, CkString outStr) {
    return chilkatJNI.CkFtp2_GetOwner(swigCPtr, this, index, CkString.getCPtr(outStr), outStr);
  }

  public String getOwner(int index) {
    return chilkatJNI.CkFtp2_getOwner(swigCPtr, this, index);
  }

  public String owner(int index) {
    return chilkatJNI.CkFtp2_owner(swigCPtr, this, index);
  }

  public CkTask GetOwnerAsync(int index) {
    long cPtr = chilkatJNI.CkFtp2_GetOwnerAsync(swigCPtr, this, index);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean GetPermissions(int index, CkString outStr) {
    return chilkatJNI.CkFtp2_GetPermissions(swigCPtr, this, index, CkString.getCPtr(outStr), outStr);
  }

  public String getPermissions(int index) {
    return chilkatJNI.CkFtp2_getPermissions(swigCPtr, this, index);
  }

  public String permissions(int index) {
    return chilkatJNI.CkFtp2_permissions(swigCPtr, this, index);
  }

  public CkTask GetPermissionsAsync(int index) {
    long cPtr = chilkatJNI.CkFtp2_GetPermissionsAsync(swigCPtr, this, index);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean GetPermType(int index, CkString outStr) {
    return chilkatJNI.CkFtp2_GetPermType(swigCPtr, this, index, CkString.getCPtr(outStr), outStr);
  }

  public String getPermType(int index) {
    return chilkatJNI.CkFtp2_getPermType(swigCPtr, this, index);
  }

  public String permType(int index) {
    return chilkatJNI.CkFtp2_permType(swigCPtr, this, index);
  }

  public CkTask GetPermTypeAsync(int index) {
    long cPtr = chilkatJNI.CkFtp2_GetPermTypeAsync(swigCPtr, this, index);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean GetRemoteFileBinaryData(String remoteFilename, CkByteData outData) {
    return chilkatJNI.CkFtp2_GetRemoteFileBinaryData(swigCPtr, this, remoteFilename, CkByteData.getCPtr(outData), outData);
  }

  public CkTask GetRemoteFileBinaryDataAsync(String remoteFilename) {
    long cPtr = chilkatJNI.CkFtp2_GetRemoteFileBinaryDataAsync(swigCPtr, this, remoteFilename);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean GetRemoteFileTextC(String remoteFilename, String charset, CkString outStr) {
    return chilkatJNI.CkFtp2_GetRemoteFileTextC(swigCPtr, this, remoteFilename, charset, CkString.getCPtr(outStr), outStr);
  }

  public String getRemoteFileTextC(String remoteFilename, String charset) {
    return chilkatJNI.CkFtp2_getRemoteFileTextC(swigCPtr, this, remoteFilename, charset);
  }

  public String remoteFileTextC(String remoteFilename, String charset) {
    return chilkatJNI.CkFtp2_remoteFileTextC(swigCPtr, this, remoteFilename, charset);
  }

  public CkTask GetRemoteFileTextCAsync(String remoteFilename, String charset) {
    long cPtr = chilkatJNI.CkFtp2_GetRemoteFileTextCAsync(swigCPtr, this, remoteFilename, charset);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean GetRemoteFileTextData(String remoteFilename, CkString outStr) {
    return chilkatJNI.CkFtp2_GetRemoteFileTextData(swigCPtr, this, remoteFilename, CkString.getCPtr(outStr), outStr);
  }

  public String getRemoteFileTextData(String remoteFilename) {
    return chilkatJNI.CkFtp2_getRemoteFileTextData(swigCPtr, this, remoteFilename);
  }

  public String remoteFileTextData(String remoteFilename) {
    return chilkatJNI.CkFtp2_remoteFileTextData(swigCPtr, this, remoteFilename);
  }

  public CkTask GetRemoteFileTextDataAsync(String remoteFilename) {
    long cPtr = chilkatJNI.CkFtp2_GetRemoteFileTextDataAsync(swigCPtr, this, remoteFilename);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean GetServerCert(CkCert cert) {
    return chilkatJNI.CkFtp2_GetServerCert(swigCPtr, this, CkCert.getCPtr(cert), cert);
  }

  public int GetSize(int index) {
    return chilkatJNI.CkFtp2_GetSize(swigCPtr, this, index);
  }

  public CkTask GetSizeAsync(int index) {
    long cPtr = chilkatJNI.CkFtp2_GetSizeAsync(swigCPtr, this, index);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public long GetSize64(int index) {
    return chilkatJNI.CkFtp2_GetSize64(swigCPtr, this, index);
  }

  public CkTask GetSize64Async(int index) {
    long cPtr = chilkatJNI.CkFtp2_GetSize64Async(swigCPtr, this, index);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public int GetSizeByName(String filename) {
    return chilkatJNI.CkFtp2_GetSizeByName(swigCPtr, this, filename);
  }

  public CkTask GetSizeByNameAsync(String filename) {
    long cPtr = chilkatJNI.CkFtp2_GetSizeByNameAsync(swigCPtr, this, filename);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public long GetSizeByName64(String filename) {
    return chilkatJNI.CkFtp2_GetSizeByName64(swigCPtr, this, filename);
  }

  public CkTask GetSizeByName64Async(String filename) {
    long cPtr = chilkatJNI.CkFtp2_GetSizeByName64Async(swigCPtr, this, filename);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean GetSizeStr(int index, CkString outStr) {
    return chilkatJNI.CkFtp2_GetSizeStr(swigCPtr, this, index, CkString.getCPtr(outStr), outStr);
  }

  public String getSizeStr(int index) {
    return chilkatJNI.CkFtp2_getSizeStr(swigCPtr, this, index);
  }

  public String sizeStr(int index) {
    return chilkatJNI.CkFtp2_sizeStr(swigCPtr, this, index);
  }

  public CkTask GetSizeStrAsync(int index) {
    long cPtr = chilkatJNI.CkFtp2_GetSizeStrAsync(swigCPtr, this, index);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean GetSizeStrByName(String filename, CkString outStr) {
    return chilkatJNI.CkFtp2_GetSizeStrByName(swigCPtr, this, filename, CkString.getCPtr(outStr), outStr);
  }

  public String getSizeStrByName(String filename) {
    return chilkatJNI.CkFtp2_getSizeStrByName(swigCPtr, this, filename);
  }

  public String sizeStrByName(String filename) {
    return chilkatJNI.CkFtp2_sizeStrByName(swigCPtr, this, filename);
  }

  public CkTask GetSizeStrByNameAsync(String filename) {
    long cPtr = chilkatJNI.CkFtp2_GetSizeStrByNameAsync(swigCPtr, this, filename);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public CkCert GetSslServerCert() {
    long cPtr = chilkatJNI.CkFtp2_GetSslServerCert(swigCPtr, this);
    return (cPtr == 0) ? null : new CkCert(cPtr, true);
  }

  public void GetSyncedFiles(CkStringTable strTable) {
    chilkatJNI.CkFtp2_GetSyncedFiles(swigCPtr, this, CkStringTable.getCPtr(strTable), strTable);
  }

  public boolean GetTextDirListing(String pattern, CkString outStrRawListing) {
    return chilkatJNI.CkFtp2_GetTextDirListing(swigCPtr, this, pattern, CkString.getCPtr(outStrRawListing), outStrRawListing);
  }

  public String getTextDirListing(String pattern) {
    return chilkatJNI.CkFtp2_getTextDirListing(swigCPtr, this, pattern);
  }

  public String textDirListing(String pattern) {
    return chilkatJNI.CkFtp2_textDirListing(swigCPtr, this, pattern);
  }

  public CkTask GetTextDirListingAsync(String pattern) {
    long cPtr = chilkatJNI.CkFtp2_GetTextDirListingAsync(swigCPtr, this, pattern);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean GetXmlDirListing(String pattern, CkString outStrXmlListing) {
    return chilkatJNI.CkFtp2_GetXmlDirListing(swigCPtr, this, pattern, CkString.getCPtr(outStrXmlListing), outStrXmlListing);
  }

  public String getXmlDirListing(String pattern) {
    return chilkatJNI.CkFtp2_getXmlDirListing(swigCPtr, this, pattern);
  }

  public String xmlDirListing(String pattern) {
    return chilkatJNI.CkFtp2_xmlDirListing(swigCPtr, this, pattern);
  }

  public CkTask GetXmlDirListingAsync(String pattern) {
    long cPtr = chilkatJNI.CkFtp2_GetXmlDirListingAsync(swigCPtr, this, pattern);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean LargeFileUpload(String localPath, String remotePath, int chunkSize) {
    return chilkatJNI.CkFtp2_LargeFileUpload(swigCPtr, this, localPath, remotePath, chunkSize);
  }

  public CkTask LargeFileUploadAsync(String localPath, String remotePath, int chunkSize) {
    long cPtr = chilkatJNI.CkFtp2_LargeFileUploadAsync(swigCPtr, this, localPath, remotePath, chunkSize);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean LoadTaskCaller(CkTask task) {
    return chilkatJNI.CkFtp2_LoadTaskCaller(swigCPtr, this, CkTask.getCPtr(task), task);
  }

  public boolean LoginAfterConnectOnly() {
    return chilkatJNI.CkFtp2_LoginAfterConnectOnly(swigCPtr, this);
  }

  public CkTask LoginAfterConnectOnlyAsync() {
    long cPtr = chilkatJNI.CkFtp2_LoginAfterConnectOnlyAsync(swigCPtr, this);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public int MGetFiles(String remotePattern, String localDir) {
    return chilkatJNI.CkFtp2_MGetFiles(swigCPtr, this, remotePattern, localDir);
  }

  public CkTask MGetFilesAsync(String remotePattern, String localDir) {
    long cPtr = chilkatJNI.CkFtp2_MGetFilesAsync(swigCPtr, this, remotePattern, localDir);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public int MPutFiles(String pattern) {
    return chilkatJNI.CkFtp2_MPutFiles(swigCPtr, this, pattern);
  }

  public CkTask MPutFilesAsync(String pattern) {
    long cPtr = chilkatJNI.CkFtp2_MPutFilesAsync(swigCPtr, this, pattern);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean NlstXml(String remoteDirPattern, CkString outStr) {
    return chilkatJNI.CkFtp2_NlstXml(swigCPtr, this, remoteDirPattern, CkString.getCPtr(outStr), outStr);
  }

  public String nlstXml(String remoteDirPattern) {
    return chilkatJNI.CkFtp2_nlstXml(swigCPtr, this, remoteDirPattern);
  }

  public CkTask NlstXmlAsync(String remoteDirPattern) {
    long cPtr = chilkatJNI.CkFtp2_NlstXmlAsync(swigCPtr, this, remoteDirPattern);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean Noop() {
    return chilkatJNI.CkFtp2_Noop(swigCPtr, this);
  }

  public CkTask NoopAsync() {
    long cPtr = chilkatJNI.CkFtp2_NoopAsync(swigCPtr, this);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean PutFile(String localFilePath, String remoteFilePath) {
    return chilkatJNI.CkFtp2_PutFile(swigCPtr, this, localFilePath, remoteFilePath);
  }

  public CkTask PutFileAsync(String localFilePath, String remoteFilePath) {
    long cPtr = chilkatJNI.CkFtp2_PutFileAsync(swigCPtr, this, localFilePath, remoteFilePath);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean PutFileBd(CkBinData binData, String remoteFilePath) {
    return chilkatJNI.CkFtp2_PutFileBd(swigCPtr, this, CkBinData.getCPtr(binData), binData, remoteFilePath);
  }

  public CkTask PutFileBdAsync(CkBinData binData, String remoteFilePath) {
    long cPtr = chilkatJNI.CkFtp2_PutFileBdAsync(swigCPtr, this, CkBinData.getCPtr(binData), binData, remoteFilePath);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean PutFileFromBinaryData(String remoteFilename, CkByteData content) {
    return chilkatJNI.CkFtp2_PutFileFromBinaryData(swigCPtr, this, remoteFilename, CkByteData.getCPtr(content), content);
  }

  public CkTask PutFileFromBinaryDataAsync(String remoteFilename, CkByteData content) {
    long cPtr = chilkatJNI.CkFtp2_PutFileFromBinaryDataAsync(swigCPtr, this, remoteFilename, CkByteData.getCPtr(content), content);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean PutFileFromTextData(String remoteFilename, String textData, String charset) {
    return chilkatJNI.CkFtp2_PutFileFromTextData(swigCPtr, this, remoteFilename, textData, charset);
  }

  public CkTask PutFileFromTextDataAsync(String remoteFilename, String textData, String charset) {
    long cPtr = chilkatJNI.CkFtp2_PutFileFromTextDataAsync(swigCPtr, this, remoteFilename, textData, charset);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean PutFileSb(CkStringBuilder sb, String charset, boolean includeBom, String remoteFilePath) {
    return chilkatJNI.CkFtp2_PutFileSb(swigCPtr, this, CkStringBuilder.getCPtr(sb), sb, charset, includeBom, remoteFilePath);
  }

  public CkTask PutFileSbAsync(CkStringBuilder sb, String charset, boolean includeBom, String remoteFilePath) {
    long cPtr = chilkatJNI.CkFtp2_PutFileSbAsync(swigCPtr, this, CkStringBuilder.getCPtr(sb), sb, charset, includeBom, remoteFilePath);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean PutPlan(String plan, String alreadyDoneFilename) {
    return chilkatJNI.CkFtp2_PutPlan(swigCPtr, this, plan, alreadyDoneFilename);
  }

  public CkTask PutPlanAsync(String plan, String alreadyDoneFilename) {
    long cPtr = chilkatJNI.CkFtp2_PutPlanAsync(swigCPtr, this, plan, alreadyDoneFilename);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean PutTree(String localDir) {
    return chilkatJNI.CkFtp2_PutTree(swigCPtr, this, localDir);
  }

  public CkTask PutTreeAsync(String localDir) {
    long cPtr = chilkatJNI.CkFtp2_PutTreeAsync(swigCPtr, this, localDir);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean Quote(String cmd) {
    return chilkatJNI.CkFtp2_Quote(swigCPtr, this, cmd);
  }

  public CkTask QuoteAsync(String cmd) {
    long cPtr = chilkatJNI.CkFtp2_QuoteAsync(swigCPtr, this, cmd);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean RemoveRemoteDir(String remoteDirPath) {
    return chilkatJNI.CkFtp2_RemoveRemoteDir(swigCPtr, this, remoteDirPath);
  }

  public CkTask RemoveRemoteDirAsync(String remoteDirPath) {
    long cPtr = chilkatJNI.CkFtp2_RemoveRemoteDirAsync(swigCPtr, this, remoteDirPath);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean RenameRemoteFile(String existingRemoteFilePath, String newRemoteFilePath) {
    return chilkatJNI.CkFtp2_RenameRemoteFile(swigCPtr, this, existingRemoteFilePath, newRemoteFilePath);
  }

  public CkTask RenameRemoteFileAsync(String existingRemoteFilePath, String newRemoteFilePath) {
    long cPtr = chilkatJNI.CkFtp2_RenameRemoteFileAsync(swigCPtr, this, existingRemoteFilePath, newRemoteFilePath);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean SendCommand(String cmd, CkString outReply) {
    return chilkatJNI.CkFtp2_SendCommand(swigCPtr, this, cmd, CkString.getCPtr(outReply), outReply);
  }

  public String sendCommand(String cmd) {
    return chilkatJNI.CkFtp2_sendCommand(swigCPtr, this, cmd);
  }

  public CkTask SendCommandAsync(String cmd) {
    long cPtr = chilkatJNI.CkFtp2_SendCommandAsync(swigCPtr, this, cmd);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean SetModeZ() {
    return chilkatJNI.CkFtp2_SetModeZ(swigCPtr, this);
  }

  public CkTask SetModeZAsync() {
    long cPtr = chilkatJNI.CkFtp2_SetModeZAsync(swigCPtr, this);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public void SetOldestDateStr(String oldestDateTimeStr) {
    chilkatJNI.CkFtp2_SetOldestDateStr(swigCPtr, this, oldestDateTimeStr);
  }

  public boolean SetOption(String option) {
    return chilkatJNI.CkFtp2_SetOption(swigCPtr, this, option);
  }

  public boolean SetPassword(CkSecureString password) {
    return chilkatJNI.CkFtp2_SetPassword(swigCPtr, this, CkSecureString.getCPtr(password), password);
  }

  public boolean SetRemoteFileDateTimeStr(String dateTimeStr, String remoteFilename) {
    return chilkatJNI.CkFtp2_SetRemoteFileDateTimeStr(swigCPtr, this, dateTimeStr, remoteFilename);
  }

  public CkTask SetRemoteFileDateTimeStrAsync(String dateTimeStr, String remoteFilename) {
    long cPtr = chilkatJNI.CkFtp2_SetRemoteFileDateTimeStrAsync(swigCPtr, this, dateTimeStr, remoteFilename);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean SetRemoteFileDt(CkDateTime dt, String remoteFilename) {
    return chilkatJNI.CkFtp2_SetRemoteFileDt(swigCPtr, this, CkDateTime.getCPtr(dt), dt, remoteFilename);
  }

  public CkTask SetRemoteFileDtAsync(CkDateTime dt, String remoteFilename) {
    long cPtr = chilkatJNI.CkFtp2_SetRemoteFileDtAsync(swigCPtr, this, CkDateTime.getCPtr(dt), dt, remoteFilename);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean SetSecurePassword(CkSecureString password) {
    return chilkatJNI.CkFtp2_SetSecurePassword(swigCPtr, this, CkSecureString.getCPtr(password), password);
  }

  public void SetSslCertRequirement(String reqName, String reqValue) {
    chilkatJNI.CkFtp2_SetSslCertRequirement(swigCPtr, this, reqName, reqValue);
  }

  public boolean SetSslClientCert(CkCert cert) {
    return chilkatJNI.CkFtp2_SetSslClientCert(swigCPtr, this, CkCert.getCPtr(cert), cert);
  }

  public boolean SetSslClientCertPem(String pemDataOrFilename, String pemPassword) {
    return chilkatJNI.CkFtp2_SetSslClientCertPem(swigCPtr, this, pemDataOrFilename, pemPassword);
  }

  public boolean SetSslClientCertPfx(String pfxFilename, String pfxPassword) {
    return chilkatJNI.CkFtp2_SetSslClientCertPfx(swigCPtr, this, pfxFilename, pfxPassword);
  }

  public boolean SetTypeAscii() {
    return chilkatJNI.CkFtp2_SetTypeAscii(swigCPtr, this);
  }

  public CkTask SetTypeAsciiAsync() {
    long cPtr = chilkatJNI.CkFtp2_SetTypeAsciiAsync(swigCPtr, this);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean SetTypeBinary() {
    return chilkatJNI.CkFtp2_SetTypeBinary(swigCPtr, this);
  }

  public CkTask SetTypeBinaryAsync() {
    long cPtr = chilkatJNI.CkFtp2_SetTypeBinaryAsync(swigCPtr, this);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean Site(String siteCommand) {
    return chilkatJNI.CkFtp2_Site(swigCPtr, this, siteCommand);
  }

  public CkTask SiteAsync(String siteCommand) {
    long cPtr = chilkatJNI.CkFtp2_SiteAsync(swigCPtr, this, siteCommand);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public void SleepMs(int millisec) {
    chilkatJNI.CkFtp2_SleepMs(swigCPtr, this, millisec);
  }

  public boolean Stat(CkString outStr) {
    return chilkatJNI.CkFtp2_Stat(swigCPtr, this, CkString.getCPtr(outStr), outStr);
  }

  public String ck_stat() {
    return chilkatJNI.CkFtp2_ck_stat(swigCPtr, this);
  }

  public CkTask StatAsync() {
    long cPtr = chilkatJNI.CkFtp2_StatAsync(swigCPtr, this);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean SyncDeleteRemote(String localRoot) {
    return chilkatJNI.CkFtp2_SyncDeleteRemote(swigCPtr, this, localRoot);
  }

  public CkTask SyncDeleteRemoteAsync(String localRoot) {
    long cPtr = chilkatJNI.CkFtp2_SyncDeleteRemoteAsync(swigCPtr, this, localRoot);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean SyncLocalDir(String localRoot, int mode) {
    return chilkatJNI.CkFtp2_SyncLocalDir(swigCPtr, this, localRoot, mode);
  }

  public CkTask SyncLocalDirAsync(String localRoot, int mode) {
    long cPtr = chilkatJNI.CkFtp2_SyncLocalDirAsync(swigCPtr, this, localRoot, mode);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean SyncLocalTree(String localRoot, int mode) {
    return chilkatJNI.CkFtp2_SyncLocalTree(swigCPtr, this, localRoot, mode);
  }

  public CkTask SyncLocalTreeAsync(String localRoot, int mode) {
    long cPtr = chilkatJNI.CkFtp2_SyncLocalTreeAsync(swigCPtr, this, localRoot, mode);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean SyncRemoteTree(String localRoot, int mode) {
    return chilkatJNI.CkFtp2_SyncRemoteTree(swigCPtr, this, localRoot, mode);
  }

  public CkTask SyncRemoteTreeAsync(String localRoot, int mode) {
    long cPtr = chilkatJNI.CkFtp2_SyncRemoteTreeAsync(swigCPtr, this, localRoot, mode);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean SyncRemoteTree2(String localDirPath, int mode, boolean bDescend, boolean bPreviewOnly) {
    return chilkatJNI.CkFtp2_SyncRemoteTree2(swigCPtr, this, localDirPath, mode, bDescend, bPreviewOnly);
  }

  public CkTask SyncRemoteTree2Async(String localDirPath, int mode, boolean bDescend, boolean bPreviewOnly) {
    long cPtr = chilkatJNI.CkFtp2_SyncRemoteTree2Async(swigCPtr, this, localDirPath, mode, bDescend, bPreviewOnly);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean Syst(CkString outStr) {
    return chilkatJNI.CkFtp2_Syst(swigCPtr, this, CkString.getCPtr(outStr), outStr);
  }

  public String syst() {
    return chilkatJNI.CkFtp2_syst(swigCPtr, this);
  }

  public CkTask SystAsync() {
    long cPtr = chilkatJNI.CkFtp2_SystAsync(swigCPtr, this);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

}
