3f326f17593798a01e2e392f1019851a01f5e34d
[app.Builder.js] / Project / Project.vala.c
1 /* Project.vala.c generated by valac 0.24.0, the Vala compiler
2  * generated from Project.vala, do not modify */
3
4 /*<Script type="text/javascript">*/
5
6 #include <glib.h>
7 #include <glib-object.h>
8 #include <gee.h>
9 #include <stdlib.h>
10 #include <string.h>
11 #include <gio/gio.h>
12 #include <json-glib/json-glib.h>
13 #include <glib/gstdio.h>
14
15
16 #define PROJECT_TYPE_PROJECT (project_project_get_type ())
17 #define PROJECT_PROJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROJECT_TYPE_PROJECT, ProjectProject))
18 #define PROJECT_PROJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROJECT_TYPE_PROJECT, ProjectProjectClass))
19 #define PROJECT_IS_PROJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROJECT_TYPE_PROJECT))
20 #define PROJECT_IS_PROJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROJECT_TYPE_PROJECT))
21 #define PROJECT_PROJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROJECT_TYPE_PROJECT, ProjectProjectClass))
22
23 typedef struct _ProjectProject ProjectProject;
24 typedef struct _ProjectProjectClass ProjectProjectClass;
25 typedef struct _ProjectProjectPrivate ProjectProjectPrivate;
26
27 #define JS_RENDER_TYPE_JS_RENDER (js_render_js_render_get_type ())
28 #define JS_RENDER_JS_RENDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JS_RENDER_TYPE_JS_RENDER, JsRenderJsRender))
29 #define JS_RENDER_JS_RENDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JS_RENDER_TYPE_JS_RENDER, JsRenderJsRenderClass))
30 #define JS_RENDER_IS_JS_RENDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JS_RENDER_TYPE_JS_RENDER))
31 #define JS_RENDER_IS_JS_RENDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JS_RENDER_TYPE_JS_RENDER))
32 #define JS_RENDER_JS_RENDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JS_RENDER_TYPE_JS_RENDER, JsRenderJsRenderClass))
33
34 typedef struct _JsRenderJsRender JsRenderJsRender;
35 typedef struct _JsRenderJsRenderClass JsRenderJsRenderClass;
36 #define _g_free0(var) (var = (g_free (var), NULL))
37 #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
38 #define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
39 typedef struct _Block2Data Block2Data;
40 #define __vala_JsonNode_free0(var) ((var == NULL) ? NULL : (var = (_vala_JsonNode_free (var), NULL)))
41 #define _json_object_unref0(var) ((var == NULL) ? NULL : (var = (json_object_unref (var), NULL)))
42
43 #define PROJECT_TYPE_GTK (project_gtk_get_type ())
44 #define PROJECT_GTK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROJECT_TYPE_GTK, ProjectGtk))
45 #define PROJECT_GTK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROJECT_TYPE_GTK, ProjectGtkClass))
46 #define PROJECT_IS_GTK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROJECT_TYPE_GTK))
47 #define PROJECT_IS_GTK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROJECT_TYPE_GTK))
48 #define PROJECT_GTK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROJECT_TYPE_GTK, ProjectGtkClass))
49
50 typedef struct _ProjectGtk ProjectGtk;
51 typedef struct _ProjectGtkClass ProjectGtkClass;
52
53 #define PROJECT_TYPE_ROO (project_roo_get_type ())
54 #define PROJECT_ROO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROJECT_TYPE_ROO, ProjectRoo))
55 #define PROJECT_ROO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROJECT_TYPE_ROO, ProjectRooClass))
56 #define PROJECT_IS_ROO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROJECT_TYPE_ROO))
57 #define PROJECT_IS_ROO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROJECT_TYPE_ROO))
58 #define PROJECT_ROO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROJECT_TYPE_ROO, ProjectRooClass))
59
60 typedef struct _ProjectRoo ProjectRoo;
61 typedef struct _ProjectRooClass ProjectRooClass;
62 #define _g_date_time_unref0(var) ((var == NULL) ? NULL : (var = (g_date_time_unref (var), NULL)))
63 typedef struct _JsRenderJsRenderPrivate JsRenderJsRenderPrivate;
64
65 #define JS_RENDER_TYPE_NODE (js_render_node_get_type ())
66 #define JS_RENDER_NODE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JS_RENDER_TYPE_NODE, JsRenderNode))
67 #define JS_RENDER_NODE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JS_RENDER_TYPE_NODE, JsRenderNodeClass))
68 #define JS_RENDER_IS_NODE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JS_RENDER_TYPE_NODE))
69 #define JS_RENDER_IS_NODE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JS_RENDER_TYPE_NODE))
70 #define JS_RENDER_NODE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JS_RENDER_TYPE_NODE, JsRenderNodeClass))
71
72 typedef struct _JsRenderNode JsRenderNode;
73 typedef struct _JsRenderNodeClass JsRenderNodeClass;
74 #define __g_list_free__g_free0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_free0_ (var), NULL)))
75
76 typedef enum  {
77         PROJECT_ERROR_INVALID_TYPE,
78         PROJECT_ERROR_NEED_IMPLEMENTING,
79         PROJECT_ERROR_MISSING_FILE,
80         PROJECT_ERROR_INVALID_VALUE
81 } ProjectError;
82 #define PROJECT_ERROR project_error_quark ()
83 struct _ProjectProject {
84         GObject parent_instance;
85         ProjectProjectPrivate * priv;
86         gchar* id;
87         gchar* fn;
88         gchar* name;
89         gchar* runhtml;
90         gchar* base_template;
91         gchar* rootURL;
92         GeeHashMap* paths;
93         GeeHashMap* files;
94         gchar* xtype;
95 };
96
97 struct _ProjectProjectClass {
98         GObjectClass parent_class;
99 };
100
101 struct _ProjectProjectPrivate {
102         gboolean is_scanned;
103 };
104
105 struct _Block2Data {
106         int _ref_count_;
107         ProjectProject* proj;
108 };
109
110 struct _JsRenderJsRender {
111         GObject parent_instance;
112         JsRenderJsRenderPrivate * priv;
113         GeeArrayList* doubleStringProps;
114         gchar* id;
115         gchar* name;
116         gchar* fullname;
117         gchar* path;
118         gchar* parent;
119         gchar* region;
120         gchar* title;
121         gchar* permname;
122         gchar* modOrder;
123         gchar* xtype;
124         guint64 webkit_page_id;
125         ProjectProject* project;
126         JsRenderNode* tree;
127         GList* cn;
128         gboolean hasParent;
129 };
130
131 struct _JsRenderJsRenderClass {
132         GObjectClass parent_class;
133         void (*loadItems) (JsRenderJsRender* self, GError** error);
134         void (*save) (JsRenderJsRender* self);
135         void (*saveHTML) (JsRenderJsRender* self, const gchar* html);
136         gchar* (*toSource) (JsRenderJsRender* self);
137         gchar* (*toSourcePreview) (JsRenderJsRender* self);
138         gchar* (*toValaSource) (JsRenderJsRender* self, gboolean testcompile);
139 };
140
141
142 extern GeeHashMap* project_projects;
143 GeeHashMap* project_projects = NULL;
144 extern gboolean project_projects_loaded;
145 gboolean project_projects_loaded = FALSE;
146 static gpointer project_project_parent_class = NULL;
147
148 GQuark project_error_quark (void);
149 GType project_project_get_type (void) G_GNUC_CONST;
150 GType js_render_js_render_get_type (void) G_GNUC_CONST;
151 #define PROJECT_PROJECT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PROJECT_TYPE_PROJECT, ProjectProjectPrivate))
152 enum  {
153         PROJECT_PROJECT_DUMMY_PROPERTY
154 };
155 ProjectProject* project_project_new (const gchar* path);
156 ProjectProject* project_project_construct (GType object_type, const gchar* path);
157 void project_project_loadAll (gboolean force);
158 void project_project_factoryFromFile (const gchar* jsonfile);
159 GeeArrayList* project_project_allProjectsByName (void);
160 ProjectProject* project_project_getProject (const gchar* name);
161 static Block2Data* block2_data_ref (Block2Data* _data2_);
162 static void block2_data_unref (void * _userdata_);
163 static JsonNode* _vala_JsonNode_copy (JsonNode* self);
164 static void _vala_JsonNode_free (JsonNode* self);
165 ProjectProject* project_project_factory (const gchar* xtype, const gchar* path);
166 static void __lambda3_ (Block2Data* _data2_, JsonObject* sobj, const gchar* key, JsonNode* val);
167 static void ___lambda3__json_object_foreach (JsonObject* object, const gchar* member_name, JsonNode* member_node, gpointer self);
168 ProjectGtk* project_gtk_new (const gchar* path);
169 ProjectGtk* project_gtk_construct (GType object_type, const gchar* path);
170 GType project_gtk_get_type (void) G_GNUC_CONST;
171 ProjectRoo* project_roo_new (const gchar* path);
172 ProjectRoo* project_roo_construct (GType object_type, const gchar* path);
173 GType project_roo_get_type (void) G_GNUC_CONST;
174 void project_project_save (ProjectProject* self);
175 gchar* project_project_toJSON (ProjectProject* self, gboolean show_all);
176 gchar* project_project_firstPath (ProjectProject* self);
177 gchar* project_project_getName (ProjectProject* self);
178 GeeArrayList* project_project_sortedFiles (ProjectProject* self);
179 static gint __lambda4_ (gconstpointer fa, gconstpointer fb);
180 GType js_render_node_get_type (void) G_GNUC_CONST;
181 static gint ___lambda4__gcompare_func (gconstpointer a, gconstpointer b);
182 JsRenderJsRender* project_project_getByName (ProjectProject* self, const gchar* name);
183 JsRenderJsRender* project_project_getById (ProjectProject* self, const gchar* id);
184 JsRenderJsRender* project_project_loadFileOnly (ProjectProject* self, const gchar* path);
185 JsRenderJsRender* js_render_js_render_factory (const gchar* xt, ProjectProject* project, const gchar* path);
186 JsRenderJsRender* project_project_create (ProjectProject* self, const gchar* filename);
187 void js_render_js_render_save (JsRenderJsRender* self);
188 void project_project_addFile (ProjectProject* self, JsRenderJsRender* pfile);
189 void project_project_add (ProjectProject* self, const gchar* path, const gchar* type);
190 void project_project_scanDir (ProjectProject* self, const gchar* dir, gint dp);
191 void project_project_scanDirs (ProjectProject* self);
192 void project_project_scanDirsForce (ProjectProject* self);
193 static void _g_free0_ (gpointer var);
194 static void _g_list_free__g_free0_ (GList* self);
195 static void project_project_finalize (GObject* obj);
196 static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
197 static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);
198 static gint _vala_array_length (gpointer array);
199
200
201 GQuark project_error_quark (void) {
202         return g_quark_from_static_string ("project_error-quark");
203 }
204
205
206 ProjectProject* project_project_construct (GType object_type, const gchar* path) {
207         ProjectProject * self = NULL;
208         GeeHashMap* _tmp0_ = NULL;
209         GeeHashMap* _tmp1_ = NULL;
210         const gchar* _tmp2_ = NULL;
211         gint _tmp3_ = 0;
212         gint _tmp4_ = 0;
213 #line 44 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
214         g_return_val_if_fail (path != NULL, NULL);
215 #line 44 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
216         self = (ProjectProject*) g_object_new (object_type, NULL);
217 #line 48 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
218         self->priv->is_scanned = FALSE;
219 #line 49 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
220         _tmp0_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL);
221 #line 49 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
222         _g_object_unref0 (self->paths);
223 #line 49 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
224         self->paths = _tmp0_;
225 #line 50 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
226         _tmp1_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, JS_RENDER_TYPE_JS_RENDER, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL);
227 #line 50 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
228         _g_object_unref0 (self->files);
229 #line 50 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
230         self->files = _tmp1_;
231 #line 53 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
232         _tmp2_ = path;
233 #line 53 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
234         _tmp3_ = strlen (_tmp2_);
235 #line 53 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
236         _tmp4_ = _tmp3_;
237 #line 53 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
238         if (_tmp4_ > 0) {
239 #line 240 "Project.vala.c"
240                 GeeHashMap* _tmp5_ = NULL;
241                 const gchar* _tmp6_ = NULL;
242 #line 54 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
243                 _tmp5_ = self->paths;
244 #line 54 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
245                 _tmp6_ = path;
246 #line 54 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
247                 gee_abstract_map_set ((GeeAbstractMap*) _tmp5_, _tmp6_, "dir");
248 #line 249 "Project.vala.c"
249         }
250 #line 44 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
251         return self;
252 #line 253 "Project.vala.c"
253 }
254
255
256 ProjectProject* project_project_new (const gchar* path) {
257 #line 44 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
258         return project_project_construct (PROJECT_TYPE_PROJECT, path);
259 #line 260 "Project.vala.c"
260 }
261
262
263 void project_project_loadAll (gboolean force) {
264         gboolean _tmp0_ = FALSE;
265         gboolean _tmp1_ = FALSE;
266         gchar* dirname = NULL;
267         const gchar* _tmp3_ = NULL;
268         gchar* _tmp4_ = NULL;
269         GFile* dir = NULL;
270         const gchar* _tmp5_ = NULL;
271         GFile* _tmp6_ = NULL;
272         GFile* _tmp7_ = NULL;
273         gboolean _tmp8_ = FALSE;
274         GeeHashMap* _tmp10_ = NULL;
275         GError * _inner_error_ = NULL;
276 #line 66 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
277         _tmp1_ = project_projects_loaded;
278 #line 66 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
279         if (_tmp1_) {
280 #line 281 "Project.vala.c"
281                 gboolean _tmp2_ = FALSE;
282 #line 66 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
283                 _tmp2_ = force;
284 #line 66 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
285                 _tmp0_ = !_tmp2_;
286 #line 287 "Project.vala.c"
287         } else {
288 #line 66 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
289                 _tmp0_ = FALSE;
290 #line 291 "Project.vala.c"
291         }
292 #line 66 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
293         if (_tmp0_) {
294 #line 67 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
295                 return;
296 #line 297 "Project.vala.c"
297         }
298 #line 70 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
299         _tmp3_ = g_get_home_dir ();
300 #line 70 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
301         _tmp4_ = g_strconcat (_tmp3_, "/.Builder", NULL);
302 #line 70 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
303         dirname = _tmp4_;
304 #line 71 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
305         _tmp5_ = dirname;
306 #line 71 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
307         _tmp6_ = g_file_new_for_path (_tmp5_);
308 #line 71 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
309         dir = _tmp6_;
310 #line 72 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
311         _tmp7_ = dir;
312 #line 72 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
313         _tmp8_ = g_file_query_exists (_tmp7_, NULL);
314 #line 72 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
315         if (!_tmp8_) {
316 #line 317 "Project.vala.c"
317                 GFile* _tmp9_ = NULL;
318 #line 73 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
319                 _tmp9_ = dir;
320 #line 73 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
321                 g_file_make_directory (_tmp9_, NULL, &_inner_error_);
322 #line 73 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
323                 if (_inner_error_ != NULL) {
324 #line 73 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
325                         _g_object_unref0 (dir);
326 #line 73 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
327                         _g_free0 (dirname);
328 #line 73 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
329                         g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
330 #line 73 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
331                         g_clear_error (&_inner_error_);
332 #line 73 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
333                         return;
334 #line 335 "Project.vala.c"
335                 }
336 #line 74 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
337                 _g_object_unref0 (dir);
338 #line 74 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
339                 _g_free0 (dirname);
340 #line 74 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
341                 return;
342 #line 343 "Project.vala.c"
343         }
344 #line 76 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
345         _tmp10_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, PROJECT_TYPE_PROJECT, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL);
346 #line 76 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
347         _g_object_unref0 (project_projects);
348 #line 76 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
349         project_projects = _tmp10_;
350 #line 351 "Project.vala.c"
351         {
352                 GFileEnumerator* file_enum = NULL;
353                 GFile* _tmp11_ = NULL;
354                 GFileEnumerator* _tmp12_ = NULL;
355                 GFileInfo* next_file = NULL;
356 #line 80 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
357                 _tmp11_ = dir;
358 #line 80 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
359                 _tmp12_ = g_file_enumerate_children (_tmp11_, G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME, G_FILE_QUERY_INFO_NONE, NULL, &_inner_error_);
360 #line 80 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
361                 file_enum = _tmp12_;
362 #line 80 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
363                 if (_inner_error_ != NULL) {
364 #line 80 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
365                         if (_inner_error_->domain == PROJECT_ERROR) {
366 #line 367 "Project.vala.c"
367                                 goto __catch9_project_error;
368                         }
369                         goto __finally9;
370                 }
371 #line 88 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
372                 while (TRUE) {
373 #line 374 "Project.vala.c"
374                         GFileInfo* _tmp13_ = NULL;
375                         GFileEnumerator* _tmp14_ = NULL;
376                         GFileInfo* _tmp15_ = NULL;
377                         GFileInfo* _tmp16_ = NULL;
378                         GFileInfo* _tmp17_ = NULL;
379                         gchar* fn = NULL;
380                         GFileInfo* _tmp18_ = NULL;
381                         const gchar* _tmp19_ = NULL;
382                         gchar* _tmp20_ = NULL;
383                         const gchar* _tmp21_ = NULL;
384                         gboolean _tmp22_ = FALSE;
385                         const gchar* _tmp23_ = NULL;
386                         gchar* _tmp24_ = NULL;
387                         gchar* _tmp25_ = NULL;
388                         const gchar* _tmp26_ = NULL;
389                         gchar* _tmp27_ = NULL;
390                         gchar* _tmp28_ = NULL;
391 #line 88 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
392                         _tmp14_ = file_enum;
393 #line 88 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
394                         _tmp15_ = g_file_enumerator_next_file (_tmp14_, NULL, &_inner_error_);
395 #line 88 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
396                         _tmp13_ = _tmp15_;
397 #line 88 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
398                         if (_inner_error_ != NULL) {
399 #line 88 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
400                                 _g_object_unref0 (next_file);
401 #line 88 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
402                                 _g_object_unref0 (file_enum);
403 #line 88 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
404                                 if (_inner_error_->domain == PROJECT_ERROR) {
405 #line 406 "Project.vala.c"
406                                         goto __catch9_project_error;
407                                 }
408                                 goto __finally9;
409                         }
410 #line 88 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
411                         _tmp16_ = _tmp13_;
412 #line 88 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
413                         _tmp13_ = NULL;
414 #line 88 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
415                         _g_object_unref0 (next_file);
416 #line 88 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
417                         next_file = _tmp16_;
418 #line 88 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
419                         _tmp17_ = next_file;
420 #line 88 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
421                         if (!(_tmp17_ != NULL)) {
422 #line 88 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
423                                 _g_object_unref0 (_tmp13_);
424 #line 88 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
425                                 break;
426 #line 427 "Project.vala.c"
427                         }
428 #line 89 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
429                         _tmp18_ = next_file;
430 #line 89 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
431                         _tmp19_ = g_file_info_get_display_name (_tmp18_);
432 #line 89 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
433                         _tmp20_ = g_strdup (_tmp19_);
434 #line 89 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
435                         fn = _tmp20_;
436 #line 90 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
437                         _tmp21_ = fn;
438 #line 90 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
439                         _tmp22_ = g_regex_match_simple ("\\.json$", _tmp21_, 0, 0);
440 #line 90 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
441                         if (!_tmp22_) {
442 #line 91 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
443                                 _g_free0 (fn);
444 #line 91 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
445                                 _g_object_unref0 (_tmp13_);
446 #line 91 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
447                                 continue;
448 #line 449 "Project.vala.c"
449                         }
450 #line 93 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
451                         _tmp23_ = dirname;
452 #line 93 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
453                         _tmp24_ = g_strconcat (_tmp23_, "/", NULL);
454 #line 93 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
455                         _tmp25_ = _tmp24_;
456 #line 93 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
457                         _tmp26_ = fn;
458 #line 93 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
459                         _tmp27_ = g_strconcat (_tmp25_, _tmp26_, NULL);
460 #line 93 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
461                         _tmp28_ = _tmp27_;
462 #line 93 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
463                         project_project_factoryFromFile (_tmp28_);
464 #line 93 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
465                         _g_free0 (_tmp28_);
466 #line 93 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
467                         _g_free0 (_tmp25_);
468 #line 88 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
469                         _g_free0 (fn);
470 #line 88 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
471                         _g_object_unref0 (_tmp13_);
472 #line 473 "Project.vala.c"
473                 }
474 #line 79 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
475                 _g_object_unref0 (next_file);
476 #line 79 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
477                 _g_object_unref0 (file_enum);
478 #line 479 "Project.vala.c"
479         }
480         goto __finally9;
481         __catch9_project_error:
482         {
483                 GError* e = NULL;
484 #line 79 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
485                 e = _inner_error_;
486 #line 79 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
487                 _inner_error_ = NULL;
488 #line 96 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
489                 g_print ("oops - something went wrong scanning the projects\n");
490 #line 79 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
491                 _g_error_free0 (e);
492 #line 493 "Project.vala.c"
493         }
494         __finally9:
495 #line 79 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
496         if (_inner_error_ != NULL) {
497 #line 79 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
498                 _g_object_unref0 (dir);
499 #line 79 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
500                 _g_free0 (dirname);
501 #line 79 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
502                 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
503 #line 79 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
504                 g_clear_error (&_inner_error_);
505 #line 79 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
506                 return;
507 #line 508 "Project.vala.c"
508         }
509 #line 64 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
510         _g_object_unref0 (dir);
511 #line 64 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
512         _g_free0 (dirname);
513 #line 514 "Project.vala.c"
514 }
515
516
517 GeeArrayList* project_project_allProjectsByName (void) {
518         GeeArrayList* result = NULL;
519         GeeArrayList* ret = NULL;
520         GeeArrayList* _tmp0_ = NULL;
521         GeeMapIterator* iter = NULL;
522         GeeHashMap* _tmp1_ = NULL;
523         GeeMapIterator* _tmp2_ = NULL;
524 #line 104 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
525         _tmp0_ = gee_array_list_new (PROJECT_TYPE_PROJECT, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL);
526 #line 104 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
527         ret = _tmp0_;
528 #line 105 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
529         _tmp1_ = project_projects;
530 #line 105 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
531         _tmp2_ = gee_abstract_map_map_iterator ((GeeAbstractMap*) _tmp1_);
532 #line 105 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
533         iter = _tmp2_;
534 #line 106 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
535         while (TRUE) {
536 #line 537 "Project.vala.c"
537                 GeeMapIterator* _tmp3_ = NULL;
538                 gboolean _tmp4_ = FALSE;
539                 GeeArrayList* _tmp5_ = NULL;
540                 GeeMapIterator* _tmp6_ = NULL;
541                 gpointer _tmp7_ = NULL;
542                 ProjectProject* _tmp8_ = NULL;
543 #line 106 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
544                 _tmp3_ = iter;
545 #line 106 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
546                 _tmp4_ = gee_map_iterator_next (_tmp3_);
547 #line 106 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
548                 if (!_tmp4_) {
549 #line 106 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
550                         break;
551 #line 552 "Project.vala.c"
552                 }
553 #line 107 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
554                 _tmp5_ = ret;
555 #line 107 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
556                 _tmp6_ = iter;
557 #line 107 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
558                 _tmp7_ = gee_map_iterator_get_value (_tmp6_);
559 #line 107 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
560                 _tmp8_ = (ProjectProject*) _tmp7_;
561 #line 107 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
562                 gee_abstract_collection_add ((GeeAbstractCollection*) _tmp5_, _tmp8_);
563 #line 107 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
564                 _g_object_unref0 (_tmp8_);
565 #line 566 "Project.vala.c"
566         }
567 #line 110 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
568         result = ret;
569 #line 110 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
570         _g_object_unref0 (iter);
571 #line 110 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
572         return result;
573 #line 574 "Project.vala.c"
574 }
575
576
577 ProjectProject* project_project_getProject (const gchar* name) {
578         ProjectProject* result = NULL;
579         GeeHashMap* _tmp0_ = NULL;
580         const gchar* _tmp1_ = NULL;
581         gboolean _tmp2_ = FALSE;
582 #line 114 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
583         g_return_val_if_fail (name != NULL, NULL);
584 #line 116 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
585         _tmp0_ = project_projects;
586 #line 116 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
587         _tmp1_ = name;
588 #line 116 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
589         _tmp2_ = gee_abstract_map_has_key ((GeeAbstractMap*) _tmp0_, _tmp1_);
590 #line 116 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
591         if (_tmp2_) {
592 #line 593 "Project.vala.c"
593                 GeeHashMap* _tmp3_ = NULL;
594                 const gchar* _tmp4_ = NULL;
595                 gpointer _tmp5_ = NULL;
596 #line 117 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
597                 _tmp3_ = project_projects;
598 #line 117 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
599                 _tmp4_ = name;
600 #line 117 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
601                 _tmp5_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp3_, _tmp4_);
602 #line 117 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
603                 result = (ProjectProject*) _tmp5_;
604 #line 117 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
605                 return result;
606 #line 607 "Project.vala.c"
607         }
608 #line 119 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
609         result = NULL;
610 #line 119 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
611         return result;
612 #line 613 "Project.vala.c"
613 }
614
615
616 static Block2Data* block2_data_ref (Block2Data* _data2_) {
617 #line 123 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
618         g_atomic_int_inc (&_data2_->_ref_count_);
619 #line 123 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
620         return _data2_;
621 #line 622 "Project.vala.c"
622 }
623
624
625 static void block2_data_unref (void * _userdata_) {
626         Block2Data* _data2_;
627         _data2_ = (Block2Data*) _userdata_;
628 #line 123 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
629         if (g_atomic_int_dec_and_test (&_data2_->_ref_count_)) {
630 #line 123 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
631                 _g_object_unref0 (_data2_->proj);
632 #line 123 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
633                 g_slice_free (Block2Data, _data2_);
634 #line 635 "Project.vala.c"
635         }
636 }
637
638
639 static JsonNode* _vala_JsonNode_copy (JsonNode* self) {
640 #line 130 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
641         return g_boxed_copy (json_node_get_type (), self);
642 #line 643 "Project.vala.c"
643 }
644
645
646 static gpointer __vala_JsonNode_copy0 (gpointer self) {
647 #line 130 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
648         return self ? _vala_JsonNode_copy (self) : NULL;
649 #line 650 "Project.vala.c"
650 }
651
652
653 static void _vala_JsonNode_free (JsonNode* self) {
654 #line 135 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
655         g_boxed_free (json_node_get_type (), self);
656 #line 657 "Project.vala.c"
657 }
658
659
660 static gpointer _json_object_ref0 (gpointer self) {
661 #line 138 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
662         return self ? json_object_ref (self) : NULL;
663 #line 664 "Project.vala.c"
664 }
665
666
667 static void __lambda3_ (Block2Data* _data2_, JsonObject* sobj, const gchar* key, JsonNode* val) {
668         ProjectProject* _tmp0_ = NULL;
669         GeeHashMap* _tmp1_ = NULL;
670         const gchar* _tmp2_ = NULL;
671 #line 162 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
672         g_return_if_fail (sobj != NULL);
673 #line 162 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
674         g_return_if_fail (key != NULL);
675 #line 162 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
676         g_return_if_fail (val != NULL);
677 #line 163 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
678         _tmp0_ = _data2_->proj;
679 #line 163 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
680         _tmp1_ = _tmp0_->paths;
681 #line 163 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
682         _tmp2_ = key;
683 #line 163 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
684         gee_abstract_map_set ((GeeAbstractMap*) _tmp1_, _tmp2_, "dir");
685 #line 686 "Project.vala.c"
686 }
687
688
689 static void ___lambda3__json_object_foreach (JsonObject* object, const gchar* member_name, JsonNode* member_node, gpointer self) {
690 #line 162 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
691         __lambda3_ (self, object, member_name, member_node);
692 #line 693 "Project.vala.c"
693 }
694
695
696 void project_project_factoryFromFile (const gchar* jsonfile) {
697         Block2Data* _data2_;
698         const gchar* _tmp0_ = NULL;
699         JsonParser* pa = NULL;
700         JsonParser* _tmp1_ = NULL;
701         const gchar* _tmp2_ = NULL;
702         JsonNode* node = NULL;
703         JsonNode* _tmp3_ = NULL;
704         JsonNode* _tmp4_ = NULL;
705         gboolean _tmp5_ = FALSE;
706         JsonNode* _tmp6_ = NULL;
707         JsonObject* obj = NULL;
708         JsonNode* _tmp14_ = NULL;
709         JsonObject* _tmp15_ = NULL;
710         JsonObject* _tmp16_ = NULL;
711         gchar* xtype = NULL;
712         JsonObject* _tmp17_ = NULL;
713         const gchar* _tmp18_ = NULL;
714         gchar* _tmp19_ = NULL;
715         const gchar* _tmp20_ = NULL;
716         ProjectProject* _tmp21_ = NULL;
717         ProjectProject* _tmp22_ = NULL;
718         const gchar* _tmp23_ = NULL;
719         gchar* _tmp24_ = NULL;
720         gchar* _tmp25_ = NULL;
721         gchar** _tmp26_ = NULL;
722         gchar** _tmp27_ = NULL;
723         gchar** _tmp28_ = NULL;
724         gint _tmp28__length1 = 0;
725         const gchar* _tmp29_ = NULL;
726         gchar* _tmp30_ = NULL;
727         JsonObject* _tmp31_ = NULL;
728         gboolean _tmp32_ = FALSE;
729         JsonObject* _tmp37_ = NULL;
730         gboolean _tmp38_ = FALSE;
731         JsonObject* _tmp43_ = NULL;
732         gboolean _tmp44_ = FALSE;
733         ProjectProject* _tmp49_ = NULL;
734         JsonObject* _tmp50_ = NULL;
735         const gchar* _tmp51_ = NULL;
736         gchar* _tmp52_ = NULL;
737         JsonObject* paths = NULL;
738         JsonObject* _tmp53_ = NULL;
739         JsonObject* _tmp54_ = NULL;
740         JsonObject* _tmp55_ = NULL;
741         JsonObject* _tmp56_ = NULL;
742         GeeHashMap* _tmp57_ = NULL;
743         ProjectProject* _tmp58_ = NULL;
744         const gchar* _tmp59_ = NULL;
745         ProjectProject* _tmp60_ = NULL;
746         GError * _inner_error_ = NULL;
747 #line 123 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
748         g_return_if_fail (jsonfile != NULL);
749 #line 123 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
750         _data2_ = g_slice_new0 (Block2Data);
751 #line 123 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
752         _data2_->_ref_count_ = 1;
753 #line 126 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
754         _tmp0_ = jsonfile;
755 #line 126 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
756         g_print ("parse %s\n", _tmp0_);
757 #line 128 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
758         _tmp1_ = json_parser_new ();
759 #line 128 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
760         pa = _tmp1_;
761 #line 129 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
762         _tmp2_ = jsonfile;
763 #line 129 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
764         json_parser_load_from_file (pa, _tmp2_, &_inner_error_);
765 #line 129 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
766         if (_inner_error_ != NULL) {
767 #line 129 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
768                 _g_object_unref0 (pa);
769 #line 129 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
770                 block2_data_unref (_data2_);
771 #line 129 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
772                 _data2_ = NULL;
773 #line 129 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
774                 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
775 #line 129 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
776                 g_clear_error (&_inner_error_);
777 #line 129 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
778                 return;
779 #line 780 "Project.vala.c"
780         }
781 #line 130 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
782         _tmp3_ = json_parser_get_root (pa);
783 #line 130 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
784         _tmp4_ = __vala_JsonNode_copy0 (_tmp3_);
785 #line 130 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
786         node = _tmp4_;
787 #line 133 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
788         _tmp6_ = node;
789 #line 133 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
790         if (_tmp6_ == NULL) {
791 #line 133 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
792                 _tmp5_ = TRUE;
793 #line 794 "Project.vala.c"
794         } else {
795                 JsonNode* _tmp7_ = NULL;
796                 JsonNodeType _tmp8_ = 0;
797 #line 133 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
798                 _tmp7_ = node;
799 #line 133 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
800                 _tmp8_ = json_node_get_node_type (_tmp7_);
801 #line 133 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
802                 _tmp5_ = _tmp8_ != JSON_NODE_OBJECT;
803 #line 804 "Project.vala.c"
804         }
805 #line 133 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
806         if (_tmp5_) {
807 #line 808 "Project.vala.c"
808                 const gchar* _tmp9_ = NULL;
809                 gchar* _tmp10_ = NULL;
810                 gchar* _tmp11_ = NULL;
811                 gchar* _tmp12_ = NULL;
812                 gchar* _tmp13_ = NULL;
813 #line 134 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
814                 _tmp9_ = jsonfile;
815 #line 134 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
816                 _tmp10_ = g_strconcat ("SKIP ", _tmp9_, NULL);
817 #line 134 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
818                 _tmp11_ = _tmp10_;
819 #line 134 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
820                 _tmp12_ = g_strconcat (_tmp11_, " - invalid format?\n", NULL);
821 #line 134 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
822                 _tmp13_ = _tmp12_;
823 #line 134 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
824                 g_print ("%s", _tmp13_);
825 #line 134 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
826                 _g_free0 (_tmp13_);
827 #line 134 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
828                 _g_free0 (_tmp11_);
829 #line 135 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
830                 __vala_JsonNode_free0 (node);
831 #line 135 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
832                 _g_object_unref0 (pa);
833 #line 135 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
834                 block2_data_unref (_data2_);
835 #line 135 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
836                 _data2_ = NULL;
837 #line 135 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
838                 return;
839 #line 840 "Project.vala.c"
840         }
841 #line 138 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
842         _tmp14_ = node;
843 #line 138 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
844         _tmp15_ = json_node_get_object (_tmp14_);
845 #line 138 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
846         _tmp16_ = _json_object_ref0 (_tmp15_);
847 #line 138 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
848         obj = _tmp16_;
849 #line 139 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
850         _tmp17_ = obj;
851 #line 139 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
852         _tmp18_ = json_object_get_string_member (_tmp17_, "xtype");
853 #line 139 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
854         _tmp19_ = g_strdup (_tmp18_);
855 #line 139 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
856         xtype = _tmp19_;
857 #line 141 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
858         _tmp20_ = xtype;
859 #line 141 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
860         _tmp21_ = project_project_factory (_tmp20_, "");
861 #line 141 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
862         _data2_->proj = _tmp21_;
863 #line 143 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
864         _tmp22_ = _data2_->proj;
865 #line 143 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
866         _tmp23_ = jsonfile;
867 #line 143 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
868         _tmp24_ = g_path_get_basename (_tmp23_);
869 #line 143 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
870         _tmp25_ = _tmp24_;
871 #line 143 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
872         _tmp27_ = _tmp26_ = g_strsplit (_tmp25_, ".", 0);
873 #line 143 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
874         _tmp28_ = _tmp27_;
875 #line 143 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
876         _tmp28__length1 = _vala_array_length (_tmp26_);
877 #line 143 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
878         _tmp29_ = _tmp28_[0];
879 #line 143 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
880         _tmp30_ = g_strdup (_tmp29_);
881 #line 143 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
882         _g_free0 (_tmp22_->fn);
883 #line 143 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
884         _tmp22_->fn = _tmp30_;
885 #line 143 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
886         _tmp28_ = (_vala_array_free (_tmp28_, _tmp28__length1, (GDestroyNotify) g_free), NULL);
887 #line 143 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
888         _g_free0 (_tmp25_);
889 #line 147 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
890         _tmp31_ = obj;
891 #line 147 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
892         _tmp32_ = json_object_has_member (_tmp31_, "runhtml");
893 #line 147 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
894         if (_tmp32_) {
895 #line 896 "Project.vala.c"
896                 ProjectProject* _tmp33_ = NULL;
897                 JsonObject* _tmp34_ = NULL;
898                 const gchar* _tmp35_ = NULL;
899                 gchar* _tmp36_ = NULL;
900 #line 148 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
901                 _tmp33_ = _data2_->proj;
902 #line 148 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
903                 _tmp34_ = obj;
904 #line 148 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
905                 _tmp35_ = json_object_get_string_member (_tmp34_, "runhtml");
906 #line 148 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
907                 _tmp36_ = g_strdup (_tmp35_);
908 #line 148 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
909                 _g_free0 (_tmp33_->runhtml);
910 #line 148 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
911                 _tmp33_->runhtml = _tmp36_;
912 #line 913 "Project.vala.c"
913         }
914 #line 151 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
915         _tmp37_ = obj;
916 #line 151 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
917         _tmp38_ = json_object_has_member (_tmp37_, "base_template");
918 #line 151 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
919         if (_tmp38_) {
920 #line 921 "Project.vala.c"
921                 ProjectProject* _tmp39_ = NULL;
922                 JsonObject* _tmp40_ = NULL;
923                 const gchar* _tmp41_ = NULL;
924                 gchar* _tmp42_ = NULL;
925 #line 152 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
926                 _tmp39_ = _data2_->proj;
927 #line 152 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
928                 _tmp40_ = obj;
929 #line 152 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
930                 _tmp41_ = json_object_get_string_member (_tmp40_, "base_template");
931 #line 152 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
932                 _tmp42_ = g_strdup (_tmp41_);
933 #line 152 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
934                 _g_free0 (_tmp39_->base_template);
935 #line 152 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
936                 _tmp39_->base_template = _tmp42_;
937 #line 938 "Project.vala.c"
938         }
939 #line 155 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
940         _tmp43_ = obj;
941 #line 155 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
942         _tmp44_ = json_object_has_member (_tmp43_, "rootURL");
943 #line 155 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
944         if (_tmp44_) {
945 #line 946 "Project.vala.c"
946                 ProjectProject* _tmp45_ = NULL;
947                 JsonObject* _tmp46_ = NULL;
948                 const gchar* _tmp47_ = NULL;
949                 gchar* _tmp48_ = NULL;
950 #line 156 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
951                 _tmp45_ = _data2_->proj;
952 #line 156 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
953                 _tmp46_ = obj;
954 #line 156 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
955                 _tmp47_ = json_object_get_string_member (_tmp46_, "rootURL");
956 #line 156 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
957                 _tmp48_ = g_strdup (_tmp47_);
958 #line 156 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
959                 _g_free0 (_tmp45_->rootURL);
960 #line 156 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
961                 _tmp45_->rootURL = _tmp48_;
962 #line 963 "Project.vala.c"
963         }
964 #line 159 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
965         _tmp49_ = _data2_->proj;
966 #line 159 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
967         _tmp50_ = obj;
968 #line 159 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
969         _tmp51_ = json_object_get_string_member (_tmp50_, "name");
970 #line 159 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
971         _tmp52_ = g_strdup (_tmp51_);
972 #line 159 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
973         _g_free0 (_tmp49_->name);
974 #line 159 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
975         _tmp49_->name = _tmp52_;
976 #line 161 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
977         _tmp53_ = obj;
978 #line 161 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
979         _tmp54_ = json_object_get_object_member (_tmp53_, "paths");
980 #line 161 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
981         _tmp55_ = _json_object_ref0 (_tmp54_);
982 #line 161 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
983         paths = _tmp55_;
984 #line 162 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
985         _tmp56_ = paths;
986 #line 162 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
987         json_object_foreach_member (_tmp56_, ___lambda3__json_object_foreach, _data2_);
988 #line 165 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
989         _tmp57_ = project_projects;
990 #line 165 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
991         _tmp58_ = _data2_->proj;
992 #line 165 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
993         _tmp59_ = _tmp58_->name;
994 #line 165 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
995         _tmp60_ = _data2_->proj;
996 #line 165 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
997         gee_abstract_map_set ((GeeAbstractMap*) _tmp57_, _tmp59_, _tmp60_);
998 #line 123 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
999         _json_object_unref0 (paths);
1000 #line 123 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1001         _g_free0 (xtype);
1002 #line 123 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1003         _json_object_unref0 (obj);
1004 #line 123 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1005         __vala_JsonNode_free0 (node);
1006 #line 123 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1007         _g_object_unref0 (pa);
1008 #line 123 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1009         block2_data_unref (_data2_);
1010 #line 123 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1011         _data2_ = NULL;
1012 #line 1013 "Project.vala.c"
1013 }
1014
1015
1016 ProjectProject* project_project_factory (const gchar* xtype, const gchar* path) {
1017         ProjectProject* result = NULL;
1018         const gchar* _tmp0_ = NULL;
1019         const gchar* _tmp1_ = NULL;
1020         GQuark _tmp3_ = 0U;
1021 #line 171 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1022         static GQuark _tmp2_label0 = 0;
1023 #line 171 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1024         static GQuark _tmp2_label1 = 0;
1025 #line 1026 "Project.vala.c"
1026         GError* _tmp8_ = NULL;
1027         GError * _inner_error_ = NULL;
1028 #line 169 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1029         g_return_val_if_fail (xtype != NULL, NULL);
1030 #line 169 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1031         g_return_val_if_fail (path != NULL, NULL);
1032 #line 171 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1033         _tmp0_ = xtype;
1034 #line 171 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1035         _tmp1_ = _tmp0_;
1036 #line 171 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1037         _tmp3_ = (NULL == _tmp1_) ? 0 : g_quark_from_string (_tmp1_);
1038 #line 171 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1039         if (_tmp3_ == ((0 != _tmp2_label0) ? _tmp2_label0 : (_tmp2_label0 = g_quark_from_static_string ("Gtk")))) {
1040 #line 171 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1041                 switch (0) {
1042 #line 1043 "Project.vala.c"
1043                         default:
1044                         {
1045                                 const gchar* _tmp4_ = NULL;
1046                                 ProjectGtk* _tmp5_ = NULL;
1047 #line 173 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1048                                 _tmp4_ = path;
1049 #line 173 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1050                                 _tmp5_ = project_gtk_new (_tmp4_);
1051 #line 173 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1052                                 result = (ProjectProject*) _tmp5_;
1053 #line 173 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1054                                 return result;
1055 #line 1056 "Project.vala.c"
1056                         }
1057                 }
1058         } else if (_tmp3_ == ((0 != _tmp2_label1) ? _tmp2_label1 : (_tmp2_label1 = g_quark_from_static_string ("Roo")))) {
1059 #line 171 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1060                 switch (0) {
1061 #line 1062 "Project.vala.c"
1062                         default:
1063                         {
1064                                 const gchar* _tmp6_ = NULL;
1065                                 ProjectRoo* _tmp7_ = NULL;
1066 #line 175 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1067                                 _tmp6_ = path;
1068 #line 175 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1069                                 _tmp7_ = project_roo_new (_tmp6_);
1070 #line 175 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1071                                 result = (ProjectProject*) _tmp7_;
1072 #line 175 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1073                                 return result;
1074 #line 1075 "Project.vala.c"
1075                         }
1076                 }
1077         }
1078 #line 177 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1079         _tmp8_ = g_error_new_literal (PROJECT_ERROR, PROJECT_ERROR_INVALID_TYPE, "invalid project type");
1080 #line 177 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1081         _inner_error_ = _tmp8_;
1082 #line 177 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1083         g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
1084 #line 177 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1085         g_clear_error (&_inner_error_);
1086 #line 177 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1087         return NULL;
1088 #line 1089 "Project.vala.c"
1089 }
1090
1091
1092 void project_project_save (ProjectProject* self) {
1093         const gchar* _tmp0_ = NULL;
1094         gint _tmp1_ = 0;
1095         gint _tmp2_ = 0;
1096         gchar* dirname = NULL;
1097         const gchar* _tmp16_ = NULL;
1098         gchar* _tmp17_ = NULL;
1099         gchar* s = NULL;
1100         gchar* _tmp18_ = NULL;
1101         gchar* _tmp19_ = NULL;
1102         gchar* _tmp20_ = NULL;
1103         const gchar* _tmp21_ = NULL;
1104         gchar* _tmp22_ = NULL;
1105         gchar* _tmp23_ = NULL;
1106         gchar* _tmp24_ = NULL;
1107         gchar* _tmp25_ = NULL;
1108         gint _tmp26_ = 0;
1109         gint _tmp27_ = 0;
1110         GError * _inner_error_ = NULL;
1111 #line 205 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1112         g_return_if_fail (self != NULL);
1113 #line 209 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1114         _tmp0_ = self->fn;
1115 #line 209 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1116         _tmp1_ = strlen (_tmp0_);
1117 #line 209 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1118         _tmp2_ = _tmp1_;
1119 #line 209 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1120         if (_tmp2_ < 1) {
1121 #line 1122 "Project.vala.c"
1122                 GDateTime* t = NULL;
1123                 GDateTime* _tmp3_ = NULL;
1124                 GTimeVal tv = {0};
1125                 GDateTime* _tmp4_ = NULL;
1126                 GTimeVal _tmp5_ = {0};
1127                 gchar* str = NULL;
1128                 GTimeVal _tmp6_ = {0};
1129                 glong _tmp7_ = 0L;
1130                 GTimeVal _tmp8_ = {0};
1131                 glong _tmp9_ = 0L;
1132                 gchar* _tmp10_ = NULL;
1133                 const gchar* _tmp11_ = NULL;
1134                 const gchar* _tmp12_ = NULL;
1135                 gint _tmp13_ = 0;
1136                 gint _tmp14_ = 0;
1137                 gchar* _tmp15_ = NULL;
1138 #line 211 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1139                 _tmp3_ = g_date_time_new_now_local ();
1140 #line 211 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1141                 t = _tmp3_;
1142 #line 213 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1143                 _tmp4_ = t;
1144 #line 213 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1145                 g_date_time_to_timeval (_tmp4_, &_tmp5_);
1146 #line 213 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1147                 tv = _tmp5_;
1148 #line 214 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1149                 _tmp6_ = tv;
1150 #line 214 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1151                 _tmp7_ = _tmp6_.tv_sec;
1152 #line 214 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1153                 _tmp8_ = tv;
1154 #line 214 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1155                 _tmp9_ = _tmp8_.tv_usec;
1156 #line 214 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1157                 _tmp10_ = g_strdup_printf ("%l:%l", _tmp7_, _tmp9_);
1158 #line 214 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1159                 str = _tmp10_;
1160 #line 216 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1161                 _tmp11_ = str;
1162 #line 216 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1163                 _tmp12_ = str;
1164 #line 216 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1165                 _tmp13_ = strlen (_tmp12_);
1166 #line 216 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1167                 _tmp14_ = _tmp13_;
1168 #line 216 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1169                 _tmp15_ = g_compute_checksum_for_string (G_CHECKSUM_MD5, _tmp11_, (gsize) _tmp14_);
1170 #line 216 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1171                 _g_free0 (self->fn);
1172 #line 216 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1173                 self->fn = _tmp15_;
1174 #line 209 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1175                 _g_free0 (str);
1176 #line 209 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1177                 _g_date_time_unref0 (t);
1178 #line 1179 "Project.vala.c"
1179         }
1180 #line 219 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1181         _tmp16_ = g_get_home_dir ();
1182 #line 219 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1183         _tmp17_ = g_strconcat (_tmp16_, "/.Builder", NULL);
1184 #line 219 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1185         dirname = _tmp17_;
1186 #line 220 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1187         _tmp18_ = project_project_toJSON (self, FALSE);
1188 #line 220 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1189         s = _tmp18_;
1190 #line 221 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1191         _tmp19_ = g_strconcat (dirname, "/", NULL);
1192 #line 221 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1193         _tmp20_ = _tmp19_;
1194 #line 221 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1195         _tmp21_ = self->fn;
1196 #line 221 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1197         _tmp22_ = g_strconcat (_tmp20_, _tmp21_, NULL);
1198 #line 221 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1199         _tmp23_ = _tmp22_;
1200 #line 221 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1201         _tmp24_ = g_strconcat (_tmp23_, ".json", NULL);
1202 #line 221 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1203         _tmp25_ = _tmp24_;
1204 #line 221 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1205         _tmp26_ = strlen (s);
1206 #line 221 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1207         _tmp27_ = _tmp26_;
1208 #line 221 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1209         g_file_set_contents (_tmp25_, s, (gssize) _tmp27_, &_inner_error_);
1210 #line 221 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1211         _g_free0 (_tmp25_);
1212 #line 221 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1213         _g_free0 (_tmp23_);
1214 #line 221 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1215         _g_free0 (_tmp20_);
1216 #line 221 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1217         if (_inner_error_ != NULL) {
1218 #line 221 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1219                 _g_free0 (s);
1220 #line 221 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1221                 _g_free0 (dirname);
1222 #line 221 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1223                 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
1224 #line 221 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1225                 g_clear_error (&_inner_error_);
1226 #line 221 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1227                 return;
1228 #line 1229 "Project.vala.c"
1229         }
1230 #line 205 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1231         _g_free0 (s);
1232 #line 205 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1233         _g_free0 (dirname);
1234 #line 1235 "Project.vala.c"
1235 }
1236
1237
1238 gchar* project_project_toJSON (ProjectProject* self, gboolean show_all) {
1239         gchar* result = NULL;
1240         JsonBuilder* builder = NULL;
1241         JsonBuilder* _tmp0_ = NULL;
1242         JsonBuilder* _tmp1_ = NULL;
1243         JsonBuilder* _tmp2_ = NULL;
1244         JsonBuilder* _tmp3_ = NULL;
1245         const gchar* _tmp4_ = NULL;
1246         JsonBuilder* _tmp5_ = NULL;
1247         JsonBuilder* _tmp6_ = NULL;
1248         const gchar* _tmp7_ = NULL;
1249         JsonBuilder* _tmp8_ = NULL;
1250         JsonBuilder* _tmp9_ = NULL;
1251         const gchar* _tmp10_ = NULL;
1252         JsonBuilder* _tmp11_ = NULL;
1253         JsonBuilder* _tmp12_ = NULL;
1254         const gchar* _tmp13_ = NULL;
1255         JsonBuilder* _tmp14_ = NULL;
1256         JsonBuilder* _tmp15_ = NULL;
1257         const gchar* _tmp16_ = NULL;
1258         JsonBuilder* _tmp17_ = NULL;
1259         JsonBuilder* _tmp18_ = NULL;
1260         const gchar* _tmp19_ = NULL;
1261         JsonBuilder* _tmp20_ = NULL;
1262         JsonBuilder* _tmp21_ = NULL;
1263         GeeMapIterator* iter = NULL;
1264         GeeHashMap* _tmp22_ = NULL;
1265         GeeMapIterator* _tmp23_ = NULL;
1266         JsonBuilder* _tmp31_ = NULL;
1267         gboolean _tmp32_ = FALSE;
1268         JsonBuilder* _tmp44_ = NULL;
1269         JsonGenerator* generator = NULL;
1270         JsonGenerator* _tmp45_ = NULL;
1271         JsonNode* root = NULL;
1272         JsonBuilder* _tmp46_ = NULL;
1273         JsonNode* _tmp47_ = NULL;
1274         JsonGenerator* _tmp48_ = NULL;
1275         JsonNode* _tmp49_ = NULL;
1276         gboolean _tmp50_ = FALSE;
1277         JsonGenerator* _tmp53_ = NULL;
1278         gchar* _tmp54_ = NULL;
1279 #line 228 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1280         g_return_val_if_fail (self != NULL, NULL);
1281 #line 231 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1282         _tmp0_ = json_builder_new ();
1283 #line 231 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1284         builder = _tmp0_;
1285 #line 233 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1286         _tmp1_ = builder;
1287 #line 233 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1288         json_builder_begin_object (_tmp1_);
1289 #line 235 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1290         _tmp2_ = builder;
1291 #line 235 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1292         json_builder_set_member_name (_tmp2_, "name");
1293 #line 236 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1294         _tmp3_ = builder;
1295 #line 236 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1296         _tmp4_ = self->name;
1297 #line 236 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1298         json_builder_add_string_value (_tmp3_, _tmp4_);
1299 #line 239 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1300         _tmp5_ = builder;
1301 #line 239 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1302         json_builder_set_member_name (_tmp5_, "fn");
1303 #line 240 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1304         _tmp6_ = builder;
1305 #line 240 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1306         _tmp7_ = self->fn;
1307 #line 240 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1308         json_builder_add_string_value (_tmp6_, _tmp7_);
1309 #line 242 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1310         _tmp8_ = builder;
1311 #line 242 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1312         json_builder_set_member_name (_tmp8_, "xtype");
1313 #line 243 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1314         _tmp9_ = builder;
1315 #line 243 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1316         _tmp10_ = self->xtype;
1317 #line 243 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1318         json_builder_add_string_value (_tmp9_, _tmp10_);
1319 #line 245 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1320         _tmp11_ = builder;
1321 #line 245 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1322         json_builder_set_member_name (_tmp11_, "runhtml");
1323 #line 246 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1324         _tmp12_ = builder;
1325 #line 246 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1326         _tmp13_ = self->runhtml;
1327 #line 246 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1328         json_builder_add_string_value (_tmp12_, _tmp13_);
1329 #line 249 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1330         _tmp14_ = builder;
1331 #line 249 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1332         json_builder_set_member_name (_tmp14_, "rootURL");
1333 #line 250 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1334         _tmp15_ = builder;
1335 #line 250 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1336         _tmp16_ = self->rootURL;
1337 #line 250 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1338         json_builder_add_string_value (_tmp15_, _tmp16_);
1339 #line 252 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1340         _tmp17_ = builder;
1341 #line 252 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1342         json_builder_set_member_name (_tmp17_, "base_template");
1343 #line 253 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1344         _tmp18_ = builder;
1345 #line 253 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1346         _tmp19_ = self->base_template;
1347 #line 253 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1348         json_builder_add_string_value (_tmp18_, _tmp19_);
1349 #line 255 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1350         _tmp20_ = builder;
1351 #line 255 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1352         json_builder_set_member_name (_tmp20_, "paths");
1353 #line 258 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1354         _tmp21_ = builder;
1355 #line 258 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1356         json_builder_begin_object (_tmp21_);
1357 #line 261 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1358         _tmp22_ = self->paths;
1359 #line 261 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1360         _tmp23_ = gee_abstract_map_map_iterator ((GeeAbstractMap*) _tmp22_);
1361 #line 261 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1362         iter = _tmp23_;
1363 #line 262 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1364         while (TRUE) {
1365 #line 1366 "Project.vala.c"
1366                 GeeMapIterator* _tmp24_ = NULL;
1367                 gboolean _tmp25_ = FALSE;
1368                 JsonBuilder* _tmp26_ = NULL;
1369                 GeeMapIterator* _tmp27_ = NULL;
1370                 gpointer _tmp28_ = NULL;
1371                 gchar* _tmp29_ = NULL;
1372                 JsonBuilder* _tmp30_ = NULL;
1373 #line 262 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1374                 _tmp24_ = iter;
1375 #line 262 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1376                 _tmp25_ = gee_map_iterator_next (_tmp24_);
1377 #line 262 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1378                 if (!_tmp25_) {
1379 #line 262 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1380                         break;
1381 #line 1382 "Project.vala.c"
1382                 }
1383 #line 263 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1384                 _tmp26_ = builder;
1385 #line 263 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1386                 _tmp27_ = iter;
1387 #line 263 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1388                 _tmp28_ = gee_map_iterator_get_key (_tmp27_);
1389 #line 263 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1390                 _tmp29_ = (gchar*) _tmp28_;
1391 #line 263 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1392                 json_builder_set_member_name (_tmp26_, _tmp29_);
1393 #line 263 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1394                 _g_free0 (_tmp29_);
1395 #line 264 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1396                 _tmp30_ = builder;
1397 #line 264 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1398                 json_builder_add_string_value (_tmp30_, "path");
1399 #line 1400 "Project.vala.c"
1400         }
1401 #line 266 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1402         _tmp31_ = builder;
1403 #line 266 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1404         json_builder_end_object (_tmp31_);
1405 #line 268 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1406         _tmp32_ = show_all;
1407 #line 268 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1408         if (_tmp32_) {
1409 #line 1410 "Project.vala.c"
1410                 JsonBuilder* _tmp33_ = NULL;
1411                 JsonBuilder* _tmp34_ = NULL;
1412                 GeeMapIterator* fiter = NULL;
1413                 GeeHashMap* _tmp35_ = NULL;
1414                 GeeMapIterator* _tmp36_ = NULL;
1415                 JsonBuilder* _tmp43_ = NULL;
1416 #line 269 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1417                 _tmp33_ = builder;
1418 #line 269 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1419                 json_builder_set_member_name (_tmp33_, "files");
1420 #line 270 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1421                 _tmp34_ = builder;
1422 #line 270 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1423                 json_builder_begin_array (_tmp34_);
1424 #line 271 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1425                 _tmp35_ = self->files;
1426 #line 271 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1427                 _tmp36_ = gee_abstract_map_map_iterator ((GeeAbstractMap*) _tmp35_);
1428 #line 271 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1429                 fiter = _tmp36_;
1430 #line 272 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1431                 while (TRUE) {
1432 #line 1433 "Project.vala.c"
1433                         GeeMapIterator* _tmp37_ = NULL;
1434                         gboolean _tmp38_ = FALSE;
1435                         JsonBuilder* _tmp39_ = NULL;
1436                         GeeMapIterator* _tmp40_ = NULL;
1437                         gpointer _tmp41_ = NULL;
1438                         gchar* _tmp42_ = NULL;
1439 #line 272 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1440                         _tmp37_ = fiter;
1441 #line 272 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1442                         _tmp38_ = gee_map_iterator_next (_tmp37_);
1443 #line 272 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1444                         if (!_tmp38_) {
1445 #line 272 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1446                                 break;
1447 #line 1448 "Project.vala.c"
1448                         }
1449 #line 273 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1450                         _tmp39_ = builder;
1451 #line 273 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1452                         _tmp40_ = fiter;
1453 #line 273 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1454                         _tmp41_ = gee_map_iterator_get_key (_tmp40_);
1455 #line 273 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1456                         _tmp42_ = (gchar*) _tmp41_;
1457 #line 273 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1458                         json_builder_add_string_value (_tmp39_, _tmp42_);
1459 #line 273 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1460                         _g_free0 (_tmp42_);
1461 #line 1462 "Project.vala.c"
1462                 }
1463 #line 277 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1464                 _tmp43_ = builder;
1465 #line 277 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1466                 json_builder_end_array (_tmp43_);
1467 #line 268 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1468                 _g_object_unref0 (fiter);
1469 #line 1470 "Project.vala.c"
1470         }
1471 #line 281 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1472         _tmp44_ = builder;
1473 #line 281 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1474         json_builder_end_object (_tmp44_);
1475 #line 283 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1476         _tmp45_ = json_generator_new ();
1477 #line 283 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1478         generator = _tmp45_;
1479 #line 284 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1480         _tmp46_ = builder;
1481 #line 284 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1482         _tmp47_ = json_builder_get_root (_tmp46_);
1483 #line 284 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1484         root = _tmp47_;
1485 #line 285 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1486         _tmp48_ = generator;
1487 #line 285 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1488         _tmp49_ = root;
1489 #line 285 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1490         json_generator_set_root (_tmp48_, _tmp49_);
1491 #line 286 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1492         _tmp50_ = show_all;
1493 #line 286 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1494         if (_tmp50_) {
1495 #line 1496 "Project.vala.c"
1496                 JsonGenerator* _tmp51_ = NULL;
1497                 JsonGenerator* _tmp52_ = NULL;
1498 #line 287 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1499                 _tmp51_ = generator;
1500 #line 287 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1501                 json_generator_set_pretty (_tmp51_, TRUE);
1502 #line 288 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1503                 _tmp52_ = generator;
1504 #line 288 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1505                 json_generator_set_indent (_tmp52_, (guint) 4);
1506 #line 1507 "Project.vala.c"
1507         }
1508 #line 291 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1509         _tmp53_ = generator;
1510 #line 291 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1511         _tmp54_ = json_generator_to_data (_tmp53_, NULL);
1512 #line 291 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1513         result = _tmp54_;
1514 #line 291 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1515         __vala_JsonNode_free0 (root);
1516 #line 291 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1517         _g_object_unref0 (generator);
1518 #line 291 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1519         _g_object_unref0 (iter);
1520 #line 291 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1521         _g_object_unref0 (builder);
1522 #line 291 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1523         return result;
1524 #line 1525 "Project.vala.c"
1525 }
1526
1527
1528 gchar* project_project_firstPath (ProjectProject* self) {
1529         gchar* result = NULL;
1530         GeeMapIterator* iter = NULL;
1531         GeeHashMap* _tmp0_ = NULL;
1532         GeeMapIterator* _tmp1_ = NULL;
1533         gchar* _tmp6_ = NULL;
1534 #line 295 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1535         g_return_val_if_fail (self != NULL, NULL);
1536 #line 297 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1537         _tmp0_ = self->paths;
1538 #line 297 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1539         _tmp1_ = gee_abstract_map_map_iterator ((GeeAbstractMap*) _tmp0_);
1540 #line 297 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1541         iter = _tmp1_;
1542 #line 298 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1543         while (TRUE) {
1544 #line 1545 "Project.vala.c"
1545                 GeeMapIterator* _tmp2_ = NULL;
1546                 gboolean _tmp3_ = FALSE;
1547                 GeeMapIterator* _tmp4_ = NULL;
1548                 gpointer _tmp5_ = NULL;
1549 #line 298 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1550                 _tmp2_ = iter;
1551 #line 298 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1552                 _tmp3_ = gee_map_iterator_next (_tmp2_);
1553 #line 298 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1554                 if (!_tmp3_) {
1555 #line 298 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1556                         break;
1557 #line 1558 "Project.vala.c"
1558                 }
1559 #line 299 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1560                 _tmp4_ = iter;
1561 #line 299 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1562                 _tmp5_ = gee_map_iterator_get_key (_tmp4_);
1563 #line 299 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1564                 result = (gchar*) _tmp5_;
1565 #line 299 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1566                 _g_object_unref0 (iter);
1567 #line 299 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1568                 return result;
1569 #line 1570 "Project.vala.c"
1570         }
1571 #line 302 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1572         _tmp6_ = g_strdup ("");
1573 #line 302 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1574         result = _tmp6_;
1575 #line 302 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1576         _g_object_unref0 (iter);
1577 #line 302 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1578         return result;
1579 #line 1580 "Project.vala.c"
1580 }
1581
1582
1583 gchar* project_project_getName (ProjectProject* self) {
1584         gchar* result = NULL;
1585         GeeMapIterator* iter = NULL;
1586         GeeHashMap* _tmp0_ = NULL;
1587         GeeMapIterator* _tmp1_ = NULL;
1588         gchar* _tmp9_ = NULL;
1589 #line 306 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1590         g_return_val_if_fail (self != NULL, NULL);
1591 #line 308 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1592         _tmp0_ = self->paths;
1593 #line 308 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1594         _tmp1_ = gee_abstract_map_map_iterator ((GeeAbstractMap*) _tmp0_);
1595 #line 308 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1596         iter = _tmp1_;
1597 #line 309 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1598         while (TRUE) {
1599 #line 1600 "Project.vala.c"
1600                 GeeMapIterator* _tmp2_ = NULL;
1601                 gboolean _tmp3_ = FALSE;
1602                 GeeMapIterator* _tmp4_ = NULL;
1603                 gpointer _tmp5_ = NULL;
1604                 gchar* _tmp6_ = NULL;
1605                 gchar* _tmp7_ = NULL;
1606                 gchar* _tmp8_ = NULL;
1607 #line 309 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1608                 _tmp2_ = iter;
1609 #line 309 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1610                 _tmp3_ = gee_map_iterator_next (_tmp2_);
1611 #line 309 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1612                 if (!_tmp3_) {
1613 #line 309 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1614                         break;
1615 #line 1616 "Project.vala.c"
1616                 }
1617 #line 310 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1618                 _tmp4_ = iter;
1619 #line 310 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1620                 _tmp5_ = gee_map_iterator_get_key (_tmp4_);
1621 #line 310 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1622                 _tmp6_ = (gchar*) _tmp5_;
1623 #line 310 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1624                 _tmp7_ = g_path_get_basename (_tmp6_);
1625 #line 310 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1626                 _tmp8_ = _tmp7_;
1627 #line 310 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1628                 _g_free0 (_tmp6_);
1629 #line 310 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1630                 result = _tmp8_;
1631 #line 310 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1632                 _g_object_unref0 (iter);
1633 #line 310 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1634                 return result;
1635 #line 1636 "Project.vala.c"
1636         }
1637 #line 313 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1638         _tmp9_ = g_strdup ("");
1639 #line 313 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1640         result = _tmp9_;
1641 #line 313 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1642         _g_object_unref0 (iter);
1643 #line 313 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1644         return result;
1645 #line 1646 "Project.vala.c"
1646 }
1647
1648
1649 static gint __lambda4_ (gconstpointer fa, gconstpointer fb) {
1650         gint result = 0;
1651         gconstpointer _tmp0_ = NULL;
1652         const gchar* _tmp1_ = NULL;
1653         gconstpointer _tmp2_ = NULL;
1654         const gchar* _tmp3_ = NULL;
1655         gint _tmp4_ = 0;
1656 #line 325 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1657         _tmp0_ = fa;
1658 #line 325 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1659         _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, JS_RENDER_TYPE_JS_RENDER, JsRenderJsRender)->name;
1660 #line 325 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1661         _tmp2_ = fb;
1662 #line 325 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1663         _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, JS_RENDER_TYPE_JS_RENDER, JsRenderJsRender)->name;
1664 #line 325 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1665         _tmp4_ = g_utf8_collate (_tmp1_, _tmp3_);
1666 #line 325 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1667         result = _tmp4_;
1668 #line 325 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1669         return result;
1670 #line 1671 "Project.vala.c"
1671 }
1672
1673
1674 static gint ___lambda4__gcompare_func (gconstpointer a, gconstpointer b) {
1675         gint result;
1676         result = __lambda4_ (a, b);
1677 #line 324 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1678         return result;
1679 #line 1680 "Project.vala.c"
1680 }
1681
1682
1683 GeeArrayList* project_project_sortedFiles (ProjectProject* self) {
1684         GeeArrayList* result = NULL;
1685         GeeArrayList* files = NULL;
1686         GeeArrayList* _tmp0_ = NULL;
1687         GeeMapIterator* fiter = NULL;
1688         GeeHashMap* _tmp1_ = NULL;
1689         GeeMapIterator* _tmp2_ = NULL;
1690         GeeArrayList* _tmp9_ = NULL;
1691 #line 316 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1692         g_return_val_if_fail (self != NULL, NULL);
1693 #line 318 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1694         _tmp0_ = gee_array_list_new (JS_RENDER_TYPE_JS_RENDER, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL);
1695 #line 318 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1696         files = _tmp0_;
1697 #line 320 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1698         _tmp1_ = self->files;
1699 #line 320 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1700         _tmp2_ = gee_abstract_map_map_iterator ((GeeAbstractMap*) _tmp1_);
1701 #line 320 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1702         fiter = _tmp2_;
1703 #line 321 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1704         while (TRUE) {
1705 #line 1706 "Project.vala.c"
1706                 GeeMapIterator* _tmp3_ = NULL;
1707                 gboolean _tmp4_ = FALSE;
1708                 GeeArrayList* _tmp5_ = NULL;
1709                 GeeMapIterator* _tmp6_ = NULL;
1710                 gpointer _tmp7_ = NULL;
1711                 JsRenderJsRender* _tmp8_ = NULL;
1712 #line 321 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1713                 _tmp3_ = fiter;
1714 #line 321 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1715                 _tmp4_ = gee_map_iterator_next (_tmp3_);
1716 #line 321 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1717                 if (!_tmp4_) {
1718 #line 321 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1719                         break;
1720 #line 1721 "Project.vala.c"
1721                 }
1722 #line 322 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1723                 _tmp5_ = files;
1724 #line 322 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1725                 _tmp6_ = fiter;
1726 #line 322 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1727                 _tmp7_ = gee_map_iterator_get_value (_tmp6_);
1728 #line 322 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1729                 _tmp8_ = (JsRenderJsRender*) _tmp7_;
1730 #line 322 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1731                 gee_abstract_collection_add ((GeeAbstractCollection*) _tmp5_, _tmp8_);
1732 #line 322 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1733                 _g_object_unref0 (_tmp8_);
1734 #line 1735 "Project.vala.c"
1735         }
1736 #line 324 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1737         _tmp9_ = files;
1738 #line 324 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1739         gee_list_sort ((GeeList*) _tmp9_, ___lambda4__gcompare_func);
1740 #line 328 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1741         result = files;
1742 #line 328 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1743         _g_object_unref0 (fiter);
1744 #line 328 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1745         return result;
1746 #line 1747 "Project.vala.c"
1747 }
1748
1749
1750 /**
1751  *
1752  * to tree - > is this needed anymore???
1753  */
1754 JsRenderJsRender* project_project_getByName (ProjectProject* self, const gchar* name) {
1755         JsRenderJsRender* result = NULL;
1756         GeeMapIterator* fiter = NULL;
1757         GeeHashMap* _tmp0_ = NULL;
1758         GeeMapIterator* _tmp1_ = NULL;
1759 #line 399 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1760         g_return_val_if_fail (self != NULL, NULL);
1761 #line 399 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1762         g_return_val_if_fail (name != NULL, NULL);
1763 #line 402 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1764         _tmp0_ = self->files;
1765 #line 402 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1766         _tmp1_ = gee_abstract_map_map_iterator ((GeeAbstractMap*) _tmp0_);
1767 #line 402 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1768         fiter = _tmp1_;
1769 #line 403 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1770         while (TRUE) {
1771 #line 1772 "Project.vala.c"
1772                 GeeMapIterator* _tmp2_ = NULL;
1773                 gboolean _tmp3_ = FALSE;
1774                 JsRenderJsRender* f = NULL;
1775                 GeeMapIterator* _tmp4_ = NULL;
1776                 gpointer _tmp5_ = NULL;
1777                 JsRenderJsRender* _tmp6_ = NULL;
1778                 const gchar* _tmp7_ = NULL;
1779                 const gchar* _tmp8_ = NULL;
1780 #line 403 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1781                 _tmp2_ = fiter;
1782 #line 403 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1783                 _tmp3_ = gee_map_iterator_next (_tmp2_);
1784 #line 403 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1785                 if (!_tmp3_) {
1786 #line 403 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1787                         break;
1788 #line 1789 "Project.vala.c"
1789                 }
1790 #line 405 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1791                 _tmp4_ = fiter;
1792 #line 405 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1793                 _tmp5_ = gee_map_iterator_get_value (_tmp4_);
1794 #line 405 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1795                 f = (JsRenderJsRender*) _tmp5_;
1796 #line 409 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1797                 _tmp6_ = f;
1798 #line 409 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1799                 _tmp7_ = _tmp6_->name;
1800 #line 409 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1801                 _tmp8_ = name;
1802 #line 409 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1803                 if (g_strcmp0 (_tmp7_, _tmp8_) == 0) {
1804 #line 410 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1805                         result = f;
1806 #line 410 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1807                         _g_object_unref0 (fiter);
1808 #line 410 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1809                         return result;
1810 #line 1811 "Project.vala.c"
1811                 }
1812 #line 403 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1813                 _g_object_unref0 (f);
1814 #line 1815 "Project.vala.c"
1815         }
1816 #line 413 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1817         result = NULL;
1818 #line 413 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1819         _g_object_unref0 (fiter);
1820 #line 413 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1821         return result;
1822 #line 1823 "Project.vala.c"
1823 }
1824
1825
1826 JsRenderJsRender* project_project_getById (ProjectProject* self, const gchar* id) {
1827         JsRenderJsRender* result = NULL;
1828         GeeMapIterator* fiter = NULL;
1829         GeeHashMap* _tmp0_ = NULL;
1830         GeeMapIterator* _tmp1_ = NULL;
1831 #line 416 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1832         g_return_val_if_fail (self != NULL, NULL);
1833 #line 416 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1834         g_return_val_if_fail (id != NULL, NULL);
1835 #line 419 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1836         _tmp0_ = self->files;
1837 #line 419 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1838         _tmp1_ = gee_abstract_map_map_iterator ((GeeAbstractMap*) _tmp0_);
1839 #line 419 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1840         fiter = _tmp1_;
1841 #line 420 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1842         while (TRUE) {
1843 #line 1844 "Project.vala.c"
1844                 GeeMapIterator* _tmp2_ = NULL;
1845                 gboolean _tmp3_ = FALSE;
1846                 JsRenderJsRender* f = NULL;
1847                 GeeMapIterator* _tmp4_ = NULL;
1848                 gpointer _tmp5_ = NULL;
1849                 JsRenderJsRender* _tmp6_ = NULL;
1850                 const gchar* _tmp7_ = NULL;
1851                 const gchar* _tmp8_ = NULL;
1852 #line 420 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1853                 _tmp2_ = fiter;
1854 #line 420 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1855                 _tmp3_ = gee_map_iterator_next (_tmp2_);
1856 #line 420 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1857                 if (!_tmp3_) {
1858 #line 420 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1859                         break;
1860 #line 1861 "Project.vala.c"
1861                 }
1862 #line 422 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1863                 _tmp4_ = fiter;
1864 #line 422 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1865                 _tmp5_ = gee_map_iterator_get_value (_tmp4_);
1866 #line 422 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1867                 f = (JsRenderJsRender*) _tmp5_;
1868 #line 426 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1869                 _tmp6_ = f;
1870 #line 426 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1871                 _tmp7_ = _tmp6_->id;
1872 #line 426 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1873                 _tmp8_ = id;
1874 #line 426 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1875                 if (g_strcmp0 (_tmp7_, _tmp8_) == 0) {
1876 #line 427 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1877                         result = f;
1878 #line 427 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1879                         _g_object_unref0 (fiter);
1880 #line 427 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1881                         return result;
1882 #line 1883 "Project.vala.c"
1883                 }
1884 #line 420 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1885                 _g_object_unref0 (f);
1886 #line 1887 "Project.vala.c"
1887         }
1888 #line 430 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1889         result = NULL;
1890 #line 430 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1891         _g_object_unref0 (fiter);
1892 #line 430 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1893         return result;
1894 #line 1895 "Project.vala.c"
1895 }
1896
1897
1898 JsRenderJsRender* project_project_loadFileOnly (ProjectProject* self, const gchar* path) {
1899         JsRenderJsRender* result = NULL;
1900         gchar* xt = NULL;
1901         const gchar* _tmp0_ = NULL;
1902         gchar* _tmp1_ = NULL;
1903         const gchar* _tmp2_ = NULL;
1904         JsRenderJsRender* _tmp3_ = NULL;
1905 #line 433 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1906         g_return_val_if_fail (self != NULL, NULL);
1907 #line 433 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1908         g_return_val_if_fail (path != NULL, NULL);
1909 #line 435 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1910         _tmp0_ = self->xtype;
1911 #line 435 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1912         _tmp1_ = g_strdup (_tmp0_);
1913 #line 435 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1914         xt = _tmp1_;
1915 #line 436 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1916         _tmp2_ = path;
1917 #line 436 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1918         _tmp3_ = js_render_js_render_factory (xt, self, _tmp2_);
1919 #line 436 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1920         result = _tmp3_;
1921 #line 436 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1922         _g_free0 (xt);
1923 #line 436 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1924         return result;
1925 #line 1926 "Project.vala.c"
1926 }
1927
1928
1929 JsRenderJsRender* project_project_create (ProjectProject* self, const gchar* filename) {
1930         JsRenderJsRender* result = NULL;
1931         JsRenderJsRender* ret = NULL;
1932         const gchar* _tmp0_ = NULL;
1933         JsRenderJsRender* _tmp1_ = NULL;
1934 #line 440 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1935         g_return_val_if_fail (self != NULL, NULL);
1936 #line 440 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1937         g_return_val_if_fail (filename != NULL, NULL);
1938 #line 442 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1939         _tmp0_ = filename;
1940 #line 442 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1941         _tmp1_ = project_project_loadFileOnly (self, _tmp0_);
1942 #line 442 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1943         ret = _tmp1_;
1944 #line 443 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1945         js_render_js_render_save (ret);
1946 #line 444 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1947         project_project_addFile (self, ret);
1948 #line 445 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1949         result = ret;
1950 #line 445 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1951         return result;
1952 #line 1953 "Project.vala.c"
1953 }
1954
1955
1956 void project_project_addFile (ProjectProject* self, JsRenderJsRender* pfile) {
1957         GeeHashMap* _tmp0_ = NULL;
1958         JsRenderJsRender* _tmp1_ = NULL;
1959         const gchar* _tmp2_ = NULL;
1960         JsRenderJsRender* _tmp3_ = NULL;
1961 #line 450 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1962         g_return_if_fail (self != NULL);
1963 #line 450 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1964         g_return_if_fail (pfile != NULL);
1965 #line 453 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1966         _tmp0_ = self->files;
1967 #line 453 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1968         _tmp1_ = pfile;
1969 #line 453 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1970         _tmp2_ = _tmp1_->path;
1971 #line 453 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1972         _tmp3_ = pfile;
1973 #line 453 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1974         gee_abstract_map_set ((GeeAbstractMap*) _tmp0_, _tmp2_, _tmp3_);
1975 #line 454 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1976         g_signal_emit_by_name (self, "on-changed");
1977 #line 1978 "Project.vala.c"
1978 }
1979
1980
1981 void project_project_add (ProjectProject* self, const gchar* path, const gchar* type) {
1982         GeeHashMap* _tmp0_ = NULL;
1983         const gchar* _tmp1_ = NULL;
1984         const gchar* _tmp2_ = NULL;
1985         const gchar* _tmp3_ = NULL;
1986         const gchar* _tmp5_ = NULL;
1987 #line 457 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1988         g_return_if_fail (self != NULL);
1989 #line 457 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1990         g_return_if_fail (path != NULL);
1991 #line 457 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1992         g_return_if_fail (type != NULL);
1993 #line 459 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1994         _tmp0_ = self->paths;
1995 #line 459 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1996         _tmp1_ = path;
1997 #line 459 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
1998         _tmp2_ = type;
1999 #line 459 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2000         gee_abstract_map_set ((GeeAbstractMap*) _tmp0_, _tmp1_, _tmp2_);
2001 #line 461 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2002         _tmp3_ = type;
2003 #line 461 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2004         if (g_strcmp0 (_tmp3_, "dir") == 0) {
2005 #line 2006 "Project.vala.c"
2006                 const gchar* _tmp4_ = NULL;
2007 #line 462 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2008                 _tmp4_ = path;
2009 #line 462 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2010                 project_project_scanDir (self, _tmp4_, 0);
2011 #line 2012 "Project.vala.c"
2012         }
2013 #line 465 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2014         _tmp5_ = type;
2015 #line 465 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2016         if (g_strcmp0 (_tmp5_, "file") == 0) {
2017 #line 2018 "Project.vala.c"
2018                 GeeHashMap* _tmp6_ = NULL;
2019                 const gchar* _tmp7_ = NULL;
2020                 const gchar* _tmp8_ = NULL;
2021                 JsRenderJsRender* _tmp9_ = NULL;
2022                 JsRenderJsRender* _tmp10_ = NULL;
2023 #line 467 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2024                 _tmp6_ = self->files;
2025 #line 467 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2026                 _tmp7_ = path;
2027 #line 467 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2028                 _tmp8_ = path;
2029 #line 467 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2030                 _tmp9_ = project_project_loadFileOnly (self, _tmp8_);
2031 #line 467 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2032                 _tmp10_ = _tmp9_;
2033 #line 467 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2034                 gee_abstract_map_set ((GeeAbstractMap*) _tmp6_, _tmp7_, _tmp10_);
2035 #line 467 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2036                 _g_object_unref0 (_tmp10_);
2037 #line 2038 "Project.vala.c"
2038         }
2039 #line 469 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2040         g_signal_emit_by_name (self, "on-changed");
2041 #line 2042 "Project.vala.c"
2042 }
2043
2044
2045 void project_project_scanDirs (ProjectProject* self) {
2046         gboolean _tmp0_ = FALSE;
2047 #line 472 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2048         g_return_if_fail (self != NULL);
2049 #line 474 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2050         _tmp0_ = self->priv->is_scanned;
2051 #line 474 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2052         if (_tmp0_) {
2053 #line 475 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2054                 return;
2055 #line 2056 "Project.vala.c"
2056         }
2057 #line 477 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2058         project_project_scanDirsForce (self);
2059 #line 2060 "Project.vala.c"
2060 }
2061
2062
2063 void project_project_scanDirsForce (ProjectProject* self) {
2064         GeeMapIterator* iter = NULL;
2065         GeeHashMap* _tmp0_ = NULL;
2066         GeeMapIterator* _tmp1_ = NULL;
2067 #line 482 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2068         g_return_if_fail (self != NULL);
2069 #line 484 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2070         self->priv->is_scanned = TRUE;
2071 #line 485 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2072         _tmp0_ = self->paths;
2073 #line 485 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2074         _tmp1_ = gee_abstract_map_map_iterator ((GeeAbstractMap*) _tmp0_);
2075 #line 485 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2076         iter = _tmp1_;
2077 #line 486 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2078         while (TRUE) {
2079 #line 2080 "Project.vala.c"
2080                 GeeMapIterator* _tmp2_ = NULL;
2081                 gboolean _tmp3_ = FALSE;
2082                 GeeMapIterator* _tmp4_ = NULL;
2083                 gpointer _tmp5_ = NULL;
2084                 gchar* _tmp6_ = NULL;
2085                 gboolean _tmp7_ = FALSE;
2086                 GeeMapIterator* _tmp8_ = NULL;
2087                 gpointer _tmp9_ = NULL;
2088                 gchar* _tmp10_ = NULL;
2089 #line 486 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2090                 _tmp2_ = iter;
2091 #line 486 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2092                 _tmp3_ = gee_map_iterator_next (_tmp2_);
2093 #line 486 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2094                 if (!_tmp3_) {
2095 #line 486 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2096                         break;
2097 #line 2098 "Project.vala.c"
2098                 }
2099 #line 488 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2100                 _tmp4_ = iter;
2101 #line 488 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2102                 _tmp5_ = gee_map_iterator_get_value (_tmp4_);
2103 #line 488 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2104                 _tmp6_ = (gchar*) _tmp5_;
2105 #line 488 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2106                 _tmp7_ = g_strcmp0 (_tmp6_, "dir") != 0;
2107 #line 488 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2108                 _g_free0 (_tmp6_);
2109 #line 488 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2110                 if (_tmp7_) {
2111 #line 489 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2112                         continue;
2113 #line 2114 "Project.vala.c"
2114                 }
2115 #line 491 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2116                 _tmp8_ = iter;
2117 #line 491 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2118                 _tmp9_ = gee_map_iterator_get_key (_tmp8_);
2119 #line 491 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2120                 _tmp10_ = (gchar*) _tmp9_;
2121 #line 491 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2122                 project_project_scanDir (self, _tmp10_, 0);
2123 #line 491 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2124                 _g_free0 (_tmp10_);
2125 #line 2126 "Project.vala.c"
2126         }
2127 #line 482 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2128         _g_object_unref0 (iter);
2129 #line 2130 "Project.vala.c"
2130 }
2131
2132
2133 static gchar string_get (const gchar* self, glong index) {
2134         gchar result = '\0';
2135         glong _tmp0_ = 0L;
2136         gchar _tmp1_ = '\0';
2137 #line 996 "/usr/share/vala-0.24/vapi/glib-2.0.vapi"
2138         g_return_val_if_fail (self != NULL, '\0');
2139 #line 997 "/usr/share/vala-0.24/vapi/glib-2.0.vapi"
2140         _tmp0_ = index;
2141 #line 997 "/usr/share/vala-0.24/vapi/glib-2.0.vapi"
2142         _tmp1_ = ((gchar*) self)[_tmp0_];
2143 #line 997 "/usr/share/vala-0.24/vapi/glib-2.0.vapi"
2144         result = _tmp1_;
2145 #line 997 "/usr/share/vala-0.24/vapi/glib-2.0.vapi"
2146         return result;
2147 #line 2148 "Project.vala.c"
2148 }
2149
2150
2151 static void _g_free0_ (gpointer var) {
2152 #line 508 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2153         var = (g_free (var), NULL);
2154 #line 2155 "Project.vala.c"
2155 }
2156
2157
2158 static void _g_list_free__g_free0_ (GList* self) {
2159 #line 508 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2160         g_list_foreach (self, (GFunc) _g_free0_, NULL);
2161 #line 508 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2162         g_list_free (self);
2163 #line 2164 "Project.vala.c"
2164 }
2165
2166
2167 void project_project_scanDir (ProjectProject* self, const gchar* dir, gint dp) {
2168         gint _tmp0_ = 0;
2169         GList* subs = NULL;
2170         GFile* f = NULL;
2171         const gchar* _tmp1_ = NULL;
2172         GFile* _tmp2_ = NULL;
2173         GError * _inner_error_ = NULL;
2174 #line 497 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2175         g_return_if_fail (self != NULL);
2176 #line 497 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2177         g_return_if_fail (dir != NULL);
2178 #line 501 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2179         _tmp0_ = dp;
2180 #line 501 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2181         if (_tmp0_ > 5) {
2182 #line 502 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2183                 return;
2184 #line 2185 "Project.vala.c"
2185         }
2186 #line 506 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2187         subs = NULL;
2188 #line 507 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2189         _tmp1_ = dir;
2190 #line 507 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2191         _tmp2_ = g_file_new_for_path (_tmp1_);
2192 #line 507 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2193         f = _tmp2_;
2194 #line 2195 "Project.vala.c"
2195         {
2196                 GFileEnumerator* file_enum = NULL;
2197                 GFile* _tmp3_ = NULL;
2198                 GFileEnumerator* _tmp4_ = NULL;
2199                 GFileInfo* next_file = NULL;
2200 #line 509 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2201                 _tmp3_ = f;
2202 #line 509 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2203                 _tmp4_ = g_file_enumerate_children (_tmp3_, G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME, G_FILE_QUERY_INFO_NONE, NULL, &_inner_error_);
2204 #line 509 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2205                 file_enum = _tmp4_;
2206 #line 509 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2207                 if (_inner_error_ != NULL) {
2208 #line 509 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2209                         if (_inner_error_->domain == PROJECT_ERROR) {
2210 #line 2211 "Project.vala.c"
2211                                 goto __catch10_project_error;
2212                         }
2213                         goto __catch10_g_error;
2214                 }
2215 #line 513 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2216                 while (TRUE) {
2217 #line 2218 "Project.vala.c"
2218                         GFileInfo* _tmp5_ = NULL;
2219                         GFileEnumerator* _tmp6_ = NULL;
2220                         GFileInfo* _tmp7_ = NULL;
2221                         GFileInfo* _tmp8_ = NULL;
2222                         GFileInfo* _tmp9_ = NULL;
2223                         gchar* fn = NULL;
2224                         GFileInfo* _tmp10_ = NULL;
2225                         const gchar* _tmp11_ = NULL;
2226                         gchar* _tmp12_ = NULL;
2227                         const gchar* _tmp13_ = NULL;
2228                         gchar _tmp14_ = '\0';
2229                         const gchar* _tmp15_ = NULL;
2230                         gchar* _tmp16_ = NULL;
2231                         gchar* _tmp17_ = NULL;
2232                         const gchar* _tmp18_ = NULL;
2233                         gchar* _tmp19_ = NULL;
2234                         gchar* _tmp20_ = NULL;
2235                         gboolean _tmp21_ = FALSE;
2236                         gboolean _tmp22_ = FALSE;
2237                         const gchar* _tmp28_ = NULL;
2238                         gboolean _tmp29_ = FALSE;
2239                         gchar* xt = NULL;
2240                         const gchar* _tmp30_ = NULL;
2241                         gchar* _tmp31_ = NULL;
2242                         JsRenderJsRender* el = NULL;
2243                         const gchar* _tmp32_ = NULL;
2244                         const gchar* _tmp33_ = NULL;
2245                         gchar* _tmp34_ = NULL;
2246                         gchar* _tmp35_ = NULL;
2247                         const gchar* _tmp36_ = NULL;
2248                         gchar* _tmp37_ = NULL;
2249                         gchar* _tmp38_ = NULL;
2250                         JsRenderJsRender* _tmp39_ = NULL;
2251                         JsRenderJsRender* _tmp40_ = NULL;
2252                         GeeHashMap* _tmp41_ = NULL;
2253                         const gchar* _tmp42_ = NULL;
2254                         gchar* _tmp43_ = NULL;
2255                         gchar* _tmp44_ = NULL;
2256                         const gchar* _tmp45_ = NULL;
2257                         gchar* _tmp46_ = NULL;
2258                         gchar* _tmp47_ = NULL;
2259                         JsRenderJsRender* _tmp48_ = NULL;
2260 #line 513 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2261                         _tmp6_ = file_enum;
2262 #line 513 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2263                         _tmp7_ = g_file_enumerator_next_file (_tmp6_, NULL, &_inner_error_);
2264 #line 513 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2265                         _tmp5_ = _tmp7_;
2266 #line 513 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2267                         if (_inner_error_ != NULL) {
2268 #line 513 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2269                                 _g_object_unref0 (next_file);
2270 #line 513 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2271                                 _g_object_unref0 (file_enum);
2272 #line 513 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2273                                 if (_inner_error_->domain == PROJECT_ERROR) {
2274 #line 2275 "Project.vala.c"
2275                                         goto __catch10_project_error;
2276                                 }
2277                                 goto __catch10_g_error;
2278                         }
2279 #line 513 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2280                         _tmp8_ = _tmp5_;
2281 #line 513 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2282                         _tmp5_ = NULL;
2283 #line 513 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2284                         _g_object_unref0 (next_file);
2285 #line 513 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2286                         next_file = _tmp8_;
2287 #line 513 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2288                         _tmp9_ = next_file;
2289 #line 513 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2290                         if (!(_tmp9_ != NULL)) {
2291 #line 513 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2292                                 _g_object_unref0 (_tmp5_);
2293 #line 513 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2294                                 break;
2295 #line 2296 "Project.vala.c"
2296                         }
2297 #line 514 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2298                         _tmp10_ = next_file;
2299 #line 514 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2300                         _tmp11_ = g_file_info_get_display_name (_tmp10_);
2301 #line 514 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2302                         _tmp12_ = g_strdup (_tmp11_);
2303 #line 514 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2304                         fn = _tmp12_;
2305 #line 519 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2306                         _tmp13_ = fn;
2307 #line 519 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2308                         _tmp14_ = string_get (_tmp13_, (glong) 0);
2309 #line 519 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2310                         if (_tmp14_ == '.') {
2311 #line 520 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2312                                 _g_free0 (fn);
2313 #line 520 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2314                                 _g_object_unref0 (_tmp5_);
2315 #line 520 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2316                                 continue;
2317 #line 2318 "Project.vala.c"
2318                         }
2319 #line 523 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2320                         _tmp15_ = dir;
2321 #line 523 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2322                         _tmp16_ = g_strconcat (_tmp15_, "/", NULL);
2323 #line 523 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2324                         _tmp17_ = _tmp16_;
2325 #line 523 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2326                         _tmp18_ = fn;
2327 #line 523 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2328                         _tmp19_ = g_strconcat (_tmp17_, _tmp18_, NULL);
2329 #line 523 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2330                         _tmp20_ = _tmp19_;
2331 #line 523 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2332                         _tmp21_ = g_file_test (_tmp20_, G_FILE_TEST_IS_DIR);
2333 #line 523 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2334                         _tmp22_ = _tmp21_;
2335 #line 523 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2336                         _g_free0 (_tmp20_);
2337 #line 523 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2338                         _g_free0 (_tmp17_);
2339 #line 523 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2340                         if (_tmp22_) {
2341 #line 2342 "Project.vala.c"
2342                                 const gchar* _tmp23_ = NULL;
2343                                 gchar* _tmp24_ = NULL;
2344                                 gchar* _tmp25_ = NULL;
2345                                 const gchar* _tmp26_ = NULL;
2346                                 gchar* _tmp27_ = NULL;
2347 #line 524 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2348                                 _tmp23_ = dir;
2349 #line 524 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2350                                 _tmp24_ = g_strconcat (_tmp23_, "/", NULL);
2351 #line 524 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2352                                 _tmp25_ = _tmp24_;
2353 #line 524 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2354                                 _tmp26_ = fn;
2355 #line 524 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2356                                 _tmp27_ = g_strconcat (_tmp25_, _tmp26_, NULL);
2357 #line 524 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2358                                 subs = g_list_append (subs, _tmp27_);
2359 #line 524 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2360                                 _g_free0 (_tmp25_);
2361 #line 525 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2362                                 _g_free0 (fn);
2363 #line 525 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2364                                 _g_object_unref0 (_tmp5_);
2365 #line 525 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2366                                 continue;
2367 #line 2368 "Project.vala.c"
2368                         }
2369 #line 528 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2370                         _tmp28_ = fn;
2371 #line 528 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2372                         _tmp29_ = g_regex_match_simple ("\\.bjs$", _tmp28_, 0, 0);
2373 #line 528 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2374                         if (!_tmp29_) {
2375 #line 530 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2376                                 _g_free0 (fn);
2377 #line 530 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2378                                 _g_object_unref0 (_tmp5_);
2379 #line 530 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2380                                 continue;
2381 #line 2382 "Project.vala.c"
2382                         }
2383 #line 553 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2384                         _tmp30_ = self->xtype;
2385 #line 553 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2386                         _tmp31_ = g_strdup (_tmp30_);
2387 #line 553 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2388                         xt = _tmp31_;
2389 #line 554 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2390                         _tmp32_ = xt;
2391 #line 554 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2392                         _tmp33_ = dir;
2393 #line 554 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2394                         _tmp34_ = g_strconcat (_tmp33_, "/", NULL);
2395 #line 554 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2396                         _tmp35_ = _tmp34_;
2397 #line 554 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2398                         _tmp36_ = fn;
2399 #line 554 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2400                         _tmp37_ = g_strconcat (_tmp35_, _tmp36_, NULL);
2401 #line 554 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2402                         _tmp38_ = _tmp37_;
2403 #line 554 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2404                         _tmp39_ = js_render_js_render_factory (_tmp32_, self, _tmp38_);
2405 #line 554 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2406                         _tmp40_ = _tmp39_;
2407 #line 554 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2408                         _g_free0 (_tmp38_);
2409 #line 554 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2410                         _g_free0 (_tmp35_);
2411 #line 554 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2412                         el = _tmp40_;
2413 #line 555 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2414                         _tmp41_ = self->files;
2415 #line 555 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2416                         _tmp42_ = dir;
2417 #line 555 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2418                         _tmp43_ = g_strconcat (_tmp42_, "/", NULL);
2419 #line 555 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2420                         _tmp44_ = _tmp43_;
2421 #line 555 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2422                         _tmp45_ = fn;
2423 #line 555 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2424                         _tmp46_ = g_strconcat (_tmp44_, _tmp45_, NULL);
2425 #line 555 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2426                         _tmp47_ = _tmp46_;
2427 #line 555 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2428                         _tmp48_ = el;
2429 #line 555 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2430                         gee_abstract_map_set ((GeeAbstractMap*) _tmp41_, _tmp47_, _tmp48_);
2431 #line 555 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2432                         _g_free0 (_tmp47_);
2433 #line 555 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2434                         _g_free0 (_tmp44_);
2435 #line 513 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2436                         _g_object_unref0 (el);
2437 #line 513 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2438                         _g_free0 (xt);
2439 #line 513 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2440                         _g_free0 (fn);
2441 #line 513 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2442                         _g_object_unref0 (_tmp5_);
2443 #line 2444 "Project.vala.c"
2444                 }
2445 #line 508 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2446                 _g_object_unref0 (next_file);
2447 #line 508 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2448                 _g_object_unref0 (file_enum);
2449 #line 2450 "Project.vala.c"
2450         }
2451         goto __finally10;
2452         __catch10_project_error:
2453         {
2454                 GError* e = NULL;
2455                 GError* _tmp49_ = NULL;
2456                 const gchar* _tmp50_ = NULL;
2457                 gchar* _tmp51_ = NULL;
2458                 gchar* _tmp52_ = NULL;
2459                 gchar* _tmp53_ = NULL;
2460                 gchar* _tmp54_ = NULL;
2461 #line 508 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2462                 e = _inner_error_;
2463 #line 508 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2464                 _inner_error_ = NULL;
2465 #line 561 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2466                 _tmp49_ = e;
2467 #line 561 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2468                 _tmp50_ = _tmp49_->message;
2469 #line 561 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2470                 _tmp51_ = g_strconcat ("Project::scanDirs failed : ", _tmp50_, NULL);
2471 #line 561 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2472                 _tmp52_ = _tmp51_;
2473 #line 561 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2474                 _tmp53_ = g_strconcat (_tmp52_, "\n", NULL);
2475 #line 561 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2476                 _tmp54_ = _tmp53_;
2477 #line 561 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2478                 g_print ("%s", _tmp54_);
2479 #line 561 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2480                 _g_free0 (_tmp54_);
2481 #line 561 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2482                 _g_free0 (_tmp52_);
2483 #line 508 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2484                 _g_error_free0 (e);
2485 #line 2486 "Project.vala.c"
2486         }
2487         goto __finally10;
2488         __catch10_g_error:
2489         {
2490                 GError* e = NULL;
2491                 GError* _tmp55_ = NULL;
2492                 const gchar* _tmp56_ = NULL;
2493                 gchar* _tmp57_ = NULL;
2494                 gchar* _tmp58_ = NULL;
2495                 gchar* _tmp59_ = NULL;
2496                 gchar* _tmp60_ = NULL;
2497 #line 508 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2498                 e = _inner_error_;
2499 #line 508 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2500                 _inner_error_ = NULL;
2501 #line 563 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2502                 _tmp55_ = e;
2503 #line 563 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2504                 _tmp56_ = _tmp55_->message;
2505 #line 563 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2506                 _tmp57_ = g_strconcat ("Project::scanDirs failed : ", _tmp56_, NULL);
2507 #line 563 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2508                 _tmp58_ = _tmp57_;
2509 #line 563 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2510                 _tmp59_ = g_strconcat (_tmp58_, "\n", NULL);
2511 #line 563 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2512                 _tmp60_ = _tmp59_;
2513 #line 563 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2514                 g_print ("%s", _tmp60_);
2515 #line 563 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2516                 _g_free0 (_tmp60_);
2517 #line 563 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2518                 _g_free0 (_tmp58_);
2519 #line 508 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2520                 _g_error_free0 (e);
2521 #line 2522 "Project.vala.c"
2522         }
2523         __finally10:
2524 #line 508 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2525         if (_inner_error_ != NULL) {
2526 #line 508 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2527                 _g_object_unref0 (f);
2528 #line 508 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2529                 __g_list_free__g_free0_0 (subs);
2530 #line 508 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2531                 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
2532 #line 508 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2533                 g_clear_error (&_inner_error_);
2534 #line 508 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2535                 return;
2536 #line 2537 "Project.vala.c"
2537         }
2538         {
2539                 gint i = 0;
2540 #line 565 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2541                 i = 0;
2542 #line 2543 "Project.vala.c"
2543                 {
2544                         gboolean _tmp61_ = FALSE;
2545 #line 565 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2546                         _tmp61_ = TRUE;
2547 #line 565 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2548                         while (TRUE) {
2549 #line 2550 "Project.vala.c"
2550                                 gint _tmp63_ = 0;
2551                                 GList* _tmp64_ = NULL;
2552                                 guint _tmp65_ = 0U;
2553                                 GList* _tmp66_ = NULL;
2554                                 gint _tmp67_ = 0;
2555                                 gconstpointer _tmp68_ = NULL;
2556                                 gint _tmp69_ = 0;
2557 #line 565 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2558                                 if (!_tmp61_) {
2559 #line 2560 "Project.vala.c"
2560                                         gint _tmp62_ = 0;
2561 #line 565 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2562                                         _tmp62_ = i;
2563 #line 565 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2564                                         i = _tmp62_ + 1;
2565 #line 2566 "Project.vala.c"
2566                                 }
2567 #line 565 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2568                                 _tmp61_ = FALSE;
2569 #line 565 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2570                                 _tmp63_ = i;
2571 #line 565 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2572                                 _tmp64_ = subs;
2573 #line 565 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2574                                 _tmp65_ = g_list_length (_tmp64_);
2575 #line 565 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2576                                 if (!(((guint) _tmp63_) < _tmp65_)) {
2577 #line 565 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2578                                         break;
2579 #line 2580 "Project.vala.c"
2580                                 }
2581 #line 567 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2582                                 _tmp66_ = subs;
2583 #line 567 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2584                                 _tmp67_ = i;
2585 #line 567 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2586                                 _tmp68_ = g_list_nth_data (_tmp66_, (guint) _tmp67_);
2587 #line 567 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2588                                 _tmp69_ = dp;
2589 #line 567 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2590                                 project_project_scanDir (self, (const gchar*) _tmp68_, _tmp69_ + 1);
2591 #line 2592 "Project.vala.c"
2592                         }
2593                 }
2594         }
2595 #line 497 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2596         _g_object_unref0 (f);
2597 #line 497 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2598         __g_list_free__g_free0_0 (subs);
2599 #line 2600 "Project.vala.c"
2600 }
2601
2602
2603 static void project_project_class_init (ProjectProjectClass * klass) {
2604 #line 26 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2605         project_project_parent_class = g_type_class_peek_parent (klass);
2606 #line 26 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2607         g_type_class_add_private (klass, sizeof (ProjectProjectPrivate));
2608 #line 26 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2609         G_OBJECT_CLASS (klass)->finalize = project_project_finalize;
2610 #line 26 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2611         g_signal_new ("on_changed", PROJECT_TYPE_PROJECT, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
2612 #line 2613 "Project.vala.c"
2613 }
2614
2615
2616 static void project_project_instance_init (ProjectProject * self) {
2617         gchar* _tmp0_ = NULL;
2618         gchar* _tmp1_ = NULL;
2619         gchar* _tmp2_ = NULL;
2620         gchar* _tmp3_ = NULL;
2621         gchar* _tmp4_ = NULL;
2622 #line 26 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2623         self->priv = PROJECT_PROJECT_GET_PRIVATE (self);
2624 #line 31 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2625         _tmp0_ = g_strdup ("");
2626 #line 31 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2627         self->fn = _tmp0_;
2628 #line 32 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2629         _tmp1_ = g_strdup ("");
2630 #line 32 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2631         self->name = _tmp1_;
2632 #line 33 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2633         _tmp2_ = g_strdup ("");
2634 #line 33 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2635         self->runhtml = _tmp2_;
2636 #line 34 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2637         _tmp3_ = g_strdup ("");
2638 #line 34 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2639         self->base_template = _tmp3_;
2640 #line 35 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2641         _tmp4_ = g_strdup ("");
2642 #line 35 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2643         self->rootURL = _tmp4_;
2644 #line 2645 "Project.vala.c"
2645 }
2646
2647
2648 static void project_project_finalize (GObject* obj) {
2649         ProjectProject * self;
2650 #line 26 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2651         self = G_TYPE_CHECK_INSTANCE_CAST (obj, PROJECT_TYPE_PROJECT, ProjectProject);
2652 #line 30 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2653         _g_free0 (self->id);
2654 #line 31 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2655         _g_free0 (self->fn);
2656 #line 32 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2657         _g_free0 (self->name);
2658 #line 33 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2659         _g_free0 (self->runhtml);
2660 #line 34 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2661         _g_free0 (self->base_template);
2662 #line 35 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2663         _g_free0 (self->rootURL);
2664 #line 36 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2665         _g_object_unref0 (self->paths);
2666 #line 37 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2667         _g_object_unref0 (self->files);
2668 #line 39 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2669         _g_free0 (self->xtype);
2670 #line 26 "/home/alan/gitlive/app.Builder.js/Project/Project.vala"
2671         G_OBJECT_CLASS (project_project_parent_class)->finalize (obj);
2672 #line 2673 "Project.vala.c"
2673 }
2674
2675
2676 GType project_project_get_type (void) {
2677         static volatile gsize project_project_type_id__volatile = 0;
2678         if (g_once_init_enter (&project_project_type_id__volatile)) {
2679                 static const GTypeInfo g_define_type_info = { sizeof (ProjectProjectClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) project_project_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ProjectProject), 0, (GInstanceInitFunc) project_project_instance_init, NULL };
2680                 GType project_project_type_id;
2681                 project_project_type_id = g_type_register_static (G_TYPE_OBJECT, "ProjectProject", &g_define_type_info, 0);
2682                 g_once_init_leave (&project_project_type_id__volatile, project_project_type_id);
2683         }
2684         return project_project_type_id__volatile;
2685 }
2686
2687
2688 static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
2689         if ((array != NULL) && (destroy_func != NULL)) {
2690                 int i;
2691                 for (i = 0; i < array_length; i = i + 1) {
2692                         if (((gpointer*) array)[i] != NULL) {
2693                                 destroy_func (((gpointer*) array)[i]);
2694                         }
2695                 }
2696         }
2697 }
2698
2699
2700 static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
2701         _vala_array_destroy (array, array_length, destroy_func);
2702         g_free (array);
2703 }
2704
2705
2706 static gint _vala_array_length (gpointer array) {
2707         int length;
2708         length = 0;
2709         if (array) {
2710                 while (((gpointer*) array)[length]) {
2711                         length++;
2712                 }
2713         }
2714         return length;
2715 }
2716
2717
2718