IAnjutaEnvironment

IAnjutaEnvironment — Implemented by plugins doing cross compilation

Stability Level

Unstable, unless otherwise indicated

Synopsis


#include <libanjuta/interfaces/ianjuta-environment.h>

#define             IANJUTA_ENVIRONMENT_ERROR
                    IAnjutaEnvironment;
                    IAnjutaEnvironmentIface;
GQuark              ianjuta_environment_error_quark     (void);
gchar*              ianjuta_environment_get_real_directory
                                                        (IAnjutaEnvironment *obj,
                                                         gchar *dir,
                                                         GError **err);
gboolean            ianjuta_environment_override        (IAnjutaEnvironment *obj,
                                                         gchar **dirp,
                                                         gchar ***argvp,
                                                         gchar ***envp,
                                                         GError **err);

Object Hierarchy

  GInterface
   +----IAnjutaEnvironment

Prerequisites

IAnjutaEnvironment requires GObject.

Description

Details

IANJUTA_ENVIRONMENT_ERROR

#define IANJUTA_ENVIRONMENT_ERROR ianjuta_environment_error_quark()


IAnjutaEnvironment

typedef struct _IAnjutaEnvironment IAnjutaEnvironment;


IAnjutaEnvironmentIface

typedef struct {
	GTypeInterface g_iface;
	

	gchar* (*get_real_directory) (IAnjutaEnvironment *obj, gchar *dir, GError **err);
	gboolean (*override) (IAnjutaEnvironment *obj, gchar **dirp,  gchar ***argvp,  gchar ***envp, GError **err);
} IAnjutaEnvironmentIface;


ianjuta_environment_error_quark ()

GQuark              ianjuta_environment_error_quark     (void);

Returns :


ianjuta_environment_get_real_directory ()

gchar*              ianjuta_environment_get_real_directory
                                                        (IAnjutaEnvironment *obj,
                                                         gchar *dir,
                                                         GError **err);

Convert a directory in the environment to a directory outside. It is useful when the environment use chroot. Take care that the input directory string is freed using g_free but and you need to free the output string when not needed.

obj :

Self

dir :

A directory path in the environment

err :

Error propagation and reporting.

Returns :

The directory path outside the environment

ianjuta_environment_override ()

gboolean            ianjuta_environment_override        (IAnjutaEnvironment *obj,
                                                         gchar **dirp,
                                                         gchar ***argvp,
                                                         gchar ***envp,
                                                         GError **err);

Override a command to work in another build environment

obj :

Self

dirp :

a pointer on the working directory

argvp :

a pointer on a NULL terminated string array containing the command name in argv[0] and all its argument

envp :

a pointer on a NULL terminated string array containing all additional environment variable used by the command

err :

Error propagation and reporting.

Returns :

FALSE if there is an error.