void syncTabs()

in setupgui/callbacks.cc [448:681]


void syncTabs(HWND hwnd, DataSource *params)
{
  /* 1 - Connection */
  SET_BOOL_TAB(CONNECTION_TAB, BIG_PACKETS);
  SET_BOOL_TAB(CONNECTION_TAB, COMPRESSED_PROTO);
  SET_BOOL_TAB(CONNECTION_TAB, NO_PROMPT);
#if MYSQL_VERSION_ID < 80300
  SET_BOOL_TAB(CONNECTION_TAB, AUTO_RECONNECT);
#endif
  SET_BOOL_TAB(CONNECTION_TAB, ENABLE_DNS_SRV);
  SET_BOOL_TAB(CONNECTION_TAB, MULTI_STATEMENTS);
  SET_BOOL_TAB(CONNECTION_TAB, CLIENT_INTERACTIVE);
  SET_BOOL_TAB(CONNECTION_TAB, CAN_HANDLE_EXP_PWD);
  SET_BOOL_TAB(CONNECTION_TAB, GET_SERVER_PUBLIC_KEY);
  SET_BOOL_TAB(CONNECTION_TAB, ENABLE_DNS_SRV);
  SET_BOOL_TAB(CONNECTION_TAB, MULTI_HOST);

#ifdef _WIN32
  if ( getTabCtrlTabPages(CONNECTION_TAB-1))
#endif
  {
    SET_COMBO_TAB(CONNECTION_TAB, CHARSET);
    SET_STRING_TAB(CONNECTION_TAB, INITSTMT);
    SET_STRING_TAB(CONNECTION_TAB, PLUGIN_DIR);
  }

  /* 2 - Authentication */
  SET_BOOL_TAB(AUTH_TAB, ENABLE_CLEARTEXT_PLUGIN);
#ifdef _WIN32
  SET_STRING_TAB(AUTH_TAB, AUTHENTICATION_KERBEROS_MODE);
#endif
  SET_STRING_TAB(AUTH_TAB, DEFAULT_AUTH);
#if MFA_ENABLED
  SET_STRING_TAB(AUTH_TAB, PWD2);
  SET_STRING_TAB(AUTH_TAB, PWD3);
#endif
  SET_STRING_TAB(AUTH_TAB, OCI_CONFIG_FILE);
  SET_STRING_TAB(AUTH_TAB, OCI_CONFIG_PROFILE);

  /* 3 - AWS Authentication */
  SET_COMBO_TAB(AWS_AUTH_TAB, AUTH_MODE);
  SET_STRING_TAB(AWS_AUTH_TAB, AUTH_REGION);
  SET_STRING_TAB(AWS_AUTH_TAB, AUTH_HOST);
  SET_UNSIGNED_TAB(AWS_AUTH_TAB, AUTH_PORT);
  SET_UNSIGNED_TAB(AWS_AUTH_TAB, AUTH_EXPIRATION);
  SET_STRING_TAB(AWS_AUTH_TAB, AUTH_SECRET_ID);

  /* 4 - Federated Authentication */
  SET_COMBO_TAB(FED_AUTH_TAB, FED_AUTH_MODE);
  SET_STRING_TAB(FED_AUTH_TAB, IDP_USERNAME);
  SET_STRING_TAB(FED_AUTH_TAB, IDP_PASSWORD);
  SET_STRING_TAB(FED_AUTH_TAB, IDP_ENDPOINT);
  SET_STRING_TAB(FED_AUTH_TAB, APP_ID);
  SET_STRING_TAB(FED_AUTH_TAB, IAM_ROLE_ARN);
  SET_STRING_TAB(FED_AUTH_TAB, IAM_IDP_ARN);
  SET_UNSIGNED_TAB(FED_AUTH_TAB, IDP_PORT);
  SET_STRING_TAB(FED_AUTH_TAB, FED_AUTH_REGION);
  SET_STRING_TAB(FED_AUTH_TAB, FED_AUTH_HOST);
  SET_UNSIGNED_TAB(FED_AUTH_TAB, FED_AUTH_PORT);
  SET_UNSIGNED_TAB(FED_AUTH_TAB, FED_AUTH_EXPIRATION);
  SET_UNSIGNED_TAB(FED_AUTH_TAB, CLIENT_CONNECT_TIMEOUT);
  SET_UNSIGNED_TAB(FED_AUTH_TAB, CLIENT_SOCKET_TIMEOUT);
  SET_BOOL_TAB(FED_AUTH_TAB, ENABLE_SSL);

  /* 5 - Custom Endpoint */
  SET_BOOL_TAB(CUSTOM_ENDPOINT_TAB, ENABLE_CUSTOM_ENDPOINT_MONITORING);
  SET_BOOL_TAB(CUSTOM_ENDPOINT_TAB, WAIT_FOR_CUSTOM_ENDPOINT_INFO);

  if (params->opt_CUSTOM_ENDPOINT_INFO_REFRESH_RATE_MS > 0)
  {
    SET_UNSIGNED_TAB(CUSTOM_ENDPOINT_TAB, CUSTOM_ENDPOINT_INFO_REFRESH_RATE_MS);
  }

  if (params->opt_CUSTOM_ENDPOINT_MONITOR_EXPIRATION_MS > 0)
  {
    SET_UNSIGNED_TAB(CUSTOM_ENDPOINT_TAB, CUSTOM_ENDPOINT_MONITOR_EXPIRATION_MS);
  }

  if (params->opt_WAIT_FOR_CUSTOM_ENDPOINT_INFO_TIMEOUT_MS > 0)
  {
    SET_UNSIGNED_TAB(CUSTOM_ENDPOINT_TAB, WAIT_FOR_CUSTOM_ENDPOINT_INFO_TIMEOUT_MS);
  }

  SET_STRING_TAB(CUSTOM_ENDPOINT_TAB, CUSTOM_ENDPOINT_REGION);

  /* 6 - Failover */
  SET_BOOL_TAB(FAILOVER_TAB, ENABLE_CLUSTER_FAILOVER);
  SET_COMBO_TAB(FAILOVER_TAB, FAILOVER_MODE);
  SET_BOOL_TAB(FAILOVER_TAB, GATHER_PERF_METRICS);
  if(READ_BOOL_TAB(FAILOVER_TAB, GATHER_PERF_METRICS))
  {
#ifdef _WIN32
    SET_ENABLED(FAILOVER_TAB, IDC_CHECK_GATHER_PERF_METRICS_PER_INSTANCE, TRUE);
#endif
    SET_CHECKED_TAB(FAILOVER_TAB, GATHER_PERF_METRICS, TRUE);
    SET_BOOL_TAB(FAILOVER_TAB, GATHER_PERF_METRICS_PER_INSTANCE);
  }

  SET_STRING_TAB(FAILOVER_TAB, HOST_PATTERN);
  SET_STRING_TAB(FAILOVER_TAB, CLUSTER_ID);

  if (params->opt_TOPOLOGY_REFRESH_RATE > 0)
  {
     SET_UNSIGNED_TAB(FAILOVER_TAB, TOPOLOGY_REFRESH_RATE);
  }

  if (params->opt_FAILOVER_TIMEOUT > 0)
  {
     SET_UNSIGNED_TAB(FAILOVER_TAB, FAILOVER_TIMEOUT);
  }

  if (params->opt_FAILOVER_TOPOLOGY_REFRESH_RATE > 0)
  {
     SET_UNSIGNED_TAB(FAILOVER_TAB, FAILOVER_TOPOLOGY_REFRESH_RATE);
  }

  if (params->opt_FAILOVER_WRITER_RECONNECT_INTERVAL > 0)
  {
     SET_UNSIGNED_TAB(FAILOVER_TAB, FAILOVER_WRITER_RECONNECT_INTERVAL);
  }

  if (params->opt_FAILOVER_READER_CONNECT_TIMEOUT > 0)
  {
     SET_UNSIGNED_TAB(FAILOVER_TAB, FAILOVER_READER_CONNECT_TIMEOUT);
  }

  if (params->opt_CONNECT_TIMEOUT > 0)
  {
     SET_UNSIGNED_TAB(FAILOVER_TAB, CONNECT_TIMEOUT);
  }

  if (params->opt_NETWORK_TIMEOUT > 0)
  {
     SET_UNSIGNED_TAB(FAILOVER_TAB, NETWORK_TIMEOUT);
  }

  /* 7 - Monitoring */
  SET_BOOL_TAB(MONITORING_TAB, ENABLE_FAILURE_DETECTION);
  if (READ_BOOL_TAB(MONITORING_TAB, ENABLE_FAILURE_DETECTION)) {
#ifdef _WIN32
    SET_ENABLED(MONITORING_TAB, IDC_EDIT_FAILURE_DETECTION_TIME, TRUE);
    SET_ENABLED(MONITORING_TAB, IDC_EDIT_FAILURE_DETECTION_INTERVAL, TRUE);
    SET_ENABLED(MONITORING_TAB, IDC_EDIT_FAILURE_DETECTION_COUNT, TRUE);
    SET_ENABLED(MONITORING_TAB, IDC_EDIT_MONITOR_DISPOSAL_TIME, TRUE);
    SET_ENABLED(MONITORING_TAB, IDC_EDIT_FAILURE_DETECTION_TIMEOUT, TRUE);
#endif
    SET_UNSIGNED_TAB(MONITORING_TAB, FAILURE_DETECTION_TIME);
    SET_UNSIGNED_TAB(MONITORING_TAB, FAILURE_DETECTION_INTERVAL);
    SET_UNSIGNED_TAB(MONITORING_TAB, FAILURE_DETECTION_COUNT);
    SET_UNSIGNED_TAB(MONITORING_TAB, MONITOR_DISPOSAL_TIME);
    SET_UNSIGNED_TAB(MONITORING_TAB, FAILURE_DETECTION_TIMEOUT);
  }

  /* 8 - Metadata */
  SET_BOOL_TAB(METADATA_TAB, NO_BIGINT);
  SET_BOOL_TAB(METADATA_TAB, NO_BINARY_RESULT);
  SET_BOOL_TAB(METADATA_TAB, FULL_COLUMN_NAMES);
  SET_BOOL_TAB(METADATA_TAB, NO_CATALOG);
  SET_BOOL_TAB(METADATA_TAB, NO_SCHEMA);
  SET_BOOL_TAB(METADATA_TAB, COLUMN_SIZE_S32);

  /* 9 - Cursors/Results */
  SET_BOOL_TAB(CURSORS_TAB, FOUND_ROWS);
  SET_BOOL_TAB(CURSORS_TAB, AUTO_IS_NULL);
  SET_BOOL_TAB(CURSORS_TAB, DYNAMIC_CURSOR);
  SET_BOOL_TAB(CURSORS_TAB, NO_DEFAULT_CURSOR);
  SET_BOOL_TAB(CURSORS_TAB, PAD_SPACE);
  SET_BOOL_TAB(CURSORS_TAB, NO_CACHE);
  SET_BOOL_TAB(CURSORS_TAB, FORWARD_CURSOR);
  SET_BOOL_TAB(CURSORS_TAB, ZERO_DATE_TO_MIN);

  if(params->opt_PREFETCH > 0)
  {
#ifdef _WIN32
    SET_ENABLED(CURSORS_TAB, IDC_EDIT_PREFETCH, TRUE);
#endif
    SET_CHECKED_TAB(CURSORS_TAB, CURSOR_PREFETCH_ACTIVE, TRUE);
    SET_UNSIGNED_TAB(CURSORS_TAB, PREFETCH);
  }

  /* 10 - debug*/
  SET_BOOL_TAB(DEBUG_TAB,LOG_QUERY);

  /* 11 - ssl related */
#ifdef _WIN32
  if ( getTabCtrlTabPages(SSL_TAB-1) )
#endif
  {
    if(params->opt_SSL_KEY)
      SET_STRING_TAB(SSL_TAB, SSL_KEY);

    if (params->opt_SSL_CERT)
      SET_STRING_TAB(SSL_TAB, SSL_CERT);

    if (params->opt_SSL_CA)
      SET_STRING_TAB(SSL_TAB, SSL_CA);

    if (params->opt_SSL_CAPATH)
      SET_STRING_TAB(SSL_TAB, SSL_CAPATH);

    if (params->opt_SSL_CIPHER)
      SET_STRING_TAB(SSL_TAB, SSL_CIPHER);

    if (params->opt_SSL_MODE)
      SET_COMBO_TAB(SSL_TAB, SSL_MODE);

    if (params->opt_RSAKEY)
      SET_STRING_TAB(SSL_TAB, RSAKEY);

    if (params->opt_SSL_CRL)
      SET_STRING_TAB(SSL_TAB, SSL_CRL);

    if (params->opt_SSL_CRLPATH)
      SET_STRING_TAB(SSL_TAB, SSL_CRLPATH);

    SET_BOOL_TAB(SSL_TAB, NO_TLS_1_2);
    SET_BOOL_TAB(SSL_TAB, NO_TLS_1_3);

    SET_STRING_TAB(SSL_TAB, TLS_VERSIONS);
  }

  /* 12 - Misc*/
  SET_BOOL_TAB(MISC_TAB, SAFE);
  SET_BOOL_TAB(MISC_TAB, NO_LOCALE);
  SET_BOOL_TAB(MISC_TAB, IGNORE_SPACE);
  SET_BOOL_TAB(MISC_TAB, USE_MYCNF);
  SET_BOOL_TAB(MISC_TAB, NO_TRANSACTIONS);
  SET_BOOL_TAB(MISC_TAB, MIN_DATE_TO_ZERO);
  SET_BOOL_TAB(MISC_TAB, NO_SSPS);
  SET_BOOL_TAB(MISC_TAB, DFLT_BIGINT_BIND_STR);
  SET_BOOL_TAB(MISC_TAB, NO_DATE_OVERFLOW);
  SET_BOOL_TAB(MISC_TAB, ENABLE_LOCAL_INFILE);
  SET_STRING_TAB(MISC_TAB, LOAD_DATA_LOCAL_DIR);
}