[anjuta/system-db-refactor] symbol-db: initial work on query to filter global packages.
- From: Massimo Cora' <mcora src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [anjuta/system-db-refactor] symbol-db: initial work on query to filter global packages.
- Date: Mon, 31 Jan 2011 00:05:20 +0000 (UTC)
commit 076f5643f292964e630a8de2f874bd963bf6a769
Author: Massimo Corà <mcora src gnome org>
Date: Tue Jan 25 23:58:35 2011 +0100
symbol-db: initial work on query to filter global packages.
Touched also anjuta-utils and anjuta-pkg-config to create shared code.
libanjuta/anjuta-pkg-config.c | 128 ++++++++++++++++++++++------
libanjuta/anjuta-pkg-config.h | 67 ++++++++++++---
libanjuta/anjuta-utils.c | 62 +++++++++++++
libanjuta/anjuta-utils.h | 8 ++
libanjuta/interfaces/libanjuta.idl | 4 +
plugins/am-project/Makefile.am | 3 +-
plugins/am-project/amp-package.c | 46 +----------
plugins/symbol-db/plugin.c | 34 +++++++-
plugins/symbol-db/symbol-db-engine-utils.c | 4 +-
plugins/symbol-db/symbol-db-query.c | 63 +++++++++++---
plugins/symbol-db/symbol-db-query.h | 3 +-
11 files changed, 320 insertions(+), 102 deletions(-)
---
diff --git a/libanjuta/anjuta-pkg-config.c b/libanjuta/anjuta-pkg-config.c
index a77c48e..69633f9 100644
--- a/libanjuta/anjuta-pkg-config.c
+++ b/libanjuta/anjuta-pkg-config.c
@@ -50,15 +50,7 @@ remove_includes (GList* includes, GList* dependencies)
return includes;
}
-/*
- * anjuta_pkg_config_list_dependencies:
- * @pkg_name: Name of the package to get the include directories for
- * @error: Error handling
- *
- * This does (potentially) blocking, call from a thread if necessary
- *
- * Returns: a list of packages @pkg depends on
- */
+
GList*
anjuta_pkg_config_list_dependencies (const gchar* package, GError** error)
{
@@ -92,16 +84,105 @@ anjuta_pkg_config_list_dependencies (const gchar* package, GError** error)
return deps;
}
-/*
- * anjuta_pkg_config_get_directories:
- * @pkg_name: Name of the package to get the include directories for
- * @no_deps: Don't include directories of the dependencies
- * @error: Error handling
- *
- * This does (potentially) blocking, call from a thread if necessary
- *
- * Returns: a list of include directories of the package
- */
+
+static GList **
+sdb_system_files_visit_dir (GList **files_list, GFile *file)
+{
+ GFileEnumerator *enumerator;
+
+ if ((enumerator = g_file_enumerate_children (file, "standard::name,standard::type",
+ G_FILE_QUERY_INFO_NONE, NULL, NULL)))
+ {
+ GFileInfo *info;
+
+ info = g_file_enumerator_next_file (enumerator, NULL, NULL);
+ while (info)
+ {
+ GFileType type;
+ GFile *child_file;
+
+ problemi qui.
+ type = g_file_info_get_file_type (info);
+ child_file = g_file_resolve_relative_path (file, g_file_info_get_name (info));
+
+ g_message ("child name %s", g_file_info_get_name (info));
+ if (type == G_FILE_TYPE_DIRECTORY)
+ {
+ /* recurse */
+ files_list = sdb_system_files_visit_dir (files_list, child_file);
+
+ g_object_unref (child_file);
+ }
+ else
+ *files_list = g_list_prepend (*files_list, child_file);
+
+ g_object_unref (info);
+
+ info = g_file_enumerator_next_file (enumerator, NULL, NULL);
+ }
+
+ g_object_unref (enumerator);
+ }
+
+ g_message ("file_list length %d", g_list_length (files_list));
+
+ return files_list;
+}
+
+GList*
+anjuta_pkg_config_get_abs_headers (const gchar* pkg_name, gboolean no_deps, GError** error)
+{
+ g_return_val_if_fail (pkg_name != NULL, NULL);
+ GList *directories = NULL;
+ GList *dir_node = NULL;
+ /* a GList list of all headers found */
+ GList *headers = NULL;
+ /* a gchar version of headers list */
+ GList *abs_headers;
+
+ /* get a GList of gchar(s) */
+ directories = anjuta_pkg_config_get_directories (pkg_name, no_deps, error);
+
+ if (error != NULL)
+ return NULL;
+
+ dir_node = directories;
+ while (dir_node != NULL)
+ {
+ GList *children = NULL;
+ GFile *file;
+
+ g_message ("creating gfile for %s", dir_node->data);
+ file = g_file_new_for_path (dir_node->data);
+ sdb_system_files_visit_dir (&children, file);
+ g_object_unref (file);
+
+ if (children != NULL)
+ {
+ GList *foo_node;
+ foo_node = children;
+
+ while (foo_node != NULL)
+ {
+ g_message ("children %s", g_file_get_path (foo_node->data));
+
+ foo_node = g_list_next (foo_node);
+ }
+
+ headers = g_list_concat (headers, children);
+ g_list_free (children);
+ }
+ dir_node = g_list_next (dir_node);
+ }
+
+ abs_headers = anjuta_util_convert_gfile_list_to_path_list (headers);
+
+ g_list_foreach (headers, (GFunc) g_object_unref, NULL);
+ g_list_free (headers);
+
+ return abs_headers;
+}
+
GList*
anjuta_pkg_config_get_directories (const gchar* pkg_name, gboolean no_deps, GError** error)
{
@@ -152,14 +233,6 @@ anjuta_pkg_config_get_directories (const gchar* pkg_name, gboolean no_deps, GErr
return dirs;
}
-/*
- * anjuta_pkg_config_ignore_package:
- * @name: Name of the package to ignore
- *
- * Returns: TRUE if the package does not contain
- * valid information for the build system and should be
- * ignored.
- */
gboolean
anjuta_pkg_config_ignore_package (const gchar* name)
{
@@ -209,4 +282,3 @@ gchar* anjuta_pkg_config_get_version (const gchar* package)
return NULL;
}
}
-
diff --git a/libanjuta/anjuta-pkg-config.h b/libanjuta/anjuta-pkg-config.h
index 72ab573..2c7da50 100644
--- a/libanjuta/anjuta-pkg-config.h
+++ b/libanjuta/anjuta-pkg-config.h
@@ -16,14 +16,59 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-
- #include <glib.h>
-
-GList* anjuta_pkg_config_list_dependencies (const gchar* package,
- GError** error);
-GList* anjuta_pkg_config_get_directories (const gchar* pkg_name,
- gboolean no_deps,
- GError** error);
-gboolean anjuta_pkg_config_ignore_package (const gchar* name);
-
-gchar* anjuta_pkg_config_get_version (const gchar* package);
\ No newline at end of file
+
+#ifndef __ANJUTA_PKG_CONFIG__
+#define __ANJUTA_PKG_CONFIG__
+
+#include <glib.h>
+
+/**
+ * anjuta_pkg_config_list_dependencies:
+ * @pkg_name: Name of the package to get the include directories for
+ * @error: Error handling
+ *
+ * This does (potentially) blocking, call from a thread if necessary
+ *
+ * Returns: a list of packages @pkg depends on
+ */
+GList* anjuta_pkg_config_list_dependencies (const gchar* pkg_name,
+ GError** error);
+
+/**
+ * anjuta_pkg_config_get_abs_headers:
+ * @pkg_name: Name of the package to get the include directories for
+ * @error: Error handling
+ *
+ * Returns a list of absolute path files (gchar*) of the headers of the #pkg_name.
+ */
+GList* anjuta_pkg_config_get_abs_headers (const gchar* pkg_name,
+ gboolean no_deps,
+ GError** error);
+/**
+ * anjuta_pkg_config_get_directories:
+ * @pkg_name: Name of the package to get the include directories for
+ * @no_deps: Don't include directories of the dependencies
+ * @error: Error handling
+ *
+ * This does (potentially) blocking, call from a thread if necessary
+ *
+ * Returns: a list of include directories (gchar(s)) of the package
+ */
+GList* anjuta_pkg_config_get_directories (const gchar* pkg_name,
+ gboolean no_deps,
+ GError** error);
+
+
+/**
+ * anjuta_pkg_config_ignore_package:
+ * @pkg_name: Name of the package to ignore
+ *
+ * Returns: TRUE if the package does not contain
+ * valid information for the build system and should be
+ * ignored.
+ */
+gboolean anjuta_pkg_config_ignore_package (const gchar* pkg_name);
+
+gchar* anjuta_pkg_config_get_version (const gchar* package);
+
+#endif
diff --git a/libanjuta/anjuta-utils.c b/libanjuta/anjuta-utils.c
index c215ad8..fdd2d43 100644
--- a/libanjuta/anjuta-utils.c
+++ b/libanjuta/anjuta-utils.c
@@ -2462,3 +2462,65 @@ anjuta_util_clone_string_gptrarray (const GPtrArray* source)
return dest;
}
+
+void
+anjuta_util_list_all_dir_children (GList **children, GFile *dir)
+{
+ GFileEnumerator *list;
+
+ list = g_file_enumerate_children (dir,
+ G_FILE_ATTRIBUTE_STANDARD_NAME,
+ G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS,
+ NULL,
+ NULL);
+
+ if (list != NULL)
+ {
+ GFileInfo *info;
+
+ while ((info = g_file_enumerator_next_file (list, NULL, NULL)) != NULL)
+ {
+ const gchar *name;
+ GFile *file;
+
+ name = g_file_info_get_name (info);
+ file = g_file_get_child (dir, name);
+ g_object_unref (info);
+
+ if (g_file_query_file_type (file, G_FILE_QUERY_INFO_NONE, NULL) == G_FILE_TYPE_DIRECTORY)
+ {
+ anjuta_util_list_all_dir_children (children, file);
+ g_object_unref (file);
+ }
+ else
+ {
+ *children = g_list_prepend (*children, file);
+ }
+ }
+ g_file_enumerator_close (list, NULL, NULL);
+ g_object_unref (list);
+ }
+}
+
+GPtrArray *
+anjuta_util_convert_string_list_to_array (GList *list)
+{
+ GList *node;
+ GPtrArray *res;
+
+ g_return_val_if_fail (list != NULL, NULL);
+
+ res = g_ptr_array_new_with_free_func (g_free);
+
+ node = list;
+ while (node != NULL)
+ {
+ g_ptr_array_add (res, g_strdup (node->data));
+
+ node = g_list_next (node);
+ }
+
+ return res;
+}
+
+
diff --git a/libanjuta/anjuta-utils.h b/libanjuta/anjuta-utils.h
index a5531d0..290d4e0 100644
--- a/libanjuta/anjuta-utils.h
+++ b/libanjuta/anjuta-utils.h
@@ -158,6 +158,14 @@ GList * anjuta_util_convert_gfile_list_to_path_list (GList *list);
GList * anjuta_util_convert_gfile_list_to_relative_path_list (GList *list,
const gchar *parent);
+/* the returned GPtrArray should be freed with g_ptr_array_unref ().
+ * The GPtrArray is created with g_free () destroy function as parameter.
+ */
+GPtrArray * anjuta_util_convert_string_list_to_array(GList *list);
+
+/* list all files in a given directory */
+void anjuta_util_list_all_dir_children (GList **children, GFile *dir);
+
/* Helper functions to load a GtkBuilder file and get widgets */
GtkBuilder *anjuta_util_builder_new (const gchar *filename,
GError **error);
diff --git a/libanjuta/interfaces/libanjuta.idl b/libanjuta/interfaces/libanjuta.idl
index 16672bd..6e39e34 100644
--- a/libanjuta/interfaces/libanjuta.idl
+++ b/libanjuta/interfaces/libanjuta.idl
@@ -5631,6 +5631,8 @@ interface IAnjutaSymbol
* Namely, the arguments list of the funtion.
* @IANJUTA_SYMBOL_FIELD_RETURNTYPE: String. Return type of a method, if symbol is a function.
* @IANJUTA_SYMBOL_FIELD_FILE_PATH: String. The relative path to the file where the symbol is found.
+ * @IANJUTA_SYMBOL_FIELD_PROJECT_NAME: String. The project name to which the symbol belongs to.
+ * @IANJUTA_SYMBOL_FIELD_PROJECT_VERSION: String. The project version to which the symbol belongs to.
* @IANJUTA_SYMBOL_FIELD_IMPLEMENTATION: String. Implementation attribute of a symbol. It may be
* "pure virtual", "virtual", etc.
* @IANJUTA_SYMBOL_FIELD_ACCESS: String. Access attribute of a symbol.
@@ -5666,6 +5668,8 @@ interface IAnjutaSymbol
FIELD_TYPE,
FIELD_TYPE_NAME,
FIELD_FILE_PATH,
+ FIELD_PROJECT_NAME,
+ FIELD_PROJECT_VERSION,
FIELD_IMPLEMENTATION,
FIELD_ACCESS,
FIELD_KIND,
diff --git a/plugins/am-project/Makefile.am b/plugins/am-project/Makefile.am
index fe7e2e1..2295e67 100644
--- a/plugins/am-project/Makefile.am
+++ b/plugins/am-project/Makefile.am
@@ -96,7 +96,8 @@ projectparser_SOURCES = \
projectparser.c
projectparser_LDADD = \
- libam-project.la
+ libam-project.la \
+ $(LIBANJUTA_LIBS)
EXTRA_DIST = \
diff --git a/plugins/am-project/amp-package.c b/plugins/am-project/amp-package.c
index 28fd05f..83afdc7 100644
--- a/plugins/am-project/amp-package.c
+++ b/plugins/am-project/amp-package.c
@@ -54,50 +54,6 @@ struct _AmpPackageNode {
};
-/* Helper functions
- *---------------------------------------------------------------------------*/
-
-static void
-list_all_children (GList **children, GFile *dir)
-{
- GFileEnumerator *list;
-
- list = g_file_enumerate_children (dir,
- G_FILE_ATTRIBUTE_STANDARD_NAME,
- G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS,
- NULL,
- NULL);
-
- if (list != NULL)
- {
- GFileInfo *info;
-
- while ((info = g_file_enumerator_next_file (list, NULL, NULL)) != NULL)
- {
- const gchar *name;
- GFile *file;
-
- name = g_file_info_get_name (info);
- file = g_file_get_child (dir, name);
- g_object_unref (info);
-
- if (g_file_query_file_type (file, G_FILE_QUERY_INFO_NONE, NULL) == G_FILE_TYPE_DIRECTORY)
- {
- list_all_children (children, file);
- g_object_unref (file);
- }
- else
- {
- *children = g_list_prepend (*children, file);
- }
- }
- g_file_enumerator_close (list, NULL, NULL);
- g_object_unref (list);
- }
-}
-
-
-
/* Package objects
*---------------------------------------------------------------------------*/
@@ -191,7 +147,7 @@ amp_package_node_load (AmpNode *node, AmpNode *parent, AmpProject *project, GErr
GList* file = NULL;
GFile* dir = g_file_new_for_path (include_dir->data);
- list_all_children (&children, dir);
+ anjuta_util_list_all_dir_children (&children, dir);
for (file = g_list_first (children); file != NULL; file = g_list_next (file))
{
/* Create a source for files */
diff --git a/plugins/symbol-db/plugin.c b/plugins/symbol-db/plugin.c
index b48c993..c3910cf 100644
--- a/plugins/symbol-db/plugin.c
+++ b/plugins/symbol-db/plugin.c
@@ -1539,6 +1539,31 @@ on_project_loaded (IAnjutaProjectManager *pm, GError *error,
/* Malformed project abort */
if (error != NULL) return;
+ // DEBUG FIXME
+ GList *pkgs = ianjuta_project_manager_get_packages (pm, NULL);
+ GList *node;
+
+ node = pkgs;
+/*/
+ while (node != NULL)
+ {
+ DEBUG_PRINT ("-------------------");
+ DEBUG_PRINT ("package is %s", node->data);
+
+ GList * headers = anjuta_pkg_config_get_abs_headers (node->data, FALSE, NULL);
+ GList *hnode = headers;
+
+ while (hnode != NULL)
+ {
+ DEBUG_PRINT ("header %s", hnode->data);
+
+ hnode = g_list_next (hnode);
+ }
+
+ node = g_list_next (node);
+ }
+//*/
+
/*
* we need an initial import
*/
@@ -1628,7 +1653,8 @@ on_project_root_added (AnjutaPlugin *plugin, const gchar *name,
pm = anjuta_shell_get_interface (ANJUTA_PLUGIN (sdb_plugin)->shell,
IAnjutaProjectManager, NULL);
-
+
+
/*
* The Project thing
*/
@@ -2466,7 +2492,11 @@ isymbol_manager_create_query (IAnjutaSymbolManager *isymbol_manager,
sdb_plugin = ANJUTA_PLUGIN_SYMBOL_DB (isymbol_manager);
query = symbol_db_query_new (sdb_plugin->sdbe_globals,
- sdb_plugin->sdbe_project, query_name, db);
+ sdb_plugin->sdbe_project,
+ query_name,
+ db,
+ db == IANJUTA_SYMBOL_QUERY_DB_PROJECT ?
+ NULL : sdb_plugin->session_packages);
return IANJUTA_SYMBOL_QUERY (query);
}
diff --git a/plugins/symbol-db/symbol-db-engine-utils.c b/plugins/symbol-db/symbol-db-engine-utils.c
index 5f91b0e..3d0e2c0 100644
--- a/plugins/symbol-db/symbol-db-engine-utils.c
+++ b/plugins/symbol-db/symbol-db-engine-utils.c
@@ -71,9 +71,9 @@ symbol_db_util_get_file_db_path (SymbolDBEngine *dbe, const gchar* full_local_fi
SymbolDBEnginePriv *priv;
g_return_val_if_fail (dbe != NULL, NULL);
g_return_val_if_fail (full_local_file_path != NULL, NULL);
-
- priv = dbe->priv;
+ priv = dbe->priv;
+
g_return_val_if_fail (priv->project_directory != NULL, NULL);
if (priv->db_directory == NULL ||
diff --git a/plugins/symbol-db/symbol-db-query.c b/plugins/symbol-db/symbol-db-query.c
index 4d0a3a8..8346fd1 100644
--- a/plugins/symbol-db/symbol-db-query.c
+++ b/plugins/symbol-db/symbol-db-query.c
@@ -1,7 +1,8 @@
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
/*
* symbol-db-query.c
- * Copyright (C) Naba Kumar 2010 <naba gnome org>
+ * Copyright (C) Naba Kumar 2010 <naba gnome org>
+ * Copyright (C) Massimo Cora' 2011 <maxcvs email it>
*
* anjuta is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
@@ -45,7 +46,8 @@ enum
PROP_GROUP_BY,
PROP_DB_ENGINE_SYSTEM,
PROP_DB_ENGINE_PROJECT,
- PROP_DB_ENGINE_SELECTED
+ PROP_DB_ENGINE_SELECTED,
+ PROP_SESSION_PACKAGES
};
struct _SymbolDBQueryPriv {
@@ -64,6 +66,7 @@ struct _SymbolDBQueryPriv {
SymbolDBEngine *dbe_project;
/* a reference to dbe_system or dbe_project */
SymbolDBEngine *dbe_selected;
+ GHashTable *session_packages;
/* Param holders */
GdaSet *params;
@@ -87,6 +90,7 @@ typedef enum
SDB_QUERY_TABLE_IMPLEMENTATION,
SDB_QUERY_TABLE_ACCESS,
SDB_QUERY_TABLE_KIND,
+ SDB_QUERY_TABLE_PROJECT,
SDB_QUERY_TABLE_MAX,
} SdbQueryTable;
@@ -97,7 +101,9 @@ static gchar *table_joins[] =
"LEFT JOIN file ON symbol.file_defined_id = file.file_id",
"LEFT JOIN sym_implementation ON symbol.implementation_kind_id = sym_implementation.sym_impl_id",
"LEFT JOIN sym_access ON symbol.access_kind_id = sym_access.access_kind_id",
- "LEFT JOIN sym_kind ON symbol.kind_id = sym_kind.sym_kind_id"
+ "LEFT JOIN sym_kind ON symbol.kind_id = sym_kind.sym_kind_id",
+ "LEFT JOIN file ON symbol.file_defined_id = file.file_id \
+ LEFT JOIN project ON file.prj_id = project.project_id",
};
/* Spec to associate a coloum to its table */
@@ -118,13 +124,15 @@ SdbQueryFieldSpec field_specs[] = {
{"symbol.is_file_scope ", SDB_QUERY_TABLE_SYMBOL},
{"symbol.signature ", SDB_QUERY_TABLE_SYMBOL},
{"symbol.returntype ", SDB_QUERY_TABLE_SYMBOL},
- {"symbol.type_type", SDB_QUERY_TABLE_SYMBOL},
- {"symbol.type_name", SDB_QUERY_TABLE_SYMBOL},
- {"file.file_path", SDB_QUERY_TABLE_FILE},
- {"sym_implementation.implementation_name", SDB_QUERY_TABLE_IMPLEMENTATION},
- {"sym_access.access_name", SDB_QUERY_TABLE_ACCESS},
+ {"symbol.type_type ", SDB_QUERY_TABLE_SYMBOL},
+ {"symbol.type_name ", SDB_QUERY_TABLE_SYMBOL},
+ {"file.file_path ", SDB_QUERY_TABLE_FILE},
+ {"project.project_name ", SDB_QUERY_TABLE_PROJECT},
+ {"project.project_version ", SDB_QUERY_TABLE_PROJECT},
+ {"sym_implementation.implementation_name ", SDB_QUERY_TABLE_IMPLEMENTATION},
+ {"sym_access.access_name ", SDB_QUERY_TABLE_ACCESS},
{"sym_kind.kind_name ", SDB_QUERY_TABLE_KIND},
- {"sym_kind.is_container", SDB_QUERY_TABLE_KIND}
+ {"sym_kind.is_container ", SDB_QUERY_TABLE_KIND}
};
/* FIXME: This maps to the bit position of IAnjutaSymbolType enum. This can
@@ -291,7 +299,7 @@ sdb_query_add_field (SymbolDBQuery *query, IAnjutaSymbolField field)
/* Iterate until the given field is found in the list, otherwise add it */
while (query->priv->fields[idx] != IANJUTA_SYMBOL_FIELD_END)
{
- if (query->priv->fields[idx] == field)
+ if (query->priv->fields[idx] == field)
return;
idx++;
}
@@ -299,6 +307,21 @@ sdb_query_add_field (SymbolDBQuery *query, IAnjutaSymbolField field)
query->priv->fields[idx + 1] = IANJUTA_SYMBOL_FIELD_END;
}
+static gboolean
+sdb_query_is_field_set (SymbolDBQuery *query, IAnjutaSymbolField field)
+{
+ gint i;
+
+ for (i = 0; i < IANJUTA_SYMBOL_FIELD_END; i++)
+ {
+ if (query->priv->fields[i] == field)
+ return TRUE;
+ }
+
+ /* not found */
+ return FALSE;
+}
+
/**
* sdb_query_reset:
* @query: The query
@@ -885,6 +908,9 @@ sdb_query_set_property (GObject *object, guint prop_id, const GValue *value, GPa
g_signal_connect (priv->dbe_selected, "db-disconnected",
G_CALLBACK (on_sdb_query_dbe_disconnected), query);
break;
+ case PROP_SESSION_PACKAGES:
+ priv->session_packages = g_value_get_pointer (value);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -1070,6 +1096,16 @@ sdb_query_class_init (SymbolDBQueryClass *klass)
"The selected SymbolDBEngine",
SYMBOL_TYPE_DB_ENGINE,
G_PARAM_READABLE));
+
+ g_object_class_install_property (object_class,
+ PROP_SESSION_PACKAGES,
+ g_param_spec_pointer ("session-packages",
+ "Session Packages",
+ "The session packages",
+ G_PARAM_READABLE |
+ G_PARAM_WRITABLE));
+
+ // FIXMEPROP_SESSION_PACKAGES
}
/* IAnjutaSymbolQuery implementation */
@@ -1296,11 +1332,14 @@ SymbolDBQuery *
symbol_db_query_new (SymbolDBEngine *system_db_engine,
SymbolDBEngine *project_db_engine,
IAnjutaSymbolQueryName name,
- IAnjutaSymbolQueryDb db)
+ IAnjutaSymbolQueryDb db,
+ GHashTable *session_packages)
{
return g_object_new (SYMBOL_DB_TYPE_QUERY,
"db-engine-system", system_db_engine,
"db-engine-project", project_db_engine,
- "query-db", db, "query-name", name,
+ "query-db", db,
+ "query-name", name,
+ "session-packages", session_packages,
NULL);
}
diff --git a/plugins/symbol-db/symbol-db-query.h b/plugins/symbol-db/symbol-db-query.h
index 679e74f..facf280 100644
--- a/plugins/symbol-db/symbol-db-query.h
+++ b/plugins/symbol-db/symbol-db-query.h
@@ -52,7 +52,8 @@ GType sdb_query_get_type (void) G_GNUC_CONST;
SymbolDBQuery* symbol_db_query_new (SymbolDBEngine *system_db_engine,
SymbolDBEngine *project_db_engine,
IAnjutaSymbolQueryName name,
- IAnjutaSymbolQueryDb db);
+ IAnjutaSymbolQueryDb db,
+ GHashTable *session_packages);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]