IAnjutaSymbolManager

IAnjutaSymbolManager — Source code symbols manager inteface

Stability Level

Unstable, unless otherwise indicated

Synopsis

#include <libanjuta/interfaces/ianjuta-symbol-manager.h>

#define             IANJUTA_SYMBOL_MANAGER_ERROR
struct              IAnjutaSymbolManagerIface;
GQuark              ianjuta_symbol_manager_error_quark  (void);
gboolean            ianjuta_symbol_manager_activate_package
                                                        (IAnjutaSymbolManager *obj,
                                                         const gchar *pkg_name,
                                                         const gchar *pkg_version,
                                                         GError **err);
gboolean            ianjuta_symbol_manager_add_and_activate_package
                                                        (IAnjutaSymbolManager *obj,
                                                         const gchar *pkg_name,
                                                         const gchar *pkg_version,
                                                         GList *files,
                                                         GError **err);
gboolean            ianjuta_symbol_manager_add_package  (IAnjutaSymbolManager *obj,
                                                         const gchar *pkg_name,
                                                         const gchar *pkg_version,
                                                         GList *files,
                                                         GError **err);
IAnjutaSymbolQuery *  ianjuta_symbol_manager_create_query
                                                        (IAnjutaSymbolManager *obj,
                                                         IAnjutaSymbolQueryName name,
                                                         IAnjutaSymbolQueryDb db,
                                                         GError **err);
gboolean            ianjuta_symbol_manager_deactivate_package
                                                        (IAnjutaSymbolManager *obj,
                                                         const gchar *pkg_name,
                                                         const gchar *pkg_version,
                                                         GError **err);

Description

Details

IANJUTA_SYMBOL_MANAGER_ERROR

#define IANJUTA_SYMBOL_MANAGER_ERROR ianjuta_symbol_manager_error_quark()


struct IAnjutaSymbolManagerIface

struct IAnjutaSymbolManagerIface {
	GTypeInterface g_iface;
	
	/* Signal */
	void (*prj_scan_end) (IAnjutaSymbolManager *obj, gint process_id);
	/* Signal */
	void (*sys_scan_end) (IAnjutaSymbolManager *obj, gint process_id);

	gboolean (*activate_package) (IAnjutaSymbolManager *obj, const gchar *pkg_name,  const gchar* pkg_version, GError **err);
	gboolean (*add_and_activate_package) (IAnjutaSymbolManager *obj, const gchar* pkg_name,  const gchar* pkg_version,  GList* files, GError **err);
	gboolean (*add_package) (IAnjutaSymbolManager *obj, const gchar* pkg_name,  const gchar* pkg_version,  GList* files, GError **err);
	IAnjutaSymbolQuery* (*create_query) (IAnjutaSymbolManager *obj, IAnjutaSymbolQueryName name,  IAnjutaSymbolQueryDb db, GError **err);
	gboolean (*deactivate_package) (IAnjutaSymbolManager *obj, const gchar* pkg_name,  const gchar* pkg_version, GError **err);
};


ianjuta_symbol_manager_error_quark ()

GQuark              ianjuta_symbol_manager_error_quark  (void);


ianjuta_symbol_manager_activate_package ()

gboolean            ianjuta_symbol_manager_activate_package
                                                        (IAnjutaSymbolManager *obj,
                                                         const gchar *pkg_name,
                                                         const gchar *pkg_version,
                                                         GError **err);

Activates the package for searches in the global symbol database.

obj :

Self

pkg_name :

Name of the package to activate. The colon char must be avoided.

pkg_version :

Version of the package. The colon char must be avoided.

Returns :

TRUE if the package was loaded (or will be loaded once scanned). FALSE if the version given was newer than the version in the database or the package was not found. In this case, add_package() should be called.

ianjuta_symbol_manager_add_and_activate_package ()

gboolean            ianjuta_symbol_manager_add_and_activate_package
                                                        (IAnjutaSymbolManager *obj,
                                                         const gchar *pkg_name,
                                                         const gchar *pkg_version,
                                                         GList *files,
                                                         GError **err);

Convenience function that calls ianjuta_symbol_manager_activate_package and ianjuta_symbol_manager_deactivate_package.

obj :

Self

pkg_name :

Name of the package to scan and add. Should be the name given by pkg-config. The colon char must be avoided.

pkg_version :

Version of the package. The colon char must be avoided. or by the language implementation (Python, Javascript, etc.)

files :

A list of GFile's to scan for this package

Returns :

TRUE if the package will be loaded into the db and activated, FALSE if the package already exists os is already activated.

ianjuta_symbol_manager_add_package ()

gboolean            ianjuta_symbol_manager_add_package  (IAnjutaSymbolManager *obj,
                                                         const gchar *pkg_name,
                                                         const gchar *pkg_version,
                                                         GList *files,
                                                         GError **err);

Reads the package files into the database asynchronously.

obj :

Self

pkg_name :

Name of the package to scan. Should be the name given by pkg-config. The colon char must be avoided.

pkg_version :

Version of the package. The colon char must be avoided. or by the language implementation (Python, Javascript, etc.)

files :

A list of GFile's to scan for this package

Returns :

TRUE if the package will be loaded into the db, FALSE if the package already exists

ianjuta_symbol_manager_create_query ()

IAnjutaSymbolQuery *  ianjuta_symbol_manager_create_query
                                                        (IAnjutaSymbolManager *obj,
                                                         IAnjutaSymbolQueryName name,
                                                         IAnjutaSymbolQueryDb db,
                                                         GError **err);

Create a query object. By default only IANJUTA_SYMBOL_FIELD_ID and and IANJUTA_SYMBOL_FIELD_NAME are selected, limit is set to infinity, offset is set to 0, no filters are set and mode is set to IANJUTA_SYMBOL_QUERY_MODE_SYNC.

obj :

Self

name :

Name of the query. It decides what query type it is.

db :

The database to use.

err :

Error propagation and reporting.

Returns :

A IAnjutaSymbolQuery object

ianjuta_symbol_manager_deactivate_package ()

gboolean            ianjuta_symbol_manager_deactivate_package
                                                        (IAnjutaSymbolManager *obj,
                                                         const gchar *pkg_name,
                                                         const gchar *pkg_version,
                                                         GError **err);

Deactivates the package if it was found. If package is NULL, deactivate all packages.

obj :

Self

pkg_name :

name of the package. The colon char must be avoided.

pkg_version :

Version of the package. The colon char must be avoided.

Returns :

FALSE if the package couldn't have been deactivated.

See Also

IAnjutaSymbol