~codygarver/+junk/gnome-builder

« back to all changes in this revision

Viewing changes to libide/ide-build-system.h

  • Committer: Cody Garver
  • Date: 2015-11-21 00:50:38 UTC
  • Revision ID: cody@elementary.io-20151121005038-8wygis63zt0ljqlz
Import https://github.com/chergert/gnome-builder 06e3158922a02a27f4abca250d70aa7b2970e06a

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* ide-build-system.h
 
2
 *
 
3
 * Copyright (C) 2015 Christian Hergert <christian@hergert.me>
 
4
 *
 
5
 * This program is free software: you can redistribute it and/or modify
 
6
 * it under the terms of the GNU General Public License as published by
 
7
 * the Free Software Foundation, either version 3 of the License, or
 
8
 * (at your option) any later version.
 
9
 *
 
10
 * This program is distributed in the hope that it will be useful,
 
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
13
 * GNU General Public License for more details.
 
14
 *
 
15
 * You should have received a copy of the GNU General Public License
 
16
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
17
 */
 
18
 
 
19
#ifndef IDE_BUILD_SYSTEM_H
 
20
#define IDE_BUILD_SYSTEM_H
 
21
 
 
22
#include <gio/gio.h>
 
23
 
 
24
#include "ide-object.h"
 
25
 
 
26
G_BEGIN_DECLS
 
27
 
 
28
#define IDE_TYPE_BUILD_SYSTEM (ide_build_system_get_type())
 
29
 
 
30
G_DECLARE_INTERFACE (IdeBuildSystem, ide_build_system, IDE, BUILD_SYSTEM, IdeObject)
 
31
 
 
32
struct _IdeBuildSystemInterface
 
33
{
 
34
  GTypeInterface parent_iface;
 
35
 
 
36
  gint        (*get_priority)           (IdeBuildSystem       *system);
 
37
  IdeBuilder *(*get_builder)            (IdeBuildSystem       *system,
 
38
                                         GKeyFile             *config,
 
39
                                         IdeDevice            *device,
 
40
                                         GError              **error);
 
41
  void        (*get_build_flags_async)  (IdeBuildSystem       *self,
 
42
                                         IdeFile              *file,
 
43
                                         GCancellable         *cancellable,
 
44
                                         GAsyncReadyCallback   callback,
 
45
                                         gpointer              user_data);
 
46
  gchar     **(*get_build_flags_finish) (IdeBuildSystem       *self,
 
47
                                         GAsyncResult         *result,
 
48
                                         GError              **error);
 
49
};
 
50
 
 
51
gint            ide_build_system_get_priority           (IdeBuildSystem       *self);
 
52
void            ide_build_system_get_build_flags_async  (IdeBuildSystem       *self,
 
53
                                                         IdeFile              *file,
 
54
                                                         GCancellable         *cancellable,
 
55
                                                         GAsyncReadyCallback   callback,
 
56
                                                         gpointer              user_data);
 
57
gchar         **ide_build_system_get_build_flags_finish (IdeBuildSystem       *self,
 
58
                                                         GAsyncResult         *result,
 
59
                                                         GError              **error);
 
60
void            ide_build_system_new_async              (IdeContext           *context,
 
61
                                                         GFile                *project_file,
 
62
                                                         GCancellable         *cancellable,
 
63
                                                         GAsyncReadyCallback   callback,
 
64
                                                         gpointer              user_data);
 
65
IdeBuildSystem *ide_build_system_new_finish             (GAsyncResult         *result,
 
66
                                                         GError              **error);
 
67
IdeBuilder     *ide_build_system_get_builder            (IdeBuildSystem       *system,
 
68
                                                         GKeyFile             *config,
 
69
                                                         IdeDevice            *device,
 
70
                                                         GError              **error);
 
71
 
 
72
G_END_DECLS
 
73
 
 
74
#endif /* IDE_BUILD_SYSTEM_H */