1/*
2 *  gui.h
3 *
4 *  $Id: gui.h,v 1.9 2006/07/10 13:46:56 source Exp $
5 *
6 *  The iODBC driver manager.
7 *
8 *  Copyright (C) 1996-2006 by 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
76#include <iodbc.h>
77#include <odbcinst.h>
78#include "iodbcadm.h"
79
80#if defined(__BEOS__)
81#  include "be/gui.h"
82#elif defined(_MAC)
83#  include "mac/gui.h"
84#elif defined(__GTK__)
85#  include "gtk/gui.h"
86#elif defined(_MACX)
87#  include "macosx/gui.h"
88#else
89#  error GUI for this platform not supported ...
90#endif
91
92#ifndef	_GUI_H
93#define _GUI_H
94
95BOOL create_confirm (HWND hwnd, LPCSTR dsn, LPCSTR text);
96BOOL create_confirmw (HWND hwnd, LPCWSTR dsn, LPCWSTR text);
97
98#if 0
99 void create_login (HWND hwnd, LPCSTR username, LPCSTR password, LPCSTR dsn,
100     TLOGIN * log_t);
101#endif
102
103void create_dsnchooser (HWND hwnd, TDSNCHOOSER * choose_t);
104void create_driverchooser (HWND hwnd, TDRIVERCHOOSER * choose_t);
105void create_fdriverchooser (HWND hwnd, TFDRIVERCHOOSER * choose_t);
106void create_translatorchooser (HWND hwnd, TTRANSLATORCHOOSER * choose_t);
107void create_administrator (HWND hwnd);
108void create_error (HWND hwnd, LPCSTR dsn, LPCSTR text, LPCSTR errmsg);
109void create_errorw (HWND hwnd, LPCWSTR dsn, LPCWSTR text, LPCWSTR errmsg);
110void create_message (HWND hwnd, LPCSTR dsn, LPCSTR text);
111void create_messagew (HWND hwnd, LPCWSTR dsn, LPCWSTR text);
112LPSTR create_driversetup (HWND hwnd, LPCSTR driver, LPCSTR attrs, BOOL add, BOOL user);
113LPSTR create_filedsn (HWND hwnd);
114BOOL create_connectionpool (HWND hwnd, TCONNECTIONPOOLING *choose_t);
115
116typedef SQLRETURN SQL_API (*pSQLGetInfoFunc) (SQLHDBC hdbc,
117    SQLUSMALLINT fInfoType, SQLPOINTER rgbInfoValue,
118    SQLSMALLINT cbInfoValueMax, SQLSMALLINT * pcbInfoValue);
119typedef SQLRETURN SQL_API (*pSQLAllocHandle) (SQLSMALLINT hdl_type,
120    SQLHANDLE hdl_in, SQLHANDLE * hdl_out);
121typedef SQLRETURN SQL_API (*pSQLAllocEnv) (SQLHENV * henv);
122typedef SQLRETURN SQL_API (*pSQLAllocConnect) (SQLHENV henv, SQLHDBC * hdbc);
123typedef SQLRETURN SQL_API (*pSQLFreeHandle) (SQLSMALLINT hdl_type,
124    SQLHANDLE hdl_in);
125typedef SQLRETURN SQL_API (*pSQLFreeEnv) (SQLHENV henv);
126typedef SQLRETURN SQL_API (*pSQLFreeConnect) (SQLHDBC hdbc);
127
128#endif
129