Initial German translation of the build tutorial
[anjuta.git] / plugins / symbol-db / symbol-db-engine-core.h
blob1dca8283b80a74865f95def632c7e2b1ad886e75
1 /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
2 /*
3 * anjuta
4 * Copyright (C) Massimo Cora' 2007-2008 <maxcvs@email.it>
5 *
6 * anjuta is free software.
8 * You may redistribute it and/or modify it under the terms of the
9 * GNU General Public License, as published by the Free Software
10 * Foundation; either version 2 of the License, or (at your option)
11 * any later version.
13 * anjuta is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16 * See the GNU General Public License for more details.
18 * You should have received a copy of the GNU General Public License
19 * along with anjuta. If not, write to:
20 * The Free Software Foundation, Inc.,
21 * 51 Franklin Street, Fifth Floor
22 * Boston, MA 02110-1301, USA.
25 #ifndef _SYMBOL_DB_ENGINE_CORE_H_
26 #define _SYMBOL_DB_ENGINE_CORE_H_
28 #include <glib-object.h>
29 #include <glib.h>
30 #include <libgda/gda-statement.h>
31 #include <libgda/gda-data-model.h>
32 #include <libanjuta/interfaces/ianjuta-symbol.h>
33 #include <libanjuta/interfaces/ianjuta-language.h>
34 #include <libanjuta/anjuta-plugin.h>
36 G_BEGIN_DECLS
38 #define SYMBOL_TYPE_DB_ENGINE (sdb_engine_get_type ())
39 #define SYMBOL_DB_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SYMBOL_TYPE_DB_ENGINE, SymbolDBEngine))
40 #define SYMBOL_DB_ENGINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SYMBOL_TYPE_DB_ENGINE, SymbolDBEngineClass))
41 #define SYMBOL_IS_DB_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SYMBOL_TYPE_DB_ENGINE))
42 #define SYMBOL_IS_DB_ENGINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SYMBOL_TYPE_DB_ENGINE))
43 #define SYMBOL_DB_ENGINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SYMBOL_TYPE_DB_ENGINE, SymbolDBEngineClass))
44 #define SYMBOL_DB_ENGINE_ERROR (symbol_db_engine_error_quark ())
46 typedef struct _SymbolDBEngineClass SymbolDBEngineClass;
47 typedef struct _SymbolDBEngine SymbolDBEngine;
48 typedef struct _SymbolDBEnginePriv SymbolDBEnginePriv;
50 typedef enum {
51 SYMBOL_DB_ENGINE_ERROR_INVALID_PARSER,
52 } SymbolDBEngineError;
54 struct _SymbolDBEngineClass
56 GObjectClass parent_class;
58 /* signals */
59 void (* db_connected) (void);
60 void (* db_disconnected) (void);
61 void (* scan_begin) (gint process_id);
62 void (* single_file_scan_end) (void);
63 void (* scan_end) (gint process_id);
64 void (* symbol_inserted) (gint symbol_id);
65 void (* symbol_updated) (gint symbol_id);
66 void (* symbol_scope_updated) (gint symbol_id);
67 void (* symbol_removed) (gint symbol_id);
70 struct _SymbolDBEngine
72 GObject parent_instance;
73 SymbolDBEnginePriv *priv;
76 typedef enum _SymbolDBEngineOpenStatus
78 DB_OPEN_STATUS_FATAL = -1,
79 DB_OPEN_STATUS_NORMAL = 0,
80 DB_OPEN_STATUS_CREATE = 1,
81 DB_OPEN_STATUS_UPGRADE =2
83 } SymbolDBEngineOpenStatus;
85 GQuark symbol_db_engine_error_quark (void);
86 GType sdb_engine_get_type (void) G_GNUC_CONST;
89 SymbolDBEngine*
90 symbol_db_engine_new (const gchar * ctags_path);
92 SymbolDBEngine*
93 symbol_db_engine_new_full (const gchar * ctags_path, const gchar * database_name);
95 gboolean
96 symbol_db_engine_set_ctags_path (SymbolDBEngine *dbe, const gchar * ctags_path);
99 SymbolDBEngineOpenStatus
100 symbol_db_engine_open_db (SymbolDBEngine *dbe, const gchar* base_db_path,
101 const gchar * prj_directory, GError **error);
103 gboolean
104 symbol_db_engine_close_db (SymbolDBEngine *dbe);
107 gboolean
108 symbol_db_engine_is_connected (SymbolDBEngine * dbe);
110 gboolean
111 symbol_db_engine_is_scanning (SymbolDBEngine *dbe);
114 gchar *
115 symbol_db_engine_get_cnc_string (SymbolDBEngine * dbe);
118 gboolean
119 symbol_db_engine_db_exists (SymbolDBEngine * dbe, const gchar * prj_directory);
121 gboolean
122 symbol_db_engine_file_exists (SymbolDBEngine * dbe, const gchar * abs_file_path);
124 gboolean
125 symbol_db_engine_add_new_workspace (SymbolDBEngine *dbe, const gchar* workspace);
127 gboolean
128 symbol_db_engine_add_new_project (SymbolDBEngine *dbe, const gchar* workspace,
129 const gchar* project, const gchar* version);
131 gboolean
132 symbol_db_engine_project_exists (SymbolDBEngine *dbe, /*gchar* workspace, */
133 const gchar* project_name,
134 const gchar* project_version);
137 gint
138 symbol_db_engine_add_new_files_full_async (SymbolDBEngine *dbe,
139 const gchar * project_name,
140 const gchar * project_version,
141 const GPtrArray *files_path,
142 const GPtrArray *languages,
143 gboolean force_scan);
145 gint
146 symbol_db_engine_add_new_files_async (SymbolDBEngine *dbe,
147 IAnjutaLanguage* lang_manager,
148 const gchar * project_name,
149 const gchar * project_version,
150 const GPtrArray *files_path);
152 gint
153 symbol_db_engine_update_project_symbols (SymbolDBEngine *dbe,
154 const gchar *project_name, gboolean force_all_files);
157 gboolean
158 symbol_db_engine_remove_file (SymbolDBEngine *dbe, const gchar *project,
159 const gchar* rel_file);
161 void
162 symbol_db_engine_remove_files (SymbolDBEngine * dbe, const gchar *project,
163 const GPtrArray *rel_files);
166 gint
167 symbol_db_engine_update_files_symbols (SymbolDBEngine *dbe, const gchar *project,
168 const GPtrArray *files_path,
169 gboolean update_prj_analyse_time);
171 gint
172 symbol_db_engine_update_buffer_symbols (SymbolDBEngine * dbe, const gchar * project,
173 const GPtrArray * real_files_list,
174 const GPtrArray * text_buffers,
175 const GPtrArray * buffer_sizes);
177 GdaDataModel*
178 symbol_db_engine_get_files_for_project (SymbolDBEngine *dbe);
180 void
181 symbol_db_engine_set_db_case_sensitive (SymbolDBEngine *dbe, gboolean case_sensitive);
184 GdaStatement*
185 symbol_db_engine_get_statement (SymbolDBEngine *dbe, const gchar *sql_str);
187 const GHashTable*
188 symbol_db_engine_get_type_conversion_hash (SymbolDBEngine *dbe);
190 const gchar*
191 symbol_db_engine_get_project_directory (SymbolDBEngine *dbe);
194 GdaDataModel*
195 symbol_db_engine_execute_select (SymbolDBEngine *dbe, GdaStatement *stmt,
196 GdaSet *params);
198 G_END_DECLS
200 #endif /* _SYMBOL_DB_ENGINE_H_ */