1 /*
2  *  gui.h
3  *
4  *  $Id$
5  *
6  *  The iODBC driver manager.
7  *
8  *  Copyright (C) 1996-2021 OpenLink Software <iodbc@openlinksw.com>
9  *  All Rights Reserved.
10  *
11  *  This software is released under the terms of either of the following
12  *  licenses:
13  *
14  *      - GNU Library General Public License (see LICENSE.LGPL)
15  *      - The BSD License (see LICENSE.BSD).
16  *
17  *  Note that the only valid version of the LGPL license as far as this
18  *  project is concerned is the original GNU Library General Public License
19  *  Version 2, dated June 1991.
20  *
21  *  While not mandated by the BSD license, any patches you make to the
22  *  iODBC source code may be contributed back into the iODBC project
23  *  at your discretion. Contributions will benefit the Open Source and
24  *  Data Access community as a whole. Submissions may be made at:
25  *
26  *      http://www.iodbc.org
27  *
28  *
29  *  GNU Library Generic Public License Version 2
30  *  ============================================
31  *  This library is free software; you can redistribute it and/or
32  *  modify it under the terms of the GNU Library General Public
33  *  License as published by the Free Software Foundation; only
34  *  Version 2 of the License dated June 1991.
35  *
36  *  This library is distributed in the hope that it will be useful,
37  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
38  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
39  *  Library General Public License for more details.
40  *
41  *  You should have received a copy of the GNU Library General Public
42  *  License along with this library; if not, write to the Free
43  *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
44  *
45  *
46  *  The BSD License
47  *  ===============
48  *  Redistribution and use in source and binary forms, with or without
49  *  modification, are permitted provided that the following conditions
50  *  are met:
51  *
52  *  1. Redistributions of source code must retain the above copyright
53  *     notice, this list of conditions and the following disclaimer.
54  *  2. Redistributions in binary form must reproduce the above copyright
55  *     notice, this list of conditions and the following disclaimer in
56  *     the documentation and/or other materials provided with the
57  *     distribution.
58  *  3. Neither the name of OpenLink Software Inc. nor the names of its
59  *     contributors may be used to endorse or promote products derived
60  *     from this software without specific prior written permission.
61  *
62  *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
63  *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
64  *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
65  *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL OPENLINK OR
66  *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
67  *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
68  *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
69  *  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
70  *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
71  *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
72  *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
73  */
74 
75 #include <iodbc.h>
76 #include <odbcinst.h>
77 #include "iodbcadm.h"
78 
79 #if defined(__BEOS__)
80 #  include "be/gui.h"
81 #elif defined(_MAC)
82 #  include "mac/gui.h"
83 #elif defined(__GTK__)
84 #  include <gdk/gdkkeysyms.h>
85 #  include "gtk/gui.h"
86 #elif defined(_MACX)
87 #  include "mac/gui.h"
88 #else
89 #  error GUI for this platform not supported ...
90 #endif
91 
92 
93 
94 
95 #ifndef	_GUI_H
96 #define _GUI_H
97 
98 BOOL create_confirm (HWND hwnd, LPCSTR dsn, LPCSTR text);
99 BOOL create_confirmw (HWND hwnd, LPCWSTR dsn, LPCWSTR text);
100 
101 #if 0
102  void create_login (HWND hwnd, LPCSTR username, LPCSTR password, LPCSTR dsn,
103      TLOGIN * log_t);
104 #endif
105 
106 void create_dsnchooser (HWND hwnd, TDSNCHOOSER * choose_t);
107 void create_driverchooser (HWND hwnd, TDRIVERCHOOSER * choose_t);
108 void create_fdriverchooser (HWND hwnd, TFDRIVERCHOOSER * choose_t);
109 void create_translatorchooser (HWND hwnd, TTRANSLATORCHOOSER * choose_t);
110 void create_administrator (HWND hwnd);
111 void create_error (HWND hwnd, LPCSTR dsn, LPCSTR text, LPCSTR errmsg);
112 void create_errorw (HWND hwnd, LPCWSTR dsn, LPCWSTR text, LPCWSTR errmsg);
113 void create_message (HWND hwnd, LPCSTR dsn, LPCSTR text);
114 void create_messagew (HWND hwnd, LPCWSTR dsn, LPCWSTR text);
115 LPSTR create_driversetup (HWND hwnd, LPCSTR driver, LPCSTR attrs, BOOL add, BOOL user);
116 LPSTR create_filedsn (HWND hwnd);
117 BOOL create_connectionpool (HWND hwnd, TCONNECTIONPOOLING *choose_t);
118 
119 typedef SQLRETURN SQL_API (*pSQLGetInfoFunc) (SQLHDBC hdbc,
120     SQLUSMALLINT fInfoType, SQLPOINTER rgbInfoValue,
121     SQLSMALLINT cbInfoValueMax, SQLSMALLINT * pcbInfoValue);
122 typedef SQLRETURN SQL_API (*pSQLAllocHandle) (SQLSMALLINT hdl_type,
123     SQLHANDLE hdl_in, SQLHANDLE * hdl_out);
124 typedef SQLRETURN SQL_API (*pSQLAllocEnv) (SQLHENV * henv);
125 typedef SQLRETURN SQL_API (*pSQLAllocConnect) (SQLHENV henv, SQLHDBC * hdbc);
126 typedef SQLRETURN SQL_API (*pSQLFreeHandle) (SQLSMALLINT hdl_type,
127     SQLHANDLE hdl_in);
128 typedef SQLRETURN SQL_API (*pSQLFreeEnv) (SQLHENV henv);
129 typedef SQLRETURN SQL_API (*pSQLFreeConnect) (SQLHDBC hdbc);
130 
131 #endif
132