## IdeSubprocessSupervisor IdeSubprocessSupervisor |

## Functions

IdeSubprocessSupervisor * | ide_subprocess_supervisor_new ()
IdeSubprocessLauncher * | ide_subprocess_supervisor_get_launcher ()
void | ide_subprocess_supervisor_set_launcher ()
void | ide_subprocess_supervisor_start ()
void | ide_subprocess_supervisor_stop ()
IdeSubprocess * | ide_subprocess_supervisor_get_subprocess ()
void | ide_subprocess_supervisor_set_subprocess ()

## Signals

void | exited | Run Last
void | spawned | Run Last
gboolean | supervise | Run Last
gboolean | unsupervise | Run Last

## Types and Values

#define | IDE_TYPE_SUBPROCESS_SUPERVISOR
struct | IdeSubprocessSupervisorClass
| IdeSubprocessSupervisor

## Object Hierarchy

        GObject
        ╰── IdeSubprocessSupervisor

## Description

## Functions

### ide_subprocess_supervisor_new ()

    IdeSubprocessSupervisor *
    ide_subprocess_supervisor_new (void);

### ide_subprocess_supervisor_get_launcher ()

    IdeSubprocessLauncher *
    ide_subprocess_supervisor_get_launcher
                                   (IdeSubprocessSupervisor *self);

#### Returns

An IdeSubprocessLauncher or `NULL`.

[nullable][transfer none]

Since: 3.32

### ide_subprocess_supervisor_set_launcher ()

    void
    ide_subprocess_supervisor_set_launcher
                                   (IdeSubprocessSupervisor *self,
                                    IdeSubprocessLauncher *launcher);

### ide_subprocess_supervisor_start ()

    void
    ide_subprocess_supervisor_start (IdeSubprocessSupervisor *self);

### ide_subprocess_supervisor_stop ()

    void
    ide_subprocess_supervisor_stop (IdeSubprocessSupervisor *self);

### ide_subprocess_supervisor_get_subprocess ()

    IdeSubprocess *
    ide_subprocess_supervisor_get_subprocess
                                   (IdeSubprocessSupervisor *self);

Gets the current IdeSubprocess that is being supervised. This might be `NULL` if the `ide_subprocess_supervisor_start()` has not yet been called or if there was a failure to spawn the process.

#### Parameters

self | An IdeSubprocessSupervisor |

#### Returns

An IdeSubprocess or `NULL`.

[nullable][transfer none]

Since: 3.32

### ide_subprocess_supervisor_set_subprocess ()

    void
    ide_subprocess_supervisor_set_subprocess
                                   (IdeSubprocessSupervisor *self,
                                    IdeSubprocess *subprocess);

## Types and Values

### IDE_TYPE_SUBPROCESS_SUPERVISOR

    #define IDE_TYPE_SUBPROCESS_SUPERVISOR (ide_subprocess_supervisor_get_type())

### struct IdeSubprocessSupervisorClass

    struct IdeSubprocessSupervisorClass {
      GObjectClass parent_class;

      void (*spawned) (IdeSubprocessSupervisor *self,
                       IdeSubprocess           *subprocess);
    };

### IdeSubprocessSupervisor

    typedef struct _IdeSubprocessSupervisor IdeSubprocessSupervisor;

## Signal Details

### The `“exited”` signal

    void
    user_function (IdeSubprocessSupervisor *idesubprocesssupervisor,
                   IdeSubprocess           *arg1,
                   gpointer                 user_data)

Flags: Run Last

### The `“spawned”` signal

    void
    user_function (IdeSubprocessSupervisor *idesubprocesssupervisor,
                   IdeSubprocess           *arg1,
                   gpointer                 user_data)

Flags: Run Last

### The `“supervise”` signal

    gboolean
    user_function (IdeSubprocessSupervisor *idesubprocesssupervisor,
                   IdeSubprocessLauncher   *arg1,
                   gpointer                 user_data)

Flags: Run Last

### The `“unsupervise”` signal

    gboolean
    user_function (IdeSubprocessSupervisor *idesubprocesssupervisor,
                   IdeSubprocessLauncher   *arg1,
                   gpointer                 user_data)

Flags: Run Last