IdeBuildSystem

IdeBuildSystem

Functions

Properties

IdeContext * context Read / Write / Construct Only
GFile * project-file Read / Write / Construct Only

Types and Values

Object Hierarchy

    GInterface
    ╰── IdeBuildSystem

Prerequisites

IdeBuildSystem requires IdeObject.

Known Implementations

IdeBuildSystem is implemented by IdeDirectoryBuildSystem.

Description

Functions

ide_build_system_get_id ()

gchar *
ide_build_system_get_id (IdeBuildSystem *self);

ide_build_system_get_display_name ()

gchar *
ide_build_system_get_display_name (IdeBuildSystem *self);

ide_build_system_new_async ()

void
ide_build_system_new_async (IdeContext *context,
                            GFile *project_file,
                            const gchar *build_system_hint,
                            GCancellable *cancellable,
                            GAsyncReadyCallback callback,
                            gpointer user_data);

Asynchronously creates a new IdeBuildSystem instance using the registered GIOExtensionPoint system. Each extension point will be tried asynchronously by priority until one has been found that supports project_file .

If no build system could be found, then ide_build_system_new_finish() will return NULL.

Parameters

context

IdeBuildSystem

 

project_file

a GFile containing the directory or project file.

 

build_system_hint

A hint for the build system to use

 

cancellable

a GCancellable.

[allow-none]

callback

A callback to execute upon completion

 

user_data

User data for callback .

 

ide_build_system_new_finish ()

IdeBuildSystem *
ide_build_system_new_finish (GAsyncResult *result,
                             GError **error);

Complete an asynchronous call to ide_build_system_new_async().

Returns

An IdeBuildSystem if successful; otherwise NULL and error is set.

[transfer full]


ide_build_system_get_priority ()

gint
ide_build_system_get_priority (IdeBuildSystem *self);

ide_build_system_get_builddir ()

gchar *
ide_build_system_get_builddir (IdeBuildSystem *self,
                               IdeConfiguration *configuration);

ide_build_system_get_build_flags_async ()

void
ide_build_system_get_build_flags_async
                               (IdeBuildSystem *self,
                                IdeFile *file,
                                GCancellable *cancellable,
                                GAsyncReadyCallback callback,
                                gpointer user_data);

ide_build_system_get_build_flags_finish ()

gchar **
ide_build_system_get_build_flags_finish
                               (IdeBuildSystem *self,
                                GAsyncResult *result,
                                GError **error);

Returns

.

[transfer full]


ide_build_system_get_build_flags_for_files_async ()

void
ide_build_system_get_build_flags_for_files_async
                               (IdeBuildSystem *self,
                                GPtrArray *files,
                                GCancellable *cancellable,
                                GAsyncReadyCallback callback,
                                gpointer user_data);

This function will get build flags for all files and returns map of file and its build flags as GHashTable.

Parameters

self

An IdeBuildSystem instance.

 

files

array of files whose build flags has to be retrieved.

[element-type Ide.File]

cancellable

a GCancellable to cancel getting build flags.

[allow-none]

callback

function to be called after getting build flags.

 

user_data

data to pass to callback .

 

ide_build_system_get_build_flags_for_files_finish ()

GHashTable *
ide_build_system_get_build_flags_for_files_finish
                               (IdeBuildSystem *self,
                                GAsyncResult *result,
                                GError **error);

Returns

Returns GHashTable which has a map of files and its build flags.

[transfer full]

Types and Values

IDE_TYPE_BUILD_SYSTEM

#define IDE_TYPE_BUILD_SYSTEM (ide_build_system_get_type())

struct IdeBuildSystemInterface

struct IdeBuildSystemInterface {
  GTypeInterface parent_iface;

  gint        (*get_priority)                      (IdeBuildSystem       *self);
  void        (*get_build_flags_async)             (IdeBuildSystem       *self,
                                                    IdeFile              *file,
                                                    GCancellable         *cancellable,
                                                    GAsyncReadyCallback   callback,
                                                    gpointer              user_data);
  gchar     **(*get_build_flags_finish)            (IdeBuildSystem       *self,
                                                    GAsyncResult         *result,
                                                    GError              **error);
  void        (*get_build_flags_for_files_async)   (IdeBuildSystem       *self,
                                                    GPtrArray            *files,
                                                    GCancellable         *cancellable,
                                                    GAsyncReadyCallback   callback,
                                                    gpointer              user_data);
  GHashTable *(*get_build_flags_for_files_finish)  (IdeBuildSystem       *self,
                                                    GAsyncResult         *result,
                                                    GError              **error);
  gchar      *(*get_builddir)                      (IdeBuildSystem       *self,
                                                    IdeConfiguration     *configuration);
  gchar      *(*get_id)                            (IdeBuildSystem       *self);
  gchar      *(*get_display_name)                  (IdeBuildSystem       *self);
};

IdeBuildSystem

typedef struct _IdeBuildSystem IdeBuildSystem;

Property Details

The “context” property

  “context”                  IdeContext *

Context.

Flags: Read / Write / Construct Only


The “project-file” property

  “project-file”             GFile *

The project file.

Flags: Read / Write / Construct Only