1 /* 2 * Copyright (C) 2009 - 2013 Vivien Malerba <malerba@gnome-db.org> 3 * 4 * This program is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU General Public License 6 * as published by the Free Software Foundation; either version 2 7 * of the License, or (at your option) any later version. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program; if not, write to the Free Software 16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 */ 18 19 #ifndef __BROWSER_CONNECTION_PRIVATE_H__ 20 #define __BROWSER_CONNECTION_PRIVATE_H__ 21 22 #include <libgda/thread-wrapper/gda-thread-wrapper.h> 23 24 struct _BrowserConnectionPrivate { 25 GdaThreadWrapper *wrapper; 26 GIOChannel *ioc; 27 guint ioc_watch_id; 28 GSList *wrapper_jobs; 29 guint wrapper_results_timer; 30 gboolean long_timer; 31 gint nb_no_job_waits; /* number of times check_for_wrapper_result() has been 32 called without any job */ 33 34 GHashTable *executed_statements; /* key = guint exec ID, value = a StatementResult pointer */ 35 36 gulong meta_store_signal; 37 gulong transaction_status_signal; 38 39 gchar *name; 40 GdaConnection *cnc; 41 gchar *dict_file_name; 42 GdaSqlParser *parser; 43 44 GdaDsnInfo dsn_info; 45 GMutex mstruct_mutex; 46 GSList *p_mstruct_list; /* private GdaMetaStruct list: while they are being created */ 47 GdaMetaStruct *c_mstruct; /* last GdaMetaStruct up to date, ready to be passed as @mstruct */ 48 GdaMetaStruct *mstruct; /* public GdaMetaStruct: once it has been created and is no more modified */ 49 50 ToolsFavorites *bfav; 51 52 gboolean busy; 53 gchar *busy_reason; 54 55 GdaConnection *store_cnc; 56 57 GdaSet *variables; 58 59 GSList *results_list; /* list of #ExecCallbackData pointers */ 60 gulong results_timer_id; 61 }; 62 63 void browser_connection_set_busy_state (BrowserConnection *bcnc, gboolean busy, const gchar *busy_reason); 64 65 #endif 66