2323#include " ignite/odbc/log.h"
2424#include " ignite/odbc/utility.h"
2525#include " ignite/odbc/system/odbc_constants.h"
26+ #include " ignite/odbc/system/system_dsn.h"
2627
2728#include " ignite/odbc/config/connection_string_parser.h"
2829#include " ignite/odbc/config/configuration.h"
3334#include " ignite/odbc/dsn_config.h"
3435#include " ignite/odbc.h"
3536
37+ /* *
38+ * Handle window handle.
39+ * @param windowHandle Window handle.
40+ * @param config Configuration.
41+ * @return @c true on success and @c false otherwise.
42+ */
43+ bool HandleParentWindow (SQLHWND windowHandle, ignite::odbc::config::Configuration &config)
44+ {
45+ #ifdef _WIN32
46+ if (windowHandle)
47+ {
48+ LOG_MSG (" Parent window is passed. Creating configuration window." );
49+ return DisplayConnectionWindow (windowHandle, config);
50+ }
51+ #else
52+ IGNITE_UNUSED (windowHandle);
53+ IGNITE_UNUSED (config);
54+ #endif
55+ return true ;
56+ }
3657
3758namespace ignite
3859{
@@ -262,8 +283,6 @@ namespace ignite
262283 using utility::SqlStringToString;
263284 using utility::CopyStringToBuffer;
264285
265- UNREFERENCED_PARAMETER (windowHandle);
266-
267286 LOG_MSG (" SQLDriverConnect called" );
268287 if (inConnectionString)
269288 LOG_MSG (" Connection String: [" << inConnectionString << " ]" );
@@ -274,11 +293,9 @@ namespace ignite
274293 return SQL_INVALID_HANDLE;
275294
276295 std::string connectStr = SqlStringToString (inConnectionString, inConnectionStringLen);
296+ connection->Establish (connectStr, windowHandle);
277297
278- connection->Establish (connectStr);
279-
280- const DiagnosticRecordStorage& diag = connection->GetDiagnosticRecords ();
281-
298+ DiagnosticRecordStorage& diag = connection->GetDiagnosticRecords ();
282299 if (!diag.IsSuccessful ())
283300 return diag.GetReturnCode ();
284301
0 commit comments