File: SQLManageDataSources.cpp~

package info (click to toggle)
unixodbc 2.2.14p2-1
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 14,628 kB
  • ctags: 12,533
  • sloc: ansic: 104,243; cpp: 38,571; sh: 15,958; makefile: 2,727; sql: 1
file content (105 lines) | stat: -rw-r--r-- 2,074 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
/**************************************************
 * SQLManageDataSources
 *
 **************************************************
 *
 * This library should only be used by odbcinst!
 *
 * This code was created by Peter Harvey @ CodeByDesign.
 * Released under LGPL 26.OCT.01
 *
 * Contributions from...
 * -----------------------------------------------
 * Peter Harvey		- pharvey@codebydesign.com
 * Nick Gorham      - nick@easysoft.com
 **************************************************/

#include <odbcinstext.h>

#ifdef QT_V4LAYOUT
#define QT3_SUPPORT
#include <Qt/qdir.h>
#include <Qt/qwidget.h>
#include <Qt/qnamespace.h>
#else
#include <qdir.h>
#include <qwidget.h>
#if QT_VERSION<300
#include <qnamespace.h>
#endif
#endif

#include "CODBCConfig.h"
#include "CODBCCreate.h"

static BOOL SQLManage( HWND hWnd )
{
    //
    // This will allow us to call this from a non QT app
    // 
    if ( !qApp )
    {
        int argc = 1;
        char *argv[] = { "odbcinstQ", NULL };

        static QApplication a( argc, argv );
    }

    QWidget *pwidget = (QWidget*)hWnd;

#if QT_VERSION<300
	CODBCConfig odbcconfig( pwidget, "ODBCConfig", Qt::WType_Modal );
#else
	CODBCConfig odbcconfig( pwidget, "ODBCConfig", Qt::WType_Dialog | Qt::WShowModal );
#endif
	odbcconfig.exec();

    return true;
}

static BOOL SQLCreate( HWND hWnd, LPCSTR dsn )
{
    //
    // This will allow us to call this from a non QT app
    // 
    if ( !qApp )
    {
        int argc = 1;
        char *argv[] = { "odbcinstQ", NULL };

        static QApplication a( argc, argv );
    }

    QWidget *pwidget = (QWidget*)hWnd;

#if QT_VERSION<300
	CODBCCreate odbccreate( pwidget, "ODBCCreate" );
#else
	CODBCCreate odbccreate( pwidget, "ODBCCreate" );
#endif
	odbccreate.setDsn( dsn );
	
	odbccreate.exec();

    return odbccreate.getRetCode();
}


#ifdef __cplusplus
extern "C" {
#endif

BOOL QTSQLManageDataSources( HWND hWnd )
{
    return SQLManage( hWnd );
}

BOOL QTSQLCreateDataSources( HWND hWnd, LPCSTR lpszDS )
{
    return SQLCreate( hWnd, lpszDS );
}

#ifdef __cplusplus
};
#endif