Upload to debian experimental
[moonshot-ui.git] / src / moonshot-id.c
1 /* moonshot-id.c generated by valac 0.34.9, the Vala compiler
2  * generated from moonshot-id.vala, do not modify */
3
4 /*
5  * Copyright (c) 2011-2016, JANET(UK)
6  * All rights reserved.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions
10  * are met:
11  *
12  * 1. Redistributions of source code must retain the above copyright
13  *    notice, this list of conditions and the following disclaimer.
14  *
15  * 2. Redistributions in binary form must reproduce the above copyright
16  *    notice, this list of conditions and the following disclaimer in the
17  *    documentation and/or other materials provided with the distribution.
18  *
19  * 3. Neither the name of JANET(UK) nor the names of its contributors
20  *    may be used to endorse or promote products derived from this software
21  *    without specific prior written permission.
22  *
23  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
24  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
27  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33  * SUCH DAMAGE.
34 */
35
36 #include <glib.h>
37 #include <glib-object.h>
38 #include <stdlib.h>
39 #include <string.h>
40 #include <gee.h>
41 #include <gnome-keyring-memory.h>
42
43
44 #define TYPE_TRUST_ANCHOR (trust_anchor_get_type ())
45 #define TRUST_ANCHOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TRUST_ANCHOR, TrustAnchor))
46 #define TRUST_ANCHOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TRUST_ANCHOR, TrustAnchorClass))
47 #define IS_TRUST_ANCHOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TRUST_ANCHOR))
48 #define IS_TRUST_ANCHOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TRUST_ANCHOR))
49 #define TRUST_ANCHOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TRUST_ANCHOR, TrustAnchorClass))
50
51 typedef struct _TrustAnchor TrustAnchor;
52 typedef struct _TrustAnchorClass TrustAnchorClass;
53 typedef struct _TrustAnchorPrivate TrustAnchorPrivate;
54
55 #define TRUST_ANCHOR_TYPE_TRUST_ANCHOR_TYPE (trust_anchor_trust_anchor_type_get_type ())
56 #define _g_free0(var) (var = (g_free (var), NULL))
57 #define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL)))
58 #define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
59 #define _g_date_time_unref0(var) ((var == NULL) ? NULL : (var = (g_date_time_unref (var), NULL)))
60
61 #define TYPE_MOONSHOT_LOGGER (moonshot_logger_get_type ())
62 #define MOONSHOT_LOGGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MOONSHOT_LOGGER, MoonshotLogger))
63 #define MOONSHOT_LOGGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MOONSHOT_LOGGER, MoonshotLoggerClass))
64 #define IS_MOONSHOT_LOGGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MOONSHOT_LOGGER))
65 #define IS_MOONSHOT_LOGGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MOONSHOT_LOGGER))
66 #define MOONSHOT_LOGGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MOONSHOT_LOGGER, MoonshotLoggerClass))
67
68 typedef struct _MoonshotLogger MoonshotLogger;
69 typedef struct _MoonshotLoggerClass MoonshotLoggerClass;
70
71 #define TYPE_RULE (rule_get_type ())
72 typedef struct _Rule Rule;
73
74 #define TYPE_ID_CARD (id_card_get_type ())
75 #define ID_CARD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ID_CARD, IdCard))
76 #define ID_CARD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ID_CARD, IdCardClass))
77 #define IS_ID_CARD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ID_CARD))
78 #define IS_ID_CARD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ID_CARD))
79 #define ID_CARD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ID_CARD, IdCardClass))
80
81 typedef struct _IdCard IdCard;
82 typedef struct _IdCardClass IdCardClass;
83 typedef struct _IdCardPrivate IdCardPrivate;
84
85 #define ID_CARD_TYPE_DIFF_FLAGS (id_card_diff_flags_get_type ())
86 #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
87
88 struct _TrustAnchor {
89         GObject parent_instance;
90         TrustAnchorPrivate * priv;
91 };
92
93 struct _TrustAnchorClass {
94         GObjectClass parent_class;
95 };
96
97 struct _TrustAnchorPrivate {
98         gchar* _ca_cert;
99         gchar* _subject;
100         gchar* _subject_alt;
101         gchar* _server_cert;
102         gchar* _datetime_added;
103 };
104
105 typedef enum  {
106         TRUST_ANCHOR_TRUST_ANCHOR_TYPE_EMPTY,
107         TRUST_ANCHOR_TRUST_ANCHOR_TYPE_CA_CERT,
108         TRUST_ANCHOR_TRUST_ANCHOR_TYPE_SERVER_CERT
109 } TrustAnchorTrustAnchorType;
110
111 struct _Rule {
112         gchar* pattern;
113         gchar* always_confirm;
114 };
115
116 struct _IdCard {
117         GObject parent_instance;
118         IdCardPrivate * priv;
119 };
120
121 struct _IdCardClass {
122         GObjectClass parent_class;
123 };
124
125 struct _IdCardPrivate {
126         gchar* _username;
127         gchar* _issuer;
128         gchar* _display_name;
129         const gchar* _password;
130         Rule* _rules;
131         gint _rules_length1;
132         gint __rules_size_;
133         GeeArrayList* _services;
134         gboolean _temporary;
135         TrustAnchor* _trust_anchor;
136         gchar* _nai;
137         gboolean _store_password;
138         gchar* _uuid;
139 };
140
141 typedef enum  {
142         ID_CARD_DIFF_FLAGS_DISPLAY_NAME,
143         ID_CARD_DIFF_FLAGS_USERNAME,
144         ID_CARD_DIFF_FLAGS_PASSWORD,
145         ID_CARD_DIFF_FLAGS_ISSUER,
146         ID_CARD_DIFF_FLAGS_RULES,
147         ID_CARD_DIFF_FLAGS_SERVICES,
148         ID_CARD_DIFF_FLAGS_TRUST_ANCHOR
149 } IdCardDiffFlags;
150
151
152 static gpointer trust_anchor_parent_class = NULL;
153 extern MoonshotLogger* id_card_logger;
154 static gpointer id_card_parent_class = NULL;
155 MoonshotLogger* id_card_logger = NULL;
156
157 gchar* get_cert_valid_before (guchar* inbuf, gint inlen, gchar* outbuf, gint outlen);
158 GType trust_anchor_get_type (void) G_GNUC_CONST;
159 #define TRUST_ANCHOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_TRUST_ANCHOR, TrustAnchorPrivate))
160 enum  {
161         TRUST_ANCHOR_DUMMY_PROPERTY,
162         TRUST_ANCHOR_CA_CERT,
163         TRUST_ANCHOR_SUBJECT,
164         TRUST_ANCHOR_SUBJECT_ALT,
165         TRUST_ANCHOR_SERVER_CERT,
166         TRUST_ANCHOR_DATETIME_ADDED
167 };
168 GType trust_anchor_trust_anchor_type_get_type (void) G_GNUC_CONST;
169 #define TRUST_ANCHOR_CERT_HEADER "-----BEGIN CERTIFICATE-----"
170 #define TRUST_ANCHOR_CERT_FOOTER "-----END CERTIFICATE-----"
171 static gchar* trust_anchor_fixup (const gchar* s);
172 TrustAnchor* trust_anchor_new (const gchar* ca_cert, const gchar* server_cert, const gchar* subject, const gchar* subject_alt);
173 TrustAnchor* trust_anchor_construct (GType object_type, const gchar* ca_cert, const gchar* server_cert, const gchar* subject, const gchar* subject_alt);
174 TrustAnchor* trust_anchor_new_empty (void);
175 TrustAnchor* trust_anchor_construct_empty (GType object_type);
176 gboolean trust_anchor_is_empty (TrustAnchor* self);
177 const gchar* trust_anchor_get_ca_cert (TrustAnchor* self);
178 const gchar* trust_anchor_get_server_cert (TrustAnchor* self);
179 TrustAnchorTrustAnchorType trust_anchor_get_anchor_type (TrustAnchor* self);
180 void trust_anchor_set_datetime_added (TrustAnchor* self, const gchar* datetime);
181 gchar* trust_anchor_format_datetime_now (void);
182 void trust_anchor_update_server_fingerprint (TrustAnchor* self, const gchar* fingerprint);
183 gint trust_anchor_Compare (TrustAnchor* self, TrustAnchor* other);
184 const gchar* trust_anchor_get_subject (TrustAnchor* self);
185 const gchar* trust_anchor_get_subject_alt (TrustAnchor* self);
186 gchar* trust_anchor_get_expiration_date (TrustAnchor* self, gchar** err_out);
187 GType moonshot_logger_get_type (void) G_GNUC_CONST;
188 void moonshot_logger_trace (MoonshotLogger* self, const gchar* message, GError* e);
189 void moonshot_logger_error (MoonshotLogger* self, const gchar* message, GError* e);
190 const gchar* trust_anchor_get_datetime_added (TrustAnchor* self);
191 static void trust_anchor_finalize (GObject* obj);
192 static void _vala_trust_anchor_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
193 GType rule_get_type (void) G_GNUC_CONST;
194 Rule* rule_dup (const Rule* self);
195 void rule_free (Rule* self);
196 void rule_copy (const Rule* self, Rule* dest);
197 void rule_destroy (Rule* self);
198 gint rule_Compare (Rule *self, Rule* other);
199 GType id_card_get_type (void) G_GNUC_CONST;
200 #define ID_CARD_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_ID_CARD, IdCardPrivate))
201 enum  {
202         ID_CARD_DUMMY_PROPERTY,
203         ID_CARD_DISPLAY_NAME,
204         ID_CARD_USERNAME,
205         ID_CARD_ISSUER,
206         ID_CARD_PASSWORD,
207         ID_CARD_SERVICES,
208         ID_CARD_TEMPORARY,
209         ID_CARD_TRUST_ANCHOR,
210         ID_CARD_NAI,
211         ID_CARD_STORE_PASSWORD,
212         ID_CARD_UUID
213 };
214 void id_card_set_password (IdCard* self, const gchar* value);
215 GType id_card_diff_flags_get_type (void) G_GNUC_CONST;
216 MoonshotLogger* get_logger (const gchar* name);
217 static void _vala_Rule_array_free (Rule* array, gint array_length);
218 gchar* id_card_generate_uuid (void);
219 #define ID_CARD_NO_IDENTITY "No Identity"
220 static void id_card_update_nai (IdCard* self);
221 const gchar* id_card_get_username (IdCard* self);
222 const gchar* id_card_get_issuer (IdCard* self);
223 gchar* id_card_get_services_string (IdCard* self, const gchar* sep);
224 void id_card_update_services (IdCard* self, gchar** services, int services_length1);
225 void id_card_update_services_from_list (IdCard* self, GeeArrayList* services);
226 void id_card_set_trust_anchor_from_store (IdCard* self, TrustAnchor* ta);
227 void id_card_clear_trust_anchor (IdCard* self);
228 gboolean id_card_is_no_identity (IdCard* self);
229 const gchar* id_card_get_display_name (IdCard* self);
230 gint id_card_Compare (IdCard* self, IdCard* other);
231 const gchar* id_card_get_password (IdCard* self);
232 gint CompareRules (Rule* a, int a_length1, Rule* b, int b_length1);
233 Rule* id_card_get_rules (IdCard* self, int* result_length1);
234 gint CompareStringArrayList (GeeArrayList* a, GeeArrayList* b);
235 TrustAnchor* id_card_get_trust_anchor (IdCard* self);
236 IdCard* id_card_NewNoIdentity (void);
237 IdCard* id_card_new (void);
238 IdCard* id_card_construct (GType object_type);
239 void id_card_set_display_name (IdCard* self, const gchar* value);
240 void id_card_add_rule (IdCard* self, Rule* rule);
241 static void _vala_array_add2 (Rule** array, int* length, int* size, const Rule* value);
242 void id_card_set_username (IdCard* self, const gchar* value);
243 void id_card_set_issuer (IdCard* self, const gchar* value);
244 void id_card_set_rules (IdCard* self, Rule* value, int value_length1);
245 static Rule* _vala_array_dup5 (Rule* self, int length);
246 GeeArrayList* id_card_get_services (IdCard* self);
247 gboolean id_card_get_temporary (IdCard* self);
248 void id_card_set_temporary (IdCard* self, gboolean value);
249 const gchar* id_card_get_nai (IdCard* self);
250 static void id_card_set_nai (IdCard* self, const gchar* value);
251 gboolean id_card_get_store_password (IdCard* self);
252 void id_card_set_store_password (IdCard* self, gboolean value);
253 const gchar* id_card_get_uuid (IdCard* self);
254 static void id_card_finalize (GObject* obj);
255 static void _vala_id_card_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
256 static void _vala_id_card_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
257 static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
258 static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);
259
260
261 GType trust_anchor_trust_anchor_type_get_type (void) {
262         static volatile gsize trust_anchor_trust_anchor_type_type_id__volatile = 0;
263         if (g_once_init_enter (&trust_anchor_trust_anchor_type_type_id__volatile)) {
264                 static const GEnumValue values[] = {{TRUST_ANCHOR_TRUST_ANCHOR_TYPE_EMPTY, "TRUST_ANCHOR_TRUST_ANCHOR_TYPE_EMPTY", "empty"}, {TRUST_ANCHOR_TRUST_ANCHOR_TYPE_CA_CERT, "TRUST_ANCHOR_TRUST_ANCHOR_TYPE_CA_CERT", "ca-cert"}, {TRUST_ANCHOR_TRUST_ANCHOR_TYPE_SERVER_CERT, "TRUST_ANCHOR_TRUST_ANCHOR_TYPE_SERVER_CERT", "server-cert"}, {0, NULL, NULL}};
265                 GType trust_anchor_trust_anchor_type_type_id;
266                 trust_anchor_trust_anchor_type_type_id = g_enum_register_static ("TrustAnchorTrustAnchorType", values);
267                 g_once_init_leave (&trust_anchor_trust_anchor_type_type_id__volatile, trust_anchor_trust_anchor_type_type_id);
268         }
269         return trust_anchor_trust_anchor_type_type_id__volatile;
270 }
271
272
273 static gchar* string_strip (const gchar* self) {
274         gchar* result = NULL;
275         gchar* _result_ = NULL;
276         gchar* _tmp0_ = NULL;
277         const gchar* _tmp1_ = NULL;
278 #line 1215 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
279         g_return_val_if_fail (self != NULL, NULL);
280 #line 1216 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
281         _tmp0_ = g_strdup (self);
282 #line 1216 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
283         _result_ = _tmp0_;
284 #line 1217 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
285         _tmp1_ = _result_;
286 #line 1217 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
287         g_strstrip (_tmp1_);
288 #line 1218 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
289         result = _result_;
290 #line 1218 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
291         return result;
292 #line 293 "moonshot-id.c"
293 }
294
295
296 static gchar* trust_anchor_fixup (const gchar* s) {
297         gchar* result = NULL;
298         gchar* _tmp0_ = NULL;
299         const gchar* _tmp1_ = NULL;
300 #line 57 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
301         g_return_val_if_fail (s != NULL, NULL);
302 #line 58 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
303         _tmp1_ = s;
304 #line 58 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
305         if (_tmp1_ == NULL) {
306 #line 307 "moonshot-id.c"
307                 gchar* _tmp2_ = NULL;
308 #line 58 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
309                 _tmp2_ = g_strdup ("");
310 #line 58 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
311                 _g_free0 (_tmp0_);
312 #line 58 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
313                 _tmp0_ = _tmp2_;
314 #line 315 "moonshot-id.c"
315         } else {
316                 const gchar* _tmp3_ = NULL;
317                 gchar* _tmp4_ = NULL;
318 #line 58 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
319                 _tmp3_ = s;
320 #line 58 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
321                 _tmp4_ = string_strip (_tmp3_);
322 #line 58 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
323                 _g_free0 (_tmp0_);
324 #line 58 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
325                 _tmp0_ = _tmp4_;
326 #line 327 "moonshot-id.c"
327         }
328 #line 58 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
329         result = _tmp0_;
330 #line 58 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
331         return result;
332 #line 333 "moonshot-id.c"
333 }
334
335
336 static gchar* string_replace (const gchar* self, const gchar* old, const gchar* replacement) {
337         gchar* result = NULL;
338         GError * _inner_error_ = NULL;
339 #line 1388 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
340         g_return_val_if_fail (self != NULL, NULL);
341 #line 1388 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
342         g_return_val_if_fail (old != NULL, NULL);
343 #line 1388 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
344         g_return_val_if_fail (replacement != NULL, NULL);
345 #line 346 "moonshot-id.c"
346         {
347                 GRegex* regex = NULL;
348                 const gchar* _tmp0_ = NULL;
349                 gchar* _tmp1_ = NULL;
350                 gchar* _tmp2_ = NULL;
351                 GRegex* _tmp3_ = NULL;
352                 GRegex* _tmp4_ = NULL;
353                 gchar* _tmp5_ = NULL;
354                 GRegex* _tmp6_ = NULL;
355                 const gchar* _tmp7_ = NULL;
356                 gchar* _tmp8_ = NULL;
357                 gchar* _tmp9_ = NULL;
358 #line 1390 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
359                 _tmp0_ = old;
360 #line 1390 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
361                 _tmp1_ = g_regex_escape_string (_tmp0_, -1);
362 #line 1390 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
363                 _tmp2_ = _tmp1_;
364 #line 1390 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
365                 _tmp3_ = g_regex_new (_tmp2_, 0, 0, &_inner_error_);
366 #line 1390 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
367                 _tmp4_ = _tmp3_;
368 #line 1390 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
369                 _g_free0 (_tmp2_);
370 #line 1390 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
371                 regex = _tmp4_;
372 #line 1390 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
373                 if (G_UNLIKELY (_inner_error_ != NULL)) {
374 #line 1390 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
375                         if (_inner_error_->domain == G_REGEX_ERROR) {
376 #line 377 "moonshot-id.c"
377                                 goto __catch2_g_regex_error;
378                         }
379 #line 1390 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
380                         g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
381 #line 1390 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
382                         g_clear_error (&_inner_error_);
383 #line 1390 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
384                         return NULL;
385 #line 386 "moonshot-id.c"
386                 }
387 #line 1391 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
388                 _tmp6_ = regex;
389 #line 1391 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
390                 _tmp7_ = replacement;
391 #line 1391 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
392                 _tmp8_ = g_regex_replace_literal (_tmp6_, self, (gssize) -1, 0, _tmp7_, 0, &_inner_error_);
393 #line 1391 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
394                 _tmp5_ = _tmp8_;
395 #line 1391 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
396                 if (G_UNLIKELY (_inner_error_ != NULL)) {
397 #line 1391 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
398                         _g_regex_unref0 (regex);
399 #line 1391 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
400                         if (_inner_error_->domain == G_REGEX_ERROR) {
401 #line 402 "moonshot-id.c"
402                                 goto __catch2_g_regex_error;
403                         }
404 #line 1391 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
405                         _g_regex_unref0 (regex);
406 #line 1391 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
407                         g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
408 #line 1391 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
409                         g_clear_error (&_inner_error_);
410 #line 1391 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
411                         return NULL;
412 #line 413 "moonshot-id.c"
413                 }
414 #line 1391 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
415                 _tmp9_ = _tmp5_;
416 #line 1391 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
417                 _tmp5_ = NULL;
418 #line 1391 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
419                 result = _tmp9_;
420 #line 1391 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
421                 _g_free0 (_tmp5_);
422 #line 1391 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
423                 _g_regex_unref0 (regex);
424 #line 1391 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
425                 return result;
426 #line 427 "moonshot-id.c"
427         }
428         goto __finally2;
429         __catch2_g_regex_error:
430         {
431                 GError* e = NULL;
432 #line 1389 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
433                 e = _inner_error_;
434 #line 1389 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
435                 _inner_error_ = NULL;
436 #line 1393 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
437                 g_assert_not_reached ();
438 #line 1389 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
439                 _g_error_free0 (e);
440 #line 441 "moonshot-id.c"
441         }
442         __finally2:
443 #line 1389 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
444         if (G_UNLIKELY (_inner_error_ != NULL)) {
445 #line 1389 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
446                 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);
447 #line 1389 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
448                 g_clear_error (&_inner_error_);
449 #line 1389 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
450                 return NULL;
451 #line 452 "moonshot-id.c"
452         }
453 }
454
455
456 TrustAnchor* trust_anchor_construct (GType object_type, const gchar* ca_cert, const gchar* server_cert, const gchar* subject, const gchar* subject_alt) {
457         TrustAnchor * self = NULL;
458         const gchar* _tmp0_ = NULL;
459         gchar* _tmp1_ = NULL;
460         const gchar* _tmp2_ = NULL;
461         gchar* _tmp3_ = NULL;
462         const gchar* _tmp4_ = NULL;
463         gchar* _tmp5_ = NULL;
464         const gchar* _tmp6_ = NULL;
465         gchar* _tmp7_ = NULL;
466         gchar* _tmp8_ = NULL;
467         gchar* cruft = NULL;
468         gchar* _tmp9_ = NULL;
469         const gchar* _tmp10_ = NULL;
470         gchar* _tmp11_ = NULL;
471 #line 61 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
472         g_return_val_if_fail (ca_cert != NULL, NULL);
473 #line 61 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
474         g_return_val_if_fail (server_cert != NULL, NULL);
475 #line 61 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
476         g_return_val_if_fail (subject != NULL, NULL);
477 #line 61 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
478         g_return_val_if_fail (subject_alt != NULL, NULL);
479 #line 61 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
480         self = (TrustAnchor*) g_object_new (object_type, NULL);
481 #line 62 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
482         _tmp0_ = ca_cert;
483 #line 62 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
484         _tmp1_ = trust_anchor_fixup (_tmp0_);
485 #line 62 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
486         _g_free0 (self->priv->_ca_cert);
487 #line 62 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
488         self->priv->_ca_cert = _tmp1_;
489 #line 63 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
490         _tmp2_ = server_cert;
491 #line 63 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
492         _tmp3_ = trust_anchor_fixup (_tmp2_);
493 #line 63 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
494         _g_free0 (self->priv->_server_cert);
495 #line 63 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
496         self->priv->_server_cert = _tmp3_;
497 #line 64 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
498         _tmp4_ = subject;
499 #line 64 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
500         _tmp5_ = trust_anchor_fixup (_tmp4_);
501 #line 64 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
502         _g_free0 (self->priv->_subject);
503 #line 64 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
504         self->priv->_subject = _tmp5_;
505 #line 65 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
506         _tmp6_ = subject_alt;
507 #line 65 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
508         _tmp7_ = trust_anchor_fixup (_tmp6_);
509 #line 65 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
510         _g_free0 (self->priv->_subject_alt);
511 #line 65 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
512         self->priv->_subject_alt = _tmp7_;
513 #line 68 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
514         _tmp8_ = g_strdup ("");
515 #line 68 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
516         _g_free0 (self->priv->_datetime_added);
517 #line 68 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
518         self->priv->_datetime_added = _tmp8_;
519 #line 71 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
520         _tmp9_ = g_strdup ("<!-- Remove the begin and end lines from the PEM output of\n" \
521 "openssl to produce this format.  Alternatively, base64 encode a DER fo" \
522 "rmat certificate -->");
523 #line 71 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
524         cruft = _tmp9_;
525 #line 74 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
526         _tmp10_ = self->priv->_ca_cert;
527 #line 74 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
528         _tmp11_ = string_replace (_tmp10_, cruft, "");
529 #line 74 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
530         _g_free0 (self->priv->_ca_cert);
531 #line 74 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
532         self->priv->_ca_cert = _tmp11_;
533 #line 61 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
534         _g_free0 (cruft);
535 #line 61 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
536         return self;
537 #line 536 "moonshot-id.c"
538 }
539
540
541 TrustAnchor* trust_anchor_new (const gchar* ca_cert, const gchar* server_cert, const gchar* subject, const gchar* subject_alt) {
542 #line 61 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
543         return trust_anchor_construct (TYPE_TRUST_ANCHOR, ca_cert, server_cert, subject, subject_alt);
544 #line 543 "moonshot-id.c"
545 }
546
547
548 TrustAnchor* trust_anchor_construct_empty (GType object_type) {
549         TrustAnchor * self = NULL;
550 #line 77 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
551         self = (TrustAnchor*) g_object_new (object_type, NULL);
552 #line 77 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
553         return self;
554 #line 553 "moonshot-id.c"
555 }
556
557
558 TrustAnchor* trust_anchor_new_empty (void) {
559 #line 77 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
560         return trust_anchor_construct_empty (TYPE_TRUST_ANCHOR);
561 #line 560 "moonshot-id.c"
562 }
563
564
565 gboolean trust_anchor_is_empty (TrustAnchor* self) {
566         gboolean result = FALSE;
567         gboolean _tmp0_ = FALSE;
568         const gchar* _tmp1_ = NULL;
569         const gchar* _tmp2_ = NULL;
570 #line 112 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
571         g_return_val_if_fail (self != NULL, FALSE);
572 #line 113 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
573         _tmp1_ = trust_anchor_get_ca_cert (self);
574 #line 113 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
575         _tmp2_ = _tmp1_;
576 #line 113 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
577         if (g_strcmp0 (_tmp2_, "") == 0) {
578 #line 577 "moonshot-id.c"
579                 const gchar* _tmp3_ = NULL;
580                 const gchar* _tmp4_ = NULL;
581 #line 113 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
582                 _tmp3_ = trust_anchor_get_server_cert (self);
583 #line 113 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
584                 _tmp4_ = _tmp3_;
585 #line 113 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
586                 _tmp0_ = g_strcmp0 (_tmp4_, "") == 0;
587 #line 586 "moonshot-id.c"
588         } else {
589 #line 113 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
590                 _tmp0_ = FALSE;
591 #line 590 "moonshot-id.c"
592         }
593 #line 113 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
594         result = _tmp0_;
595 #line 113 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
596         return result;
597 #line 596 "moonshot-id.c"
598 }
599
600
601 TrustAnchorTrustAnchorType trust_anchor_get_anchor_type (TrustAnchor* self) {
602         TrustAnchorTrustAnchorType result = 0;
603         TrustAnchorTrustAnchorType _tmp0_ = 0;
604         const gchar* _tmp1_ = NULL;
605         const gchar* _tmp2_ = NULL;
606 #line 116 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
607         g_return_val_if_fail (self != NULL, 0);
608 #line 117 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
609         _tmp1_ = trust_anchor_get_server_cert (self);
610 #line 117 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
611         _tmp2_ = _tmp1_;
612 #line 117 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
613         if (g_strcmp0 (_tmp2_, "") != 0) {
614 #line 117 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
615                 _tmp0_ = TRUST_ANCHOR_TRUST_ANCHOR_TYPE_SERVER_CERT;
616 #line 615 "moonshot-id.c"
617         } else {
618                 TrustAnchorTrustAnchorType _tmp3_ = 0;
619                 const gchar* _tmp4_ = NULL;
620                 const gchar* _tmp5_ = NULL;
621 #line 118 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
622                 _tmp4_ = trust_anchor_get_ca_cert (self);
623 #line 118 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
624                 _tmp5_ = _tmp4_;
625 #line 118 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
626                 if (g_strcmp0 (_tmp5_, "") != 0) {
627 #line 118 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
628                         _tmp3_ = TRUST_ANCHOR_TRUST_ANCHOR_TYPE_CA_CERT;
629 #line 628 "moonshot-id.c"
630                 } else {
631 #line 118 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
632                         _tmp3_ = TRUST_ANCHOR_TRUST_ANCHOR_TYPE_EMPTY;
633 #line 632 "moonshot-id.c"
634                 }
635 #line 118 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
636                 _tmp0_ = _tmp3_;
637 #line 636 "moonshot-id.c"
638         }
639 #line 117 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
640         result = _tmp0_;
641 #line 117 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
642         return result;
643 #line 642 "moonshot-id.c"
644 }
645
646
647 void trust_anchor_set_datetime_added (TrustAnchor* self, const gchar* datetime) {
648         const gchar* _tmp0_ = NULL;
649         gchar* _tmp1_ = NULL;
650 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
651         g_return_if_fail (self != NULL);
652 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
653         g_return_if_fail (datetime != NULL);
654 #line 122 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
655         _tmp0_ = datetime;
656 #line 122 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
657         _tmp1_ = trust_anchor_fixup (_tmp0_);
658 #line 122 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
659         _g_free0 (self->priv->_datetime_added);
660 #line 122 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
661         self->priv->_datetime_added = _tmp1_;
662 #line 661 "moonshot-id.c"
663 }
664
665
666 gchar* trust_anchor_format_datetime_now (void) {
667         gchar* result = NULL;
668         GDateTime* now = NULL;
669         GDateTime* _tmp0_ = NULL;
670         gchar* dt = NULL;
671         gchar* _tmp1_ = NULL;
672 #line 126 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
673         _tmp0_ = g_date_time_new_now_utc ();
674 #line 126 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
675         now = _tmp0_;
676 #line 127 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
677         _tmp1_ = g_date_time_format (now, "%b %d %T %Y %Z");
678 #line 127 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
679         dt = _tmp1_;
680 #line 128 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
681         result = dt;
682 #line 128 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
683         _g_date_time_unref0 (now);
684 #line 128 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
685         return result;
686 #line 685 "moonshot-id.c"
687 }
688
689
690 void trust_anchor_update_server_fingerprint (TrustAnchor* self, const gchar* fingerprint) {
691         const gchar* _tmp0_ = NULL;
692         gchar* _tmp1_ = NULL;
693         gchar* ta_datetime_added = NULL;
694         gchar* _tmp2_ = NULL;
695 #line 131 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
696         g_return_if_fail (self != NULL);
697 #line 131 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
698         g_return_if_fail (fingerprint != NULL);
699 #line 132 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
700         _tmp0_ = fingerprint;
701 #line 132 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
702         _tmp1_ = g_strdup (_tmp0_);
703 #line 132 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
704         _g_free0 (self->priv->_server_cert);
705 #line 132 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
706         self->priv->_server_cert = _tmp1_;
707 #line 133 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
708         _tmp2_ = trust_anchor_format_datetime_now ();
709 #line 133 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
710         ta_datetime_added = _tmp2_;
711 #line 134 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
712         trust_anchor_set_datetime_added (self, ta_datetime_added);
713 #line 131 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
714         _g_free0 (ta_datetime_added);
715 #line 714 "moonshot-id.c"
716 }
717
718
719 gint trust_anchor_Compare (TrustAnchor* self, TrustAnchor* other) {
720         gint result = 0;
721         const gchar* _tmp0_ = NULL;
722         const gchar* _tmp1_ = NULL;
723         TrustAnchor* _tmp2_ = NULL;
724         const gchar* _tmp3_ = NULL;
725         const gchar* _tmp4_ = NULL;
726         const gchar* _tmp5_ = NULL;
727         const gchar* _tmp6_ = NULL;
728         TrustAnchor* _tmp7_ = NULL;
729         const gchar* _tmp8_ = NULL;
730         const gchar* _tmp9_ = NULL;
731         const gchar* _tmp10_ = NULL;
732         const gchar* _tmp11_ = NULL;
733         TrustAnchor* _tmp12_ = NULL;
734         const gchar* _tmp13_ = NULL;
735         const gchar* _tmp14_ = NULL;
736         const gchar* _tmp15_ = NULL;
737         const gchar* _tmp16_ = NULL;
738         TrustAnchor* _tmp17_ = NULL;
739         const gchar* _tmp18_ = NULL;
740         const gchar* _tmp19_ = NULL;
741 #line 137 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
742         g_return_val_if_fail (self != NULL, 0);
743 #line 137 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
744         g_return_val_if_fail (other != NULL, 0);
745 #line 139 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
746         _tmp0_ = trust_anchor_get_ca_cert (self);
747 #line 139 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
748         _tmp1_ = _tmp0_;
749 #line 139 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
750         _tmp2_ = other;
751 #line 139 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
752         _tmp3_ = trust_anchor_get_ca_cert (_tmp2_);
753 #line 139 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
754         _tmp4_ = _tmp3_;
755 #line 139 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
756         if (g_strcmp0 (_tmp1_, _tmp4_) != 0) {
757 #line 141 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
758                 result = 1;
759 #line 141 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
760                 return result;
761 #line 760 "moonshot-id.c"
762         }
763 #line 143 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
764         _tmp5_ = trust_anchor_get_subject (self);
765 #line 143 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
766         _tmp6_ = _tmp5_;
767 #line 143 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
768         _tmp7_ = other;
769 #line 143 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
770         _tmp8_ = trust_anchor_get_subject (_tmp7_);
771 #line 143 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
772         _tmp9_ = _tmp8_;
773 #line 143 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
774         if (g_strcmp0 (_tmp6_, _tmp9_) != 0) {
775 #line 145 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
776                 result = 1;
777 #line 145 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
778                 return result;
779 #line 778 "moonshot-id.c"
780         }
781 #line 147 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
782         _tmp10_ = trust_anchor_get_subject_alt (self);
783 #line 147 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
784         _tmp11_ = _tmp10_;
785 #line 147 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
786         _tmp12_ = other;
787 #line 147 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
788         _tmp13_ = trust_anchor_get_subject_alt (_tmp12_);
789 #line 147 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
790         _tmp14_ = _tmp13_;
791 #line 147 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
792         if (g_strcmp0 (_tmp11_, _tmp14_) != 0) {
793 #line 149 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
794                 result = 1;
795 #line 149 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
796                 return result;
797 #line 796 "moonshot-id.c"
798         }
799 #line 151 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
800         _tmp15_ = trust_anchor_get_server_cert (self);
801 #line 151 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
802         _tmp16_ = _tmp15_;
803 #line 151 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
804         _tmp17_ = other;
805 #line 151 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
806         _tmp18_ = trust_anchor_get_server_cert (_tmp17_);
807 #line 151 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
808         _tmp19_ = _tmp18_;
809 #line 151 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
810         if (g_strcmp0 (_tmp16_, _tmp19_) != 0) {
811 #line 153 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
812                 result = 1;
813 #line 153 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
814                 return result;
815 #line 814 "moonshot-id.c"
816         }
817 #line 158 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
818         result = 0;
819 #line 158 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
820         return result;
821 #line 820 "moonshot-id.c"
822 }
823
824
825 static gchar* string_chomp (const gchar* self) {
826         gchar* result = NULL;
827         gchar* _result_ = NULL;
828         gchar* _tmp0_ = NULL;
829         const gchar* _tmp1_ = NULL;
830 #line 1199 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
831         g_return_val_if_fail (self != NULL, NULL);
832 #line 1200 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
833         _tmp0_ = g_strdup (self);
834 #line 1200 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
835         _result_ = _tmp0_;
836 #line 1201 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
837         _tmp1_ = _result_;
838 #line 1201 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
839         g_strchomp (_tmp1_);
840 #line 1202 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
841         result = _result_;
842 #line 1202 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
843         return result;
844 #line 843 "moonshot-id.c"
845 }
846
847
848 static const gchar* string_to_string (const gchar* self) {
849         const gchar* result = NULL;
850 #line 1420 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
851         g_return_val_if_fail (self != NULL, NULL);
852 #line 1421 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
853         result = self;
854 #line 1421 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
855         return result;
856 #line 855 "moonshot-id.c"
857 }
858
859
860 gchar* trust_anchor_get_expiration_date (TrustAnchor* self, gchar** err_out) {
861         gchar* _vala_err_out = NULL;
862         gchar* result = NULL;
863         const gchar* _tmp0_ = NULL;
864         const gchar* _tmp1_ = NULL;
865         gchar* cert = NULL;
866         const gchar* _tmp3_ = NULL;
867         const gchar* _tmp4_ = NULL;
868         gchar* _tmp5_ = NULL;
869         const gchar* _tmp6_ = NULL;
870         gchar* _tmp7_ = NULL;
871         gchar* _tmp8_ = NULL;
872         guchar* binary = NULL;
873         const gchar* _tmp9_ = NULL;
874         size_t _tmp10_;
875         guchar* _tmp11_ = NULL;
876         gint binary_length1 = 0;
877         gint _binary_size_ = 0;
878         MoonshotLogger* _tmp12_ = NULL;
879         const gchar* _tmp13_ = NULL;
880         gint _tmp14_ = 0;
881         gint _tmp15_ = 0;
882         guchar* _tmp16_ = NULL;
883         gint _tmp16__length1 = 0;
884         gchar* _tmp17_ = NULL;
885         gchar* _tmp18_ = NULL;
886         gchar buf[64] = {0};
887         gchar* err = NULL;
888         guchar* _tmp19_ = NULL;
889         gint _tmp19__length1 = 0;
890         guchar* _tmp20_ = NULL;
891         gint _tmp20__length1 = 0;
892         gchar* _tmp21_ = NULL;
893         gchar* _tmp22_ = NULL;
894         const gchar* _tmp23_ = NULL;
895         gchar* date = NULL;
896         gchar* _tmp31_ = NULL;
897         MoonshotLogger* _tmp32_ = NULL;
898         const gchar* _tmp33_ = NULL;
899         const gchar* _tmp34_ = NULL;
900         gchar* _tmp35_ = NULL;
901         gchar* _tmp36_ = NULL;
902 #line 161 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
903         g_return_val_if_fail (self != NULL, NULL);
904 #line 163 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
905         if ((&_vala_err_out) != NULL) {
906 #line 164 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
907                 _g_free0 (_vala_err_out);
908 #line 164 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
909                 _vala_err_out = NULL;
910 #line 909 "moonshot-id.c"
911         }
912 #line 167 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
913         _tmp0_ = trust_anchor_get_ca_cert (self);
914 #line 167 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
915         _tmp1_ = _tmp0_;
916 #line 167 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
917         if (g_strcmp0 (_tmp1_, "") == 0) {
918 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
919                 if ((&_vala_err_out) != NULL) {
920 #line 919 "moonshot-id.c"
921                         gchar* _tmp2_ = NULL;
922 #line 169 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
923                         _tmp2_ = g_strdup ("Trust anchor does not have a ca_certificate");
924 #line 169 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
925                         _g_free0 (_vala_err_out);
926 #line 169 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
927                         _vala_err_out = _tmp2_;
928 #line 170 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
929                         result = NULL;
930 #line 170 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
931                         if (err_out) {
932 #line 170 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
933                                 *err_out = _vala_err_out;
934 #line 933 "moonshot-id.c"
935                         } else {
936 #line 170 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
937                                 _g_free0 (_vala_err_out);
938 #line 937 "moonshot-id.c"
939                         }
940 #line 170 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
941                         return result;
942 #line 941 "moonshot-id.c"
943                 }
944         }
945 #line 174 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
946         _tmp3_ = trust_anchor_get_ca_cert (self);
947 #line 174 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
948         _tmp4_ = _tmp3_;
949 #line 174 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
950         _tmp5_ = g_strdup (_tmp4_);
951 #line 174 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
952         cert = _tmp5_;
953 #line 175 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
954         _tmp6_ = cert;
955 #line 175 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
956         _tmp7_ = string_chomp (_tmp6_);
957 #line 175 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
958         _tmp8_ = _tmp7_;
959 #line 175 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
960         _g_free0 (_tmp8_);
961 #line 177 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
962         _tmp9_ = cert;
963 #line 177 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
964         _tmp11_ = g_base64_decode (_tmp9_, &_tmp10_);
965 #line 177 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
966         binary = _tmp11_;
967 #line 177 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
968         binary_length1 = _tmp10_;
969 #line 177 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
970         _binary_size_ = binary_length1;
971 #line 178 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
972         _tmp12_ = id_card_logger;
973 #line 178 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
974         _tmp13_ = cert;
975 #line 178 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
976         _tmp14_ = strlen (_tmp13_);
977 #line 178 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
978         _tmp15_ = _tmp14_;
979 #line 178 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
980         _tmp16_ = binary;
981 #line 178 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
982         _tmp16__length1 = binary_length1;
983 #line 178 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
984         _tmp17_ = g_strdup_printf ("get_expiration_date: encoded length=%d; decoded length=%d", _tmp15_, _tmp16__length1);
985 #line 178 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
986         _tmp18_ = _tmp17_;
987 #line 178 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
988         moonshot_logger_trace (_tmp12_, _tmp18_, NULL);
989 #line 178 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
990         _g_free0 (_tmp18_);
991 #line 181 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
992         _tmp19_ = binary;
993 #line 181 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
994         _tmp19__length1 = binary_length1;
995 #line 181 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
996         _tmp20_ = binary;
997 #line 181 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
998         _tmp20__length1 = binary_length1;
999 #line 181 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1000         _tmp21_ = get_cert_valid_before (_tmp19_, _tmp20__length1, buf, 64);
1001 #line 181 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1002         _tmp22_ = g_strdup ((const gchar*) _tmp21_);
1003 #line 181 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1004         err = _tmp22_;
1005 #line 182 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1006         _tmp23_ = err;
1007 #line 182 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1008         if (g_strcmp0 (_tmp23_, "") != 0) {
1009 #line 1008 "moonshot-id.c"
1010                 MoonshotLogger* _tmp24_ = NULL;
1011                 const gchar* _tmp25_ = NULL;
1012                 const gchar* _tmp26_ = NULL;
1013                 gchar* _tmp27_ = NULL;
1014                 gchar* _tmp28_ = NULL;
1015 #line 183 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1016                 _tmp24_ = id_card_logger;
1017 #line 183 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1018                 _tmp25_ = err;
1019 #line 183 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1020                 _tmp26_ = string_to_string (_tmp25_);
1021 #line 183 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1022                 _tmp27_ = g_strconcat ("get_expiration_date: get_cert_valid_before returned '", _tmp26_, "'", NULL);
1023 #line 183 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1024                 _tmp28_ = _tmp27_;
1025 #line 183 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1026                 moonshot_logger_error (_tmp24_, _tmp28_, NULL);
1027 #line 183 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1028                 _g_free0 (_tmp28_);
1029 #line 184 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1030                 if ((&_vala_err_out) != NULL) {
1031 #line 1030 "moonshot-id.c"
1032                         const gchar* _tmp29_ = NULL;
1033                         gchar* _tmp30_ = NULL;
1034 #line 185 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1035                         _tmp29_ = err;
1036 #line 185 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1037                         _tmp30_ = g_strdup (_tmp29_);
1038 #line 185 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1039                         _g_free0 (_vala_err_out);
1040 #line 185 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1041                         _vala_err_out = _tmp30_;
1042 #line 1041 "moonshot-id.c"
1043                 }
1044 #line 187 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1045                 result = NULL;
1046 #line 187 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1047                 _g_free0 (err);
1048 #line 187 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1049                 binary = (g_free (binary), NULL);
1050 #line 187 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1051                 _g_free0 (cert);
1052 #line 187 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1053                 if (err_out) {
1054 #line 187 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1055                         *err_out = _vala_err_out;
1056 #line 1055 "moonshot-id.c"
1057                 } else {
1058 #line 187 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1059                         _g_free0 (_vala_err_out);
1060 #line 1059 "moonshot-id.c"
1061                 }
1062 #line 187 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1063                 return result;
1064 #line 1063 "moonshot-id.c"
1065         }
1066 #line 190 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1067         _tmp31_ = g_strdup ((const gchar*) buf);
1068 #line 190 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1069         date = _tmp31_;
1070 #line 191 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1071         _tmp32_ = id_card_logger;
1072 #line 191 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1073         _tmp33_ = date;
1074 #line 191 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1075         _tmp34_ = string_to_string (_tmp33_);
1076 #line 191 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1077         _tmp35_ = g_strconcat ("get_expiration_date: get_cert_valid_before returned '", _tmp34_, "'", NULL);
1078 #line 191 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1079         _tmp36_ = _tmp35_;
1080 #line 191 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1081         moonshot_logger_trace (_tmp32_, _tmp36_, NULL);
1082 #line 191 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1083         _g_free0 (_tmp36_);
1084 #line 193 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1085         result = date;
1086 #line 193 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1087         _g_free0 (err);
1088 #line 193 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1089         binary = (g_free (binary), NULL);
1090 #line 193 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1091         _g_free0 (cert);
1092 #line 193 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1093         if (err_out) {
1094 #line 193 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1095                 *err_out = _vala_err_out;
1096 #line 1095 "moonshot-id.c"
1097         } else {
1098 #line 193 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1099                 _g_free0 (_vala_err_out);
1100 #line 1099 "moonshot-id.c"
1101         }
1102 #line 193 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1103         return result;
1104 #line 1103 "moonshot-id.c"
1105 }
1106
1107
1108 const gchar* trust_anchor_get_ca_cert (TrustAnchor* self) {
1109         const gchar* result;
1110         const gchar* _tmp0_ = NULL;
1111 #line 82 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1112         g_return_val_if_fail (self != NULL, NULL);
1113 #line 83 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1114         _tmp0_ = self->priv->_ca_cert;
1115 #line 83 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1116         result = _tmp0_;
1117 #line 83 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1118         return result;
1119 #line 1118 "moonshot-id.c"
1120 }
1121
1122
1123 const gchar* trust_anchor_get_subject (TrustAnchor* self) {
1124         const gchar* result;
1125         const gchar* _tmp0_ = NULL;
1126 #line 88 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1127         g_return_val_if_fail (self != NULL, NULL);
1128 #line 89 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1129         _tmp0_ = self->priv->_subject;
1130 #line 89 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1131         result = _tmp0_;
1132 #line 89 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1133         return result;
1134 #line 1133 "moonshot-id.c"
1135 }
1136
1137
1138 const gchar* trust_anchor_get_subject_alt (TrustAnchor* self) {
1139         const gchar* result;
1140         const gchar* _tmp0_ = NULL;
1141 #line 94 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1142         g_return_val_if_fail (self != NULL, NULL);
1143 #line 95 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1144         _tmp0_ = self->priv->_subject_alt;
1145 #line 95 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1146         result = _tmp0_;
1147 #line 95 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1148         return result;
1149 #line 1148 "moonshot-id.c"
1150 }
1151
1152
1153 const gchar* trust_anchor_get_server_cert (TrustAnchor* self) {
1154         const gchar* result;
1155         const gchar* _tmp0_ = NULL;
1156 #line 101 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1157         g_return_val_if_fail (self != NULL, NULL);
1158 #line 102 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1159         _tmp0_ = self->priv->_server_cert;
1160 #line 102 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1161         result = _tmp0_;
1162 #line 102 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1163         return result;
1164 #line 1163 "moonshot-id.c"
1165 }
1166
1167
1168 const gchar* trust_anchor_get_datetime_added (TrustAnchor* self) {
1169         const gchar* result;
1170         const gchar* _tmp0_ = NULL;
1171 #line 107 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1172         g_return_val_if_fail (self != NULL, NULL);
1173 #line 108 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1174         _tmp0_ = self->priv->_datetime_added;
1175 #line 108 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1176         result = _tmp0_;
1177 #line 108 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1178         return result;
1179 #line 1178 "moonshot-id.c"
1180 }
1181
1182
1183 static void trust_anchor_class_init (TrustAnchorClass * klass) {
1184 #line 40 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1185         trust_anchor_parent_class = g_type_class_peek_parent (klass);
1186 #line 40 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1187         g_type_class_add_private (klass, sizeof (TrustAnchorPrivate));
1188 #line 40 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1189         G_OBJECT_CLASS (klass)->get_property = _vala_trust_anchor_get_property;
1190 #line 40 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1191         G_OBJECT_CLASS (klass)->finalize = trust_anchor_finalize;
1192 #line 40 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1193         g_object_class_install_property (G_OBJECT_CLASS (klass), TRUST_ANCHOR_CA_CERT, g_param_spec_string ("ca-cert", "ca-cert", "ca-cert", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
1194 #line 40 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1195         g_object_class_install_property (G_OBJECT_CLASS (klass), TRUST_ANCHOR_SUBJECT, g_param_spec_string ("subject", "subject", "subject", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
1196 #line 40 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1197         g_object_class_install_property (G_OBJECT_CLASS (klass), TRUST_ANCHOR_SUBJECT_ALT, g_param_spec_string ("subject-alt", "subject-alt", "subject-alt", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
1198 #line 40 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1199         g_object_class_install_property (G_OBJECT_CLASS (klass), TRUST_ANCHOR_SERVER_CERT, g_param_spec_string ("server-cert", "server-cert", "server-cert", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
1200 #line 40 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1201         g_object_class_install_property (G_OBJECT_CLASS (klass), TRUST_ANCHOR_DATETIME_ADDED, g_param_spec_string ("datetime-added", "datetime-added", "datetime-added", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
1202 #line 1201 "moonshot-id.c"
1203 }
1204
1205
1206 static void trust_anchor_instance_init (TrustAnchor * self) {
1207         gchar* _tmp0_ = NULL;
1208         gchar* _tmp1_ = NULL;
1209         gchar* _tmp2_ = NULL;
1210         gchar* _tmp3_ = NULL;
1211         gchar* _tmp4_ = NULL;
1212 #line 40 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1213         self->priv = TRUST_ANCHOR_GET_PRIVATE (self);
1214 #line 51 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1215         _tmp0_ = g_strdup ("");
1216 #line 51 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1217         self->priv->_ca_cert = _tmp0_;
1218 #line 52 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1219         _tmp1_ = g_strdup ("");
1220 #line 52 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1221         self->priv->_subject = _tmp1_;
1222 #line 53 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1223         _tmp2_ = g_strdup ("");
1224 #line 53 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1225         self->priv->_subject_alt = _tmp2_;
1226 #line 54 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1227         _tmp3_ = g_strdup ("");
1228 #line 54 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1229         self->priv->_server_cert = _tmp3_;
1230 #line 55 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1231         _tmp4_ = g_strdup ("");
1232 #line 55 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1233         self->priv->_datetime_added = _tmp4_;
1234 #line 1233 "moonshot-id.c"
1235 }
1236
1237
1238 static void trust_anchor_finalize (GObject* obj) {
1239         TrustAnchor * self;
1240 #line 40 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1241         self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_TRUST_ANCHOR, TrustAnchor);
1242 #line 51 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1243         _g_free0 (self->priv->_ca_cert);
1244 #line 52 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1245         _g_free0 (self->priv->_subject);
1246 #line 53 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1247         _g_free0 (self->priv->_subject_alt);
1248 #line 54 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1249         _g_free0 (self->priv->_server_cert);
1250 #line 55 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1251         _g_free0 (self->priv->_datetime_added);
1252 #line 40 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1253         G_OBJECT_CLASS (trust_anchor_parent_class)->finalize (obj);
1254 #line 1253 "moonshot-id.c"
1255 }
1256
1257
1258 GType trust_anchor_get_type (void) {
1259         static volatile gsize trust_anchor_type_id__volatile = 0;
1260         if (g_once_init_enter (&trust_anchor_type_id__volatile)) {
1261                 static const GTypeInfo g_define_type_info = { sizeof (TrustAnchorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) trust_anchor_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TrustAnchor), 0, (GInstanceInitFunc) trust_anchor_instance_init, NULL };
1262                 GType trust_anchor_type_id;
1263                 trust_anchor_type_id = g_type_register_static (G_TYPE_OBJECT, "TrustAnchor", &g_define_type_info, 0);
1264                 g_once_init_leave (&trust_anchor_type_id__volatile, trust_anchor_type_id);
1265         }
1266         return trust_anchor_type_id__volatile;
1267 }
1268
1269
1270 static void _vala_trust_anchor_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
1271         TrustAnchor * self;
1272         self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_TRUST_ANCHOR, TrustAnchor);
1273 #line 40 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1274         switch (property_id) {
1275 #line 40 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1276                 case TRUST_ANCHOR_CA_CERT:
1277 #line 40 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1278                 g_value_set_string (value, trust_anchor_get_ca_cert (self));
1279 #line 40 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1280                 break;
1281 #line 40 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1282                 case TRUST_ANCHOR_SUBJECT:
1283 #line 40 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1284                 g_value_set_string (value, trust_anchor_get_subject (self));
1285 #line 40 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1286                 break;
1287 #line 40 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1288                 case TRUST_ANCHOR_SUBJECT_ALT:
1289 #line 40 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1290                 g_value_set_string (value, trust_anchor_get_subject_alt (self));
1291 #line 40 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1292                 break;
1293 #line 40 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1294                 case TRUST_ANCHOR_SERVER_CERT:
1295 #line 40 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1296                 g_value_set_string (value, trust_anchor_get_server_cert (self));
1297 #line 40 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1298                 break;
1299 #line 40 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1300                 case TRUST_ANCHOR_DATETIME_ADDED:
1301 #line 40 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1302                 g_value_set_string (value, trust_anchor_get_datetime_added (self));
1303 #line 40 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1304                 break;
1305 #line 1304 "moonshot-id.c"
1306                 default:
1307 #line 40 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1308                 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
1309 #line 40 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1310                 break;
1311 #line 1310 "moonshot-id.c"
1312         }
1313 }
1314
1315
1316 gint rule_Compare (Rule *self, Rule* other) {
1317         gint result = 0;
1318         const gchar* _tmp0_ = NULL;
1319         Rule _tmp1_ = {0};
1320         const gchar* _tmp2_ = NULL;
1321         const gchar* _tmp3_ = NULL;
1322         Rule _tmp4_ = {0};
1323         const gchar* _tmp5_ = NULL;
1324 #line 202 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1325         g_return_val_if_fail (other != NULL, 0);
1326 #line 203 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1327         _tmp0_ = (*self).pattern;
1328 #line 203 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1329         _tmp1_ = *other;
1330 #line 203 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1331         _tmp2_ = _tmp1_.pattern;
1332 #line 203 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1333         if (g_strcmp0 (_tmp0_, _tmp2_) != 0) {
1334 #line 204 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1335                 result = 1;
1336 #line 204 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1337                 return result;
1338 #line 1337 "moonshot-id.c"
1339         }
1340 #line 205 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1341         _tmp3_ = (*self).always_confirm;
1342 #line 205 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1343         _tmp4_ = *other;
1344 #line 205 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1345         _tmp5_ = _tmp4_.always_confirm;
1346 #line 205 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1347         if (g_strcmp0 (_tmp3_, _tmp5_) != 0) {
1348 #line 206 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1349                 result = 1;
1350 #line 206 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1351                 return result;
1352 #line 1351 "moonshot-id.c"
1353         }
1354 #line 207 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1355         result = 0;
1356 #line 207 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1357         return result;
1358 #line 1357 "moonshot-id.c"
1359 }
1360
1361
1362 void rule_copy (const Rule* self, Rule* dest) {
1363         const gchar* _tmp0_ = NULL;
1364         gchar* _tmp1_ = NULL;
1365         const gchar* _tmp2_ = NULL;
1366         gchar* _tmp3_ = NULL;
1367 #line 198 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1368         _tmp0_ = (*self).pattern;
1369 #line 198 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1370         _tmp1_ = g_strdup (_tmp0_);
1371 #line 198 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1372         _g_free0 ((*dest).pattern);
1373 #line 198 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1374         (*dest).pattern = _tmp1_;
1375 #line 198 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1376         _tmp2_ = (*self).always_confirm;
1377 #line 198 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1378         _tmp3_ = g_strdup (_tmp2_);
1379 #line 198 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1380         _g_free0 ((*dest).always_confirm);
1381 #line 198 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1382         (*dest).always_confirm = _tmp3_;
1383 #line 1382 "moonshot-id.c"
1384 }
1385
1386
1387 void rule_destroy (Rule* self) {
1388 #line 200 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1389         _g_free0 ((*self).pattern);
1390 #line 201 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1391         _g_free0 ((*self).always_confirm);
1392 #line 1391 "moonshot-id.c"
1393 }
1394
1395
1396 Rule* rule_dup (const Rule* self) {
1397         Rule* dup;
1398 #line 198 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1399         dup = g_new0 (Rule, 1);
1400 #line 198 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1401         rule_copy (self, dup);
1402 #line 198 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1403         return dup;
1404 #line 1403 "moonshot-id.c"
1405 }
1406
1407
1408 void rule_free (Rule* self) {
1409 #line 198 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1410         rule_destroy (self);
1411 #line 198 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1412         g_free (self);
1413 #line 1412 "moonshot-id.c"
1414 }
1415
1416
1417 GType rule_get_type (void) {
1418         static volatile gsize rule_type_id__volatile = 0;
1419         if (g_once_init_enter (&rule_type_id__volatile)) {
1420                 GType rule_type_id;
1421                 rule_type_id = g_boxed_type_register_static ("Rule", (GBoxedCopyFunc) rule_dup, (GBoxedFreeFunc) rule_free);
1422                 g_once_init_leave (&rule_type_id__volatile, rule_type_id);
1423         }
1424         return rule_type_id__volatile;
1425 }
1426
1427
1428 GType id_card_diff_flags_get_type (void) {
1429         static volatile gsize id_card_diff_flags_type_id__volatile = 0;
1430         if (g_once_init_enter (&id_card_diff_flags_type_id__volatile)) {
1431                 static const GEnumValue values[] = {{ID_CARD_DIFF_FLAGS_DISPLAY_NAME, "ID_CARD_DIFF_FLAGS_DISPLAY_NAME", "display-name"}, {ID_CARD_DIFF_FLAGS_USERNAME, "ID_CARD_DIFF_FLAGS_USERNAME", "username"}, {ID_CARD_DIFF_FLAGS_PASSWORD, "ID_CARD_DIFF_FLAGS_PASSWORD", "password"}, {ID_CARD_DIFF_FLAGS_ISSUER, "ID_CARD_DIFF_FLAGS_ISSUER", "issuer"}, {ID_CARD_DIFF_FLAGS_RULES, "ID_CARD_DIFF_FLAGS_RULES", "rules"}, {ID_CARD_DIFF_FLAGS_SERVICES, "ID_CARD_DIFF_FLAGS_SERVICES", "services"}, {ID_CARD_DIFF_FLAGS_TRUST_ANCHOR, "ID_CARD_DIFF_FLAGS_TRUST_ANCHOR", "trust-anchor"}, {0, NULL, NULL}};
1432                 GType id_card_diff_flags_type_id;
1433                 id_card_diff_flags_type_id = g_enum_register_static ("IdCardDiffFlags", values);
1434                 g_once_init_leave (&id_card_diff_flags_type_id__volatile, id_card_diff_flags_type_id);
1435         }
1436         return id_card_diff_flags_type_id__volatile;
1437 }
1438
1439
1440 static void _vala_Rule_array_free (Rule* array, gint array_length) {
1441 #line 265 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1442         if (array != NULL) {
1443 #line 1442 "moonshot-id.c"
1444                 int i;
1445 #line 265 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1446                 for (i = 0; i < array_length; i = i + 1) {
1447 #line 265 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1448                         rule_destroy (&array[i]);
1449 #line 1448 "moonshot-id.c"
1450                 }
1451         }
1452 #line 265 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1453         g_free (array);
1454 #line 1453 "moonshot-id.c"
1455 }
1456
1457
1458 static void id_card_update_nai (IdCard* self) {
1459         const gchar* _tmp0_ = NULL;
1460         const gchar* _tmp1_ = NULL;
1461         gchar* _tmp2_ = NULL;
1462         gchar* _tmp3_ = NULL;
1463         const gchar* _tmp4_ = NULL;
1464         const gchar* _tmp5_ = NULL;
1465         gchar* _tmp6_ = NULL;
1466 #line 242 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1467         g_return_if_fail (self != NULL);
1468 #line 243 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1469         _tmp0_ = id_card_get_username (self);
1470 #line 243 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1471         _tmp1_ = _tmp0_;
1472 #line 243 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1473         _tmp2_ = g_strconcat (_tmp1_, "@", NULL);
1474 #line 243 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1475         _tmp3_ = _tmp2_;
1476 #line 243 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1477         _tmp4_ = id_card_get_issuer (self);
1478 #line 243 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1479         _tmp5_ = _tmp4_;
1480 #line 243 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1481         _tmp6_ = g_strconcat (_tmp3_, _tmp5_, NULL);
1482 #line 243 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1483         _g_free0 (self->priv->_nai);
1484 #line 243 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1485         self->priv->_nai = _tmp6_;
1486 #line 243 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1487         _g_free0 (_tmp3_);
1488 #line 1487 "moonshot-id.c"
1489 }
1490
1491
1492 static gchar* _vala_g_strjoinv (const gchar* separator, gchar** str_array, int str_array_length1) {
1493         gchar* result = NULL;
1494         const gchar* _tmp0_ = NULL;
1495         gboolean _tmp1_ = FALSE;
1496         gboolean _tmp2_ = FALSE;
1497         gchar** _tmp3_ = NULL;
1498         gint _tmp3__length1 = 0;
1499 #line 1062 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1500         _tmp0_ = separator;
1501 #line 1062 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1502         if (_tmp0_ == NULL) {
1503 #line 1063 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1504                 separator = "";
1505 #line 1504 "moonshot-id.c"
1506         }
1507 #line 1065 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1508         _tmp3_ = str_array;
1509 #line 1065 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1510         _tmp3__length1 = str_array_length1;
1511 #line 1065 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1512         if (_tmp3_ != NULL) {
1513 #line 1065 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1514                 _tmp2_ = TRUE;
1515 #line 1514 "moonshot-id.c"
1516         } else {
1517                 gchar** _tmp4_ = NULL;
1518                 gint _tmp4__length1 = 0;
1519 #line 1065 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1520                 _tmp4_ = str_array;
1521 #line 1065 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1522                 _tmp4__length1 = str_array_length1;
1523 #line 1065 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1524                 _tmp2_ = _tmp4__length1 > 0;
1525 #line 1524 "moonshot-id.c"
1526         }
1527 #line 1065 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1528         if (_tmp2_) {
1529 #line 1065 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1530                 _tmp1_ = TRUE;
1531 #line 1530 "moonshot-id.c"
1532         } else {
1533                 gboolean _tmp5_ = FALSE;
1534                 gchar** _tmp6_ = NULL;
1535                 gint _tmp6__length1 = 0;
1536 #line 1065 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1537                 _tmp6_ = str_array;
1538 #line 1065 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1539                 _tmp6__length1 = str_array_length1;
1540 #line 1065 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1541                 if (_tmp6__length1 == -1) {
1542 #line 1541 "moonshot-id.c"
1543                         gchar** _tmp7_ = NULL;
1544                         gint _tmp7__length1 = 0;
1545                         const gchar* _tmp8_ = NULL;
1546 #line 1065 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1547                         _tmp7_ = str_array;
1548 #line 1065 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1549                         _tmp7__length1 = str_array_length1;
1550 #line 1065 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1551                         _tmp8_ = _tmp7_[0];
1552 #line 1065 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1553                         _tmp5_ = _tmp8_ != NULL;
1554 #line 1553 "moonshot-id.c"
1555                 } else {
1556 #line 1065 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1557                         _tmp5_ = FALSE;
1558 #line 1557 "moonshot-id.c"
1559                 }
1560 #line 1065 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1561                 _tmp1_ = _tmp5_;
1562 #line 1561 "moonshot-id.c"
1563         }
1564 #line 1065 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1565         if (_tmp1_) {
1566 #line 1565 "moonshot-id.c"
1567                 gint i = 0;
1568                 gsize len = 0UL;
1569                 gint _tmp31_ = 0;
1570                 gint _tmp33_ = 0;
1571                 gint _tmp34_ = 0;
1572                 gsize _tmp35_ = 0UL;
1573                 const gchar* _tmp36_ = NULL;
1574                 gint _tmp37_ = 0;
1575                 gint _tmp38_ = 0;
1576                 gint _tmp39_ = 0;
1577                 const gchar* res = NULL;
1578                 gsize _tmp40_ = 0UL;
1579                 void* _tmp41_ = NULL;
1580                 void* ptr = NULL;
1581                 const gchar* _tmp42_ = NULL;
1582                 gchar** _tmp43_ = NULL;
1583                 gint _tmp43__length1 = 0;
1584                 const gchar* _tmp44_ = NULL;
1585                 void* _tmp45_ = NULL;
1586                 const gchar* _tmp62_ = NULL;
1587 #line 1067 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1588                 len = (gsize) 1;
1589 #line 1588 "moonshot-id.c"
1590                 {
1591                         gboolean _tmp9_ = FALSE;
1592 #line 1068 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1593                         i = 0;
1594 #line 1068 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1595                         _tmp9_ = TRUE;
1596 #line 1068 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1597                         while (TRUE) {
1598 #line 1597 "moonshot-id.c"
1599                                 gboolean _tmp11_ = FALSE;
1600                                 gboolean _tmp12_ = FALSE;
1601                                 gchar** _tmp13_ = NULL;
1602                                 gint _tmp13__length1 = 0;
1603                                 gint _tmp21_ = 0;
1604                                 gchar** _tmp22_ = NULL;
1605                                 gint _tmp22__length1 = 0;
1606                                 gint _tmp23_ = 0;
1607                                 const gchar* _tmp24_ = NULL;
1608                                 gsize _tmp30_ = 0UL;
1609 #line 1068 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1610                                 if (!_tmp9_) {
1611 #line 1610 "moonshot-id.c"
1612                                         gint _tmp10_ = 0;
1613 #line 1068 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1614                                         _tmp10_ = i;
1615 #line 1068 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1616                                         i = _tmp10_ + 1;
1617 #line 1616 "moonshot-id.c"
1618                                 }
1619 #line 1068 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1620                                 _tmp9_ = FALSE;
1621 #line 1068 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1622                                 _tmp13_ = str_array;
1623 #line 1068 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1624                                 _tmp13__length1 = str_array_length1;
1625 #line 1068 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1626                                 if (_tmp13__length1 != -1) {
1627 #line 1626 "moonshot-id.c"
1628                                         gint _tmp14_ = 0;
1629                                         gchar** _tmp15_ = NULL;
1630                                         gint _tmp15__length1 = 0;
1631 #line 1068 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1632                                         _tmp14_ = i;
1633 #line 1068 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1634                                         _tmp15_ = str_array;
1635 #line 1068 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1636                                         _tmp15__length1 = str_array_length1;
1637 #line 1068 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1638                                         _tmp12_ = _tmp14_ < _tmp15__length1;
1639 #line 1638 "moonshot-id.c"
1640                                 } else {
1641 #line 1068 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1642                                         _tmp12_ = FALSE;
1643 #line 1642 "moonshot-id.c"
1644                                 }
1645 #line 1068 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1646                                 if (_tmp12_) {
1647 #line 1068 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1648                                         _tmp11_ = TRUE;
1649 #line 1648 "moonshot-id.c"
1650                                 } else {
1651                                         gboolean _tmp16_ = FALSE;
1652                                         gchar** _tmp17_ = NULL;
1653                                         gint _tmp17__length1 = 0;
1654 #line 1068 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1655                                         _tmp17_ = str_array;
1656 #line 1068 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1657                                         _tmp17__length1 = str_array_length1;
1658 #line 1068 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1659                                         if (_tmp17__length1 == -1) {
1660 #line 1659 "moonshot-id.c"
1661                                                 gchar** _tmp18_ = NULL;
1662                                                 gint _tmp18__length1 = 0;
1663                                                 gint _tmp19_ = 0;
1664                                                 const gchar* _tmp20_ = NULL;
1665 #line 1068 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1666                                                 _tmp18_ = str_array;
1667 #line 1068 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1668                                                 _tmp18__length1 = str_array_length1;
1669 #line 1068 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1670                                                 _tmp19_ = i;
1671 #line 1068 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1672                                                 _tmp20_ = _tmp18_[_tmp19_];
1673 #line 1068 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1674                                                 _tmp16_ = _tmp20_ != NULL;
1675 #line 1674 "moonshot-id.c"
1676                                         } else {
1677 #line 1068 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1678                                                 _tmp16_ = FALSE;
1679 #line 1678 "moonshot-id.c"
1680                                         }
1681 #line 1068 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1682                                         _tmp11_ = _tmp16_;
1683 #line 1682 "moonshot-id.c"
1684                                 }
1685 #line 1068 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1686                                 if (!_tmp11_) {
1687 #line 1068 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1688                                         break;
1689 #line 1688 "moonshot-id.c"
1690                                 }
1691 #line 1069 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1692                                 _tmp22_ = str_array;
1693 #line 1069 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1694                                 _tmp22__length1 = str_array_length1;
1695 #line 1069 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1696                                 _tmp23_ = i;
1697 #line 1069 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1698                                 _tmp24_ = _tmp22_[_tmp23_];
1699 #line 1069 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1700                                 if (_tmp24_ != NULL) {
1701 #line 1700 "moonshot-id.c"
1702                                         gchar** _tmp25_ = NULL;
1703                                         gint _tmp25__length1 = 0;
1704                                         gint _tmp26_ = 0;
1705                                         const gchar* _tmp27_ = NULL;
1706                                         gint _tmp28_ = 0;
1707                                         gint _tmp29_ = 0;
1708 #line 1069 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1709                                         _tmp25_ = str_array;
1710 #line 1069 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1711                                         _tmp25__length1 = str_array_length1;
1712 #line 1069 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1713                                         _tmp26_ = i;
1714 #line 1069 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1715                                         _tmp27_ = _tmp25_[_tmp26_];
1716 #line 1069 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1717                                         _tmp28_ = strlen ((const gchar*) _tmp27_);
1718 #line 1069 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1719                                         _tmp29_ = _tmp28_;
1720 #line 1069 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1721                                         _tmp21_ = _tmp29_;
1722 #line 1721 "moonshot-id.c"
1723                                 } else {
1724 #line 1069 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1725                                         _tmp21_ = 0;
1726 #line 1725 "moonshot-id.c"
1727                                 }
1728 #line 1069 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1729                                 _tmp30_ = len;
1730 #line 1069 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1731                                 len = _tmp30_ + _tmp21_;
1732 #line 1731 "moonshot-id.c"
1733                         }
1734                 }
1735 #line 1071 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1736                 _tmp31_ = i;
1737 #line 1071 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1738                 if (_tmp31_ == 0) {
1739 #line 1738 "moonshot-id.c"
1740                         gchar* _tmp32_ = NULL;
1741 #line 1072 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1742                         _tmp32_ = g_strdup ("");
1743 #line 1072 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1744                         result = _tmp32_;
1745 #line 1072 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1746                         return result;
1747 #line 1746 "moonshot-id.c"
1748                 }
1749 #line 1074 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1750                 _tmp33_ = i;
1751 #line 1074 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1752                 str_array_length1 = _tmp33_;
1753 #line 1074 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1754                 _tmp34_ = str_array_length1;
1755 #line 1075 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1756                 _tmp35_ = len;
1757 #line 1075 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1758                 _tmp36_ = separator;
1759 #line 1075 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1760                 _tmp37_ = strlen ((const gchar*) _tmp36_);
1761 #line 1075 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1762                 _tmp38_ = _tmp37_;
1763 #line 1075 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1764                 _tmp39_ = i;
1765 #line 1075 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1766                 len = _tmp35_ + (_tmp38_ * (_tmp39_ - 1));
1767 #line 1077 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1768                 _tmp40_ = len;
1769 #line 1077 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1770                 _tmp41_ = g_malloc (_tmp40_);
1771 #line 1077 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1772                 res = _tmp41_;
1773 #line 1078 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1774                 _tmp42_ = res;
1775 #line 1078 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1776                 _tmp43_ = str_array;
1777 #line 1078 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1778                 _tmp43__length1 = str_array_length1;
1779 #line 1078 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1780                 _tmp44_ = _tmp43_[0];
1781 #line 1078 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1782                 _tmp45_ = g_stpcpy ((void*) _tmp42_, (const gchar*) _tmp44_);
1783 #line 1078 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1784                 ptr = _tmp45_;
1785 #line 1784 "moonshot-id.c"
1786                 {
1787                         gboolean _tmp46_ = FALSE;
1788 #line 1079 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1789                         i = 1;
1790 #line 1079 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1791                         _tmp46_ = TRUE;
1792 #line 1079 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1793                         while (TRUE) {
1794 #line 1793 "moonshot-id.c"
1795                                 gint _tmp48_ = 0;
1796                                 gchar** _tmp49_ = NULL;
1797                                 gint _tmp49__length1 = 0;
1798                                 void* _tmp50_ = NULL;
1799                                 const gchar* _tmp51_ = NULL;
1800                                 void* _tmp52_ = NULL;
1801                                 const gchar* _tmp53_ = NULL;
1802                                 gchar** _tmp54_ = NULL;
1803                                 gint _tmp54__length1 = 0;
1804                                 gint _tmp55_ = 0;
1805                                 const gchar* _tmp56_ = NULL;
1806                                 void* _tmp60_ = NULL;
1807                                 void* _tmp61_ = NULL;
1808 #line 1079 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1809                                 if (!_tmp46_) {
1810 #line 1809 "moonshot-id.c"
1811                                         gint _tmp47_ = 0;
1812 #line 1079 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1813                                         _tmp47_ = i;
1814 #line 1079 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1815                                         i = _tmp47_ + 1;
1816 #line 1815 "moonshot-id.c"
1817                                 }
1818 #line 1079 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1819                                 _tmp46_ = FALSE;
1820 #line 1079 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1821                                 _tmp48_ = i;
1822 #line 1079 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1823                                 _tmp49_ = str_array;
1824 #line 1079 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1825                                 _tmp49__length1 = str_array_length1;
1826 #line 1079 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1827                                 if (!(_tmp48_ < _tmp49__length1)) {
1828 #line 1079 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1829                                         break;
1830 #line 1829 "moonshot-id.c"
1831                                 }
1832 #line 1080 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1833                                 _tmp50_ = ptr;
1834 #line 1080 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1835                                 _tmp51_ = separator;
1836 #line 1080 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1837                                 _tmp52_ = g_stpcpy (_tmp50_, (const gchar*) _tmp51_);
1838 #line 1080 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1839                                 ptr = _tmp52_;
1840 #line 1081 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1841                                 _tmp54_ = str_array;
1842 #line 1081 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1843                                 _tmp54__length1 = str_array_length1;
1844 #line 1081 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1845                                 _tmp55_ = i;
1846 #line 1081 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1847                                 _tmp56_ = _tmp54_[_tmp55_];
1848 #line 1081 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1849                                 if (_tmp56_ != NULL) {
1850 #line 1849 "moonshot-id.c"
1851                                         gchar** _tmp57_ = NULL;
1852                                         gint _tmp57__length1 = 0;
1853                                         gint _tmp58_ = 0;
1854                                         const gchar* _tmp59_ = NULL;
1855 #line 1081 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1856                                         _tmp57_ = str_array;
1857 #line 1081 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1858                                         _tmp57__length1 = str_array_length1;
1859 #line 1081 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1860                                         _tmp58_ = i;
1861 #line 1081 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1862                                         _tmp59_ = _tmp57_[_tmp58_];
1863 #line 1081 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1864                                         _tmp53_ = (const gchar*) _tmp59_;
1865 #line 1864 "moonshot-id.c"
1866                                 } else {
1867 #line 1081 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1868                                         _tmp53_ = "";
1869 #line 1868 "moonshot-id.c"
1870                                 }
1871 #line 1081 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1872                                 _tmp60_ = ptr;
1873 #line 1081 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1874                                 _tmp61_ = g_stpcpy (_tmp60_, _tmp53_);
1875 #line 1081 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1876                                 ptr = _tmp61_;
1877 #line 1876 "moonshot-id.c"
1878                         }
1879                 }
1880 #line 1084 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1881                 _tmp62_ = res;
1882 #line 1084 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1883                 res = NULL;
1884 #line 1084 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1885                 result = (gchar*) _tmp62_;
1886 #line 1084 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1887                 return result;
1888 #line 1887 "moonshot-id.c"
1889         } else {
1890                 gchar* _tmp63_ = NULL;
1891 #line 1086 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1892                 _tmp63_ = g_strdup ("");
1893 #line 1086 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1894                 result = _tmp63_;
1895 #line 1086 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
1896                 return result;
1897 #line 1896 "moonshot-id.c"
1898         }
1899 }
1900
1901
1902 gchar* id_card_get_services_string (IdCard* self, const gchar* sep) {
1903         gchar* result = NULL;
1904         GeeArrayList* _tmp0_ = NULL;
1905         gboolean _tmp1_ = FALSE;
1906         gboolean _tmp2_ = FALSE;
1907         gchar** svcs = NULL;
1908         GeeArrayList* _tmp4_ = NULL;
1909         gint _tmp5_ = 0;
1910         gint _tmp6_ = 0;
1911         gchar** _tmp7_ = NULL;
1912         gint svcs_length1 = 0;
1913         gint _svcs_size_ = 0;
1914         const gchar* _tmp20_ = NULL;
1915         gchar** _tmp21_ = NULL;
1916         gint _tmp21__length1 = 0;
1917         gchar* _tmp22_ = NULL;
1918 #line 278 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1919         g_return_val_if_fail (self != NULL, NULL);
1920 #line 278 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1921         g_return_val_if_fail (sep != NULL, NULL);
1922 #line 279 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1923         _tmp0_ = self->priv->_services;
1924 #line 279 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1925         _tmp1_ = gee_collection_get_is_empty ((GeeCollection*) _tmp0_);
1926 #line 279 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1927         _tmp2_ = _tmp1_;
1928 #line 279 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1929         if (_tmp2_) {
1930 #line 1929 "moonshot-id.c"
1931                 gchar* _tmp3_ = NULL;
1932 #line 280 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1933                 _tmp3_ = g_strdup ("");
1934 #line 280 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1935                 result = _tmp3_;
1936 #line 280 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1937                 return result;
1938 #line 1937 "moonshot-id.c"
1939         }
1940 #line 290 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1941         _tmp4_ = self->priv->_services;
1942 #line 290 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1943         _tmp5_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp4_);
1944 #line 290 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1945         _tmp6_ = _tmp5_;
1946 #line 290 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1947         _tmp7_ = g_new0 (gchar*, _tmp6_ + 1);
1948 #line 290 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1949         svcs = _tmp7_;
1950 #line 290 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1951         svcs_length1 = _tmp6_;
1952 #line 290 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1953         _svcs_size_ = svcs_length1;
1954 #line 1953 "moonshot-id.c"
1955         {
1956                 gint i = 0;
1957 #line 291 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1958                 i = 0;
1959 #line 1958 "moonshot-id.c"
1960                 {
1961                         gboolean _tmp8_ = FALSE;
1962 #line 291 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1963                         _tmp8_ = TRUE;
1964 #line 291 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1965                         while (TRUE) {
1966 #line 1965 "moonshot-id.c"
1967                                 gint _tmp10_ = 0;
1968                                 GeeArrayList* _tmp11_ = NULL;
1969                                 gint _tmp12_ = 0;
1970                                 gint _tmp13_ = 0;
1971                                 gchar** _tmp14_ = NULL;
1972                                 gint _tmp14__length1 = 0;
1973                                 gint _tmp15_ = 0;
1974                                 GeeArrayList* _tmp16_ = NULL;
1975                                 gint _tmp17_ = 0;
1976                                 gpointer _tmp18_ = NULL;
1977                                 gchar* _tmp19_ = NULL;
1978 #line 291 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1979                                 if (!_tmp8_) {
1980 #line 1979 "moonshot-id.c"
1981                                         gint _tmp9_ = 0;
1982 #line 291 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1983                                         _tmp9_ = i;
1984 #line 291 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1985                                         i = _tmp9_ + 1;
1986 #line 1985 "moonshot-id.c"
1987                                 }
1988 #line 291 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1989                                 _tmp8_ = FALSE;
1990 #line 291 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1991                                 _tmp10_ = i;
1992 #line 291 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1993                                 _tmp11_ = self->priv->_services;
1994 #line 291 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1995                                 _tmp12_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp11_);
1996 #line 291 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1997                                 _tmp13_ = _tmp12_;
1998 #line 291 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
1999                                 if (!(_tmp10_ < _tmp13_)) {
2000 #line 291 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2001                                         break;
2002 #line 2001 "moonshot-id.c"
2003                                 }
2004 #line 292 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2005                                 _tmp14_ = svcs;
2006 #line 292 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2007                                 _tmp14__length1 = svcs_length1;
2008 #line 292 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2009                                 _tmp15_ = i;
2010 #line 292 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2011                                 _tmp16_ = self->priv->_services;
2012 #line 292 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2013                                 _tmp17_ = i;
2014 #line 292 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2015                                 _tmp18_ = gee_abstract_list_get ((GeeAbstractList*) _tmp16_, _tmp17_);
2016 #line 292 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2017                                 _g_free0 (_tmp14_[_tmp15_]);
2018 #line 292 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2019                                 _tmp14_[_tmp15_] = (gchar*) _tmp18_;
2020 #line 292 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2021                                 _tmp19_ = _tmp14_[_tmp15_];
2022 #line 2021 "moonshot-id.c"
2023                         }
2024                 }
2025         }
2026 #line 295 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2027         _tmp20_ = sep;
2028 #line 295 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2029         _tmp21_ = svcs;
2030 #line 295 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2031         _tmp21__length1 = svcs_length1;
2032 #line 295 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2033         _tmp22_ = _vala_g_strjoinv (_tmp20_, _tmp21_, _tmp21__length1);
2034 #line 295 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2035         result = _tmp22_;
2036 #line 295 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2037         svcs = (_vala_array_free (svcs, svcs_length1, (GDestroyNotify) g_free), NULL);
2038 #line 295 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2039         return result;
2040 #line 2039 "moonshot-id.c"
2041 }
2042
2043
2044 void id_card_update_services (IdCard* self, gchar** services, int services_length1) {
2045         GeeArrayList* _tmp0_ = NULL;
2046         gchar** _tmp1_ = NULL;
2047         gint _tmp1__length1 = 0;
2048 #line 298 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2049         g_return_if_fail (self != NULL);
2050 #line 299 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2051         _tmp0_ = self->priv->_services;
2052 #line 299 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2053         gee_abstract_collection_clear ((GeeAbstractCollection*) _tmp0_);
2054 #line 304 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2055         _tmp1_ = services;
2056 #line 304 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2057         _tmp1__length1 = services_length1;
2058 #line 304 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2059         if (_tmp1_ != NULL) {
2060 #line 2059 "moonshot-id.c"
2061                 gchar** _tmp2_ = NULL;
2062                 gint _tmp2__length1 = 0;
2063 #line 305 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2064                 _tmp2_ = services;
2065 #line 305 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2066                 _tmp2__length1 = services_length1;
2067 #line 2066 "moonshot-id.c"
2068                 {
2069                         gchar** s_collection = NULL;
2070                         gint s_collection_length1 = 0;
2071                         gint _s_collection_size_ = 0;
2072                         gint s_it = 0;
2073 #line 305 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2074                         s_collection = _tmp2_;
2075 #line 305 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2076                         s_collection_length1 = _tmp2__length1;
2077 #line 305 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2078                         for (s_it = 0; s_it < _tmp2__length1; s_it = s_it + 1) {
2079 #line 2078 "moonshot-id.c"
2080                                 gchar* _tmp3_ = NULL;
2081                                 gchar* s = NULL;
2082 #line 305 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2083                                 _tmp3_ = g_strdup (s_collection[s_it]);
2084 #line 305 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2085                                 s = _tmp3_;
2086 #line 2085 "moonshot-id.c"
2087                                 {
2088                                         GeeArrayList* _tmp4_ = NULL;
2089                                         const gchar* _tmp5_ = NULL;
2090 #line 306 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2091                                         _tmp4_ = self->priv->_services;
2092 #line 306 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2093                                         _tmp5_ = s;
2094 #line 306 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2095                                         gee_abstract_collection_add ((GeeAbstractCollection*) _tmp4_, _tmp5_);
2096 #line 305 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2097                                         _g_free0 (s);
2098 #line 2097 "moonshot-id.c"
2099                                 }
2100                         }
2101                 }
2102         }
2103 }
2104
2105
2106 void id_card_update_services_from_list (IdCard* self, GeeArrayList* services) {
2107         GeeArrayList* _tmp0_ = NULL;
2108         GeeArrayList* _tmp1_ = NULL;
2109         GeeArrayList* _tmp2_ = NULL;
2110         GeeArrayList* _tmp3_ = NULL;
2111 #line 311 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2112         g_return_if_fail (self != NULL);
2113 #line 311 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2114         g_return_if_fail (services != NULL);
2115 #line 312 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2116         _tmp0_ = services;
2117 #line 312 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2118         _tmp1_ = self->priv->_services;
2119 #line 312 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2120         if (_tmp0_ == _tmp1_) {
2121 #line 314 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2122                 return;
2123 #line 2122 "moonshot-id.c"
2124         }
2125 #line 317 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2126         _tmp2_ = self->priv->_services;
2127 #line 317 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2128         gee_abstract_collection_clear ((GeeAbstractCollection*) _tmp2_);
2129 #line 319 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2130         _tmp3_ = services;
2131 #line 319 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2132         if (_tmp3_ != NULL) {
2133 #line 2132 "moonshot-id.c"
2134                 GeeArrayList* _tmp4_ = NULL;
2135                 GeeArrayList* _tmp5_ = NULL;
2136 #line 320 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2137                 _tmp4_ = self->priv->_services;
2138 #line 320 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2139                 _tmp5_ = services;
2140 #line 320 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2141                 gee_array_list_add_all (_tmp4_, (GeeCollection*) _tmp5_);
2142 #line 2141 "moonshot-id.c"
2143         }
2144 }
2145
2146
2147 static gpointer _g_object_ref0 (gpointer self) {
2148 #line 336 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2149         return self ? g_object_ref (self) : NULL;
2150 #line 2149 "moonshot-id.c"
2151 }
2152
2153
2154 void id_card_set_trust_anchor_from_store (IdCard* self, TrustAnchor* ta) {
2155         TrustAnchor* _tmp0_ = NULL;
2156         TrustAnchor* _tmp1_ = NULL;
2157 #line 335 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2158         g_return_if_fail (self != NULL);
2159 #line 335 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2160         g_return_if_fail (ta != NULL);
2161 #line 336 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2162         _tmp0_ = ta;
2163 #line 336 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2164         _tmp1_ = _g_object_ref0 (_tmp0_);
2165 #line 336 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2166         _g_object_unref0 (self->priv->_trust_anchor);
2167 #line 336 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2168         self->priv->_trust_anchor = _tmp1_;
2169 #line 2168 "moonshot-id.c"
2170 }
2171
2172
2173 void id_card_clear_trust_anchor (IdCard* self) {
2174         TrustAnchor* _tmp0_ = NULL;
2175 #line 339 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2176         g_return_if_fail (self != NULL);
2177 #line 340 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2178         _tmp0_ = trust_anchor_new_empty ();
2179 #line 340 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2180         _g_object_unref0 (self->priv->_trust_anchor);
2181 #line 340 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2182         self->priv->_trust_anchor = _tmp0_;
2183 #line 2182 "moonshot-id.c"
2184 }
2185
2186
2187 gchar* id_card_generate_uuid (void) {
2188         gchar* result = NULL;
2189         guint32 rand1 = 0U;
2190         guint32 _tmp0_ = 0U;
2191         guint32 rand2 = 0U;
2192         guint32 _tmp1_ = 0U;
2193         gchar* _tmp2_ = NULL;
2194         gchar* _tmp3_ = NULL;
2195         gchar* _tmp4_ = NULL;
2196         gchar* _tmp5_ = NULL;
2197 #line 354 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2198         _tmp0_ = g_random_int ();
2199 #line 354 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2200         rand1 = _tmp0_;
2201 #line 355 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2202         _tmp1_ = g_random_int ();
2203 #line 355 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2204         rand2 = _tmp1_;
2205 #line 356 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2206         _tmp2_ = trust_anchor_format_datetime_now ();
2207 #line 356 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2208         _tmp3_ = _tmp2_;
2209 #line 356 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2210         _tmp4_ = g_strdup_printf ("%08X.%08X::%s", (guint) rand1, (guint) rand2, _tmp3_);
2211 #line 356 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2212         _tmp5_ = _tmp4_;
2213 #line 356 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2214         _g_free0 (_tmp3_);
2215 #line 356 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2216         result = _tmp5_;
2217 #line 356 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2218         return result;
2219 #line 2218 "moonshot-id.c"
2220 }
2221
2222
2223 gboolean id_card_is_no_identity (IdCard* self) {
2224         gboolean result = FALSE;
2225         const gchar* _tmp0_ = NULL;
2226 #line 359 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2227         g_return_val_if_fail (self != NULL, FALSE);
2228 #line 361 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2229         _tmp0_ = self->priv->_display_name;
2230 #line 361 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2231         result = g_strcmp0 (_tmp0_, ID_CARD_NO_IDENTITY) == 0;
2232 #line 361 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2233         return result;
2234 #line 2233 "moonshot-id.c"
2235 }
2236
2237
2238 gint id_card_Compare (IdCard* self, IdCard* other) {
2239         gint result = 0;
2240         gint diff = 0;
2241         const gchar* _tmp0_ = NULL;
2242         IdCard* _tmp1_ = NULL;
2243         const gchar* _tmp2_ = NULL;
2244         const gchar* _tmp4_ = NULL;
2245         const gchar* _tmp5_ = NULL;
2246         IdCard* _tmp6_ = NULL;
2247         const gchar* _tmp7_ = NULL;
2248         const gchar* _tmp8_ = NULL;
2249         const gchar* _tmp10_ = NULL;
2250         const gchar* _tmp11_ = NULL;
2251         IdCard* _tmp12_ = NULL;
2252         const gchar* _tmp13_ = NULL;
2253         const gchar* _tmp14_ = NULL;
2254         const gchar* _tmp16_ = NULL;
2255         const gchar* _tmp17_ = NULL;
2256         IdCard* _tmp18_ = NULL;
2257         const gchar* _tmp19_ = NULL;
2258         const gchar* _tmp20_ = NULL;
2259         Rule* _tmp22_ = NULL;
2260         gint _tmp22__length1 = 0;
2261         Rule* _tmp23_ = NULL;
2262         gint _tmp23__length1 = 0;
2263         IdCard* _tmp24_ = NULL;
2264         Rule* _tmp25_ = NULL;
2265         gint _tmp25__length1 = 0;
2266         Rule* _tmp26_ = NULL;
2267         gint _tmp26__length1 = 0;
2268         gint _tmp27_ = 0;
2269         GeeArrayList* _tmp29_ = NULL;
2270         IdCard* _tmp30_ = NULL;
2271         GeeArrayList* _tmp31_ = NULL;
2272         gint _tmp32_ = 0;
2273         TrustAnchor* _tmp34_ = NULL;
2274         TrustAnchor* _tmp35_ = NULL;
2275         IdCard* _tmp36_ = NULL;
2276         TrustAnchor* _tmp37_ = NULL;
2277         TrustAnchor* _tmp38_ = NULL;
2278         gint _tmp39_ = 0;
2279         gboolean _tmp41_ = FALSE;
2280         const gchar* _tmp42_ = NULL;
2281         IdCard* _tmp43_ = NULL;
2282         const gchar* _tmp44_ = NULL;
2283 #line 374 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2284         g_return_val_if_fail (self != NULL, 0);
2285 #line 374 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2286         g_return_val_if_fail (other != NULL, 0);
2287 #line 376 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2288         diff = 0;
2289 #line 377 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2290         _tmp0_ = self->priv->_display_name;
2291 #line 377 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2292         _tmp1_ = other;
2293 #line 377 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2294         _tmp2_ = _tmp1_->priv->_display_name;
2295 #line 377 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2296         if (g_strcmp0 (_tmp0_, _tmp2_) != 0) {
2297 #line 2296 "moonshot-id.c"
2298                 gint _tmp3_ = 0;
2299 #line 378 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2300                 _tmp3_ = diff;
2301 #line 378 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2302                 diff = _tmp3_ | (1 << ID_CARD_DIFF_FLAGS_DISPLAY_NAME);
2303 #line 2302 "moonshot-id.c"
2304         }
2305 #line 380 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2306         _tmp4_ = id_card_get_username (self);
2307 #line 380 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2308         _tmp5_ = _tmp4_;
2309 #line 380 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2310         _tmp6_ = other;
2311 #line 380 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2312         _tmp7_ = id_card_get_username (_tmp6_);
2313 #line 380 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2314         _tmp8_ = _tmp7_;
2315 #line 380 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2316         if (g_strcmp0 (_tmp5_, _tmp8_) != 0) {
2317 #line 2316 "moonshot-id.c"
2318                 gint _tmp9_ = 0;
2319 #line 381 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2320                 _tmp9_ = diff;
2321 #line 381 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2322                 diff = _tmp9_ | (1 << ID_CARD_DIFF_FLAGS_USERNAME);
2323 #line 2322 "moonshot-id.c"
2324         }
2325 #line 383 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2326         _tmp10_ = id_card_get_password (self);
2327 #line 383 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2328         _tmp11_ = _tmp10_;
2329 #line 383 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2330         _tmp12_ = other;
2331 #line 383 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2332         _tmp13_ = id_card_get_password (_tmp12_);
2333 #line 383 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2334         _tmp14_ = _tmp13_;
2335 #line 383 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2336         if (g_strcmp0 (_tmp11_, _tmp14_) != 0) {
2337 #line 2336 "moonshot-id.c"
2338                 gint _tmp15_ = 0;
2339 #line 384 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2340                 _tmp15_ = diff;
2341 #line 384 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2342                 diff = _tmp15_ | (1 << ID_CARD_DIFF_FLAGS_PASSWORD);
2343 #line 2342 "moonshot-id.c"
2344         }
2345 #line 386 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2346         _tmp16_ = id_card_get_issuer (self);
2347 #line 386 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2348         _tmp17_ = _tmp16_;
2349 #line 386 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2350         _tmp18_ = other;
2351 #line 386 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2352         _tmp19_ = id_card_get_issuer (_tmp18_);
2353 #line 386 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2354         _tmp20_ = _tmp19_;
2355 #line 386 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2356         if (g_strcmp0 (_tmp17_, _tmp20_) != 0) {
2357 #line 2356 "moonshot-id.c"
2358                 gint _tmp21_ = 0;
2359 #line 387 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2360                 _tmp21_ = diff;
2361 #line 387 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2362                 diff = _tmp21_ | (1 << ID_CARD_DIFF_FLAGS_ISSUER);
2363 #line 2362 "moonshot-id.c"
2364         }
2365 #line 389 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2366         _tmp22_ = id_card_get_rules (self, &_tmp22__length1);
2367 #line 389 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2368         _tmp23_ = _tmp22_;
2369 #line 389 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2370         _tmp23__length1 = _tmp22__length1;
2371 #line 389 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2372         _tmp24_ = other;
2373 #line 389 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2374         _tmp25_ = id_card_get_rules (_tmp24_, &_tmp25__length1);
2375 #line 389 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2376         _tmp26_ = _tmp25_;
2377 #line 389 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2378         _tmp26__length1 = _tmp25__length1;
2379 #line 389 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2380         _tmp27_ = CompareRules (_tmp23_, _tmp23__length1, _tmp26_, _tmp26__length1);
2381 #line 389 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2382         if (_tmp27_ != 0) {
2383 #line 2382 "moonshot-id.c"
2384                 gint _tmp28_ = 0;
2385 #line 390 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2386                 _tmp28_ = diff;
2387 #line 390 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2388                 diff = _tmp28_ | (1 << ID_CARD_DIFF_FLAGS_RULES);
2389 #line 2388 "moonshot-id.c"
2390         }
2391 #line 392 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2392         _tmp29_ = self->priv->_services;
2393 #line 392 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2394         _tmp30_ = other;
2395 #line 392 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2396         _tmp31_ = _tmp30_->priv->_services;
2397 #line 392 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2398         _tmp32_ = CompareStringArrayList (_tmp29_, _tmp31_);
2399 #line 392 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2400         if (_tmp32_ != 0) {
2401 #line 2400 "moonshot-id.c"
2402                 gint _tmp33_ = 0;
2403 #line 393 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2404                 _tmp33_ = diff;
2405 #line 393 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2406                 diff = _tmp33_ | (1 << ID_CARD_DIFF_FLAGS_SERVICES);
2407 #line 2406 "moonshot-id.c"
2408         }
2409 #line 395 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2410         _tmp34_ = id_card_get_trust_anchor (self);
2411 #line 395 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2412         _tmp35_ = _tmp34_;
2413 #line 395 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2414         _tmp36_ = other;
2415 #line 395 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2416         _tmp37_ = id_card_get_trust_anchor (_tmp36_);
2417 #line 395 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2418         _tmp38_ = _tmp37_;
2419 #line 395 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2420         _tmp39_ = trust_anchor_Compare (_tmp35_, _tmp38_);
2421 #line 395 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2422         if (_tmp39_ != 0) {
2423 #line 2422 "moonshot-id.c"
2424                 gint _tmp40_ = 0;
2425 #line 396 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2426                 _tmp40_ = diff;
2427 #line 396 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2428                 diff = _tmp40_ | (1 << ID_CARD_DIFF_FLAGS_TRUST_ANCHOR);
2429 #line 2428 "moonshot-id.c"
2430         }
2431 #line 399 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2432         _tmp42_ = self->priv->_display_name;
2433 #line 399 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2434         _tmp43_ = other;
2435 #line 399 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2436         _tmp44_ = _tmp43_->priv->_display_name;
2437 #line 399 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2438         if (g_strcmp0 (_tmp42_, _tmp44_) == 0) {
2439 #line 2438 "moonshot-id.c"
2440                 gint _tmp45_ = 0;
2441 #line 399 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2442                 _tmp45_ = diff;
2443 #line 399 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2444                 _tmp41_ = _tmp45_ != 0;
2445 #line 2444 "moonshot-id.c"
2446         } else {
2447 #line 399 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2448                 _tmp41_ = FALSE;
2449 #line 2448 "moonshot-id.c"
2450         }
2451 #line 399 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2452         if (_tmp41_) {
2453 #line 2452 "moonshot-id.c"
2454                 MoonshotLogger* _tmp46_ = NULL;
2455                 const gchar* _tmp47_ = NULL;
2456                 gint _tmp48_ = 0;
2457                 gchar* _tmp49_ = NULL;
2458                 gchar* _tmp50_ = NULL;
2459 #line 400 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2460                 _tmp46_ = id_card_logger;
2461 #line 400 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2462                 _tmp47_ = self->priv->_display_name;
2463 #line 400 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2464                 _tmp48_ = diff;
2465 #line 400 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2466                 _tmp49_ = g_strdup_printf ("Compare: Two IDs with display_name '%s', but diff_flags=%0x", _tmp47_, (guint) _tmp48_);
2467 #line 400 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2468                 _tmp50_ = _tmp49_;
2469 #line 400 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2470                 moonshot_logger_trace (_tmp46_, _tmp50_, NULL);
2471 #line 400 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2472                 _g_free0 (_tmp50_);
2473 #line 2472 "moonshot-id.c"
2474         }
2475 #line 402 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2476         result = diff;
2477 #line 402 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2478         return result;
2479 #line 2478 "moonshot-id.c"
2480 }
2481
2482
2483 IdCard* id_card_NewNoIdentity (void) {
2484         IdCard* result = NULL;
2485         IdCard* card = NULL;
2486         IdCard* _tmp0_ = NULL;
2487         gchar* _tmp1_ = NULL;
2488 #line 407 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2489         _tmp0_ = id_card_new ();
2490 #line 407 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2491         card = _tmp0_;
2492 #line 408 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2493         id_card_set_display_name (card, ID_CARD_NO_IDENTITY);
2494 #line 409 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2495         _tmp1_ = g_strdup ("");
2496 #line 409 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2497         _g_free0 (card->priv->_nai);
2498 #line 409 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2499         card->priv->_nai = _tmp1_;
2500 #line 410 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2501         result = card;
2502 #line 410 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2503         return result;
2504 #line 2503 "moonshot-id.c"
2505 }
2506
2507
2508 static void _vala_array_add2 (Rule** array, int* length, int* size, const Rule* value) {
2509 #line 418 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2510         if ((*length) == (*size)) {
2511 #line 418 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2512                 *size = (*size) ? (2 * (*size)) : 4;
2513 #line 418 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2514                 *array = g_renew (Rule, *array, *size);
2515 #line 2514 "moonshot-id.c"
2516         }
2517 #line 418 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2518         (*array)[(*length)++] = *value;
2519 #line 2518 "moonshot-id.c"
2520 }
2521
2522
2523 void id_card_add_rule (IdCard* self, Rule* rule) {
2524         Rule* _tmp0_ = NULL;
2525         gint _tmp0__length1 = 0;
2526         Rule _tmp1_ = {0};
2527         Rule _tmp2_ = {0};
2528 #line 417 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2529         g_return_if_fail (self != NULL);
2530 #line 417 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2531         g_return_if_fail (rule != NULL);
2532 #line 418 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2533         _tmp0_ = self->priv->_rules;
2534 #line 418 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2535         _tmp0__length1 = self->priv->_rules_length1;
2536 #line 418 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2537         _tmp1_ = *rule;
2538 #line 418 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2539         rule_copy (&_tmp1_, &_tmp2_);
2540 #line 418 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2541         _vala_array_add2 (&self->priv->_rules, &self->priv->_rules_length1, &self->priv->__rules_size_, &_tmp2_);
2542 #line 2541 "moonshot-id.c"
2543 }
2544
2545
2546 IdCard* id_card_construct (GType object_type) {
2547         IdCard * self = NULL;
2548 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2549         self = (IdCard*) g_object_new (object_type, NULL);
2550 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2551         return self;
2552 #line 2551 "moonshot-id.c"
2553 }
2554
2555
2556 IdCard* id_card_new (void) {
2557 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2558         return id_card_construct (TYPE_ID_CARD);
2559 #line 2558 "moonshot-id.c"
2560 }
2561
2562
2563 const gchar* id_card_get_display_name (IdCard* self) {
2564         const gchar* result;
2565         const gchar* _tmp0_ = NULL;
2566 #line 220 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2567         g_return_val_if_fail (self != NULL, NULL);
2568 #line 220 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2569         _tmp0_ = self->priv->_display_name;
2570 #line 220 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2571         result = _tmp0_;
2572 #line 220 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2573         return result;
2574 #line 2573 "moonshot-id.c"
2575 }
2576
2577
2578 void id_card_set_display_name (IdCard* self, const gchar* value) {
2579         const gchar* _tmp0_ = NULL;
2580         gchar* _tmp1_ = NULL;
2581 #line 220 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2582         g_return_if_fail (self != NULL);
2583 #line 220 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2584         _tmp0_ = value;
2585 #line 220 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2586         _tmp1_ = g_strdup (_tmp0_);
2587 #line 220 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2588         _g_free0 (self->priv->_display_name);
2589 #line 220 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2590         self->priv->_display_name = _tmp1_;
2591 #line 220 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2592         g_object_notify ((GObject *) self, "display-name");
2593 #line 2592 "moonshot-id.c"
2594 }
2595
2596
2597 const gchar* id_card_get_username (IdCard* self) {
2598         const gchar* result;
2599         const gchar* _tmp0_ = NULL;
2600 #line 223 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2601         g_return_val_if_fail (self != NULL, NULL);
2602 #line 224 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2603         _tmp0_ = self->priv->_username;
2604 #line 224 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2605         result = _tmp0_;
2606 #line 224 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2607         return result;
2608 #line 2607 "moonshot-id.c"
2609 }
2610
2611
2612 void id_card_set_username (IdCard* self, const gchar* value) {
2613         const gchar* _tmp0_ = NULL;
2614         gchar* _tmp1_ = NULL;
2615 #line 226 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2616         g_return_if_fail (self != NULL);
2617 #line 227 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2618         _tmp0_ = value;
2619 #line 227 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2620         _tmp1_ = g_strdup (_tmp0_);
2621 #line 227 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2622         _g_free0 (self->priv->_username);
2623 #line 227 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2624         self->priv->_username = _tmp1_;
2625 #line 228 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2626         id_card_update_nai (self);
2627 #line 226 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2628         g_object_notify ((GObject *) self, "username");
2629 #line 2628 "moonshot-id.c"
2630 }
2631
2632
2633 const gchar* id_card_get_issuer (IdCard* self) {
2634         const gchar* result;
2635         const gchar* _tmp0_ = NULL;
2636 #line 233 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2637         g_return_val_if_fail (self != NULL, NULL);
2638 #line 234 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2639         _tmp0_ = self->priv->_issuer;
2640 #line 234 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2641         result = _tmp0_;
2642 #line 234 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2643         return result;
2644 #line 2643 "moonshot-id.c"
2645 }
2646
2647
2648 void id_card_set_issuer (IdCard* self, const gchar* value) {
2649         const gchar* _tmp0_ = NULL;
2650         gchar* _tmp1_ = NULL;
2651 #line 236 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2652         g_return_if_fail (self != NULL);
2653 #line 237 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2654         _tmp0_ = value;
2655 #line 237 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2656         _tmp1_ = g_strdup (_tmp0_);
2657 #line 237 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2658         _g_free0 (self->priv->_issuer);
2659 #line 237 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2660         self->priv->_issuer = _tmp1_;
2661 #line 238 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2662         id_card_update_nai (self);
2663 #line 236 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2664         g_object_notify ((GObject *) self, "issuer");
2665 #line 2664 "moonshot-id.c"
2666 }
2667
2668
2669 const gchar* id_card_get_password (IdCard* self) {
2670         const gchar* result;
2671         const gchar* _tmp0_ = NULL;
2672         const gchar* _tmp1_ = NULL;
2673 #line 249 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2674         g_return_val_if_fail (self != NULL, NULL);
2675 #line 250 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2676         _tmp1_ = self->priv->_password;
2677 #line 250 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2678         if (_tmp1_ != NULL) {
2679 #line 2678 "moonshot-id.c"
2680                 const gchar* _tmp2_ = NULL;
2681 #line 250 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2682                 _tmp2_ = self->priv->_password;
2683 #line 250 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2684                 _tmp0_ = _tmp2_;
2685 #line 2684 "moonshot-id.c"
2686         } else {
2687 #line 250 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2688                 _tmp0_ = "";
2689 #line 2688 "moonshot-id.c"
2690         }
2691 #line 250 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2692         result = _tmp0_;
2693 #line 250 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2694         return result;
2695 #line 2694 "moonshot-id.c"
2696 }
2697
2698
2699 void id_card_set_password (IdCard* self, const gchar* value) {
2700         const gchar* _tmp0_ = NULL;
2701         const gchar* _tmp2_ = NULL;
2702 #line 252 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2703         g_return_if_fail (self != NULL);
2704 #line 253 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2705         _tmp0_ = self->priv->_password;
2706 #line 253 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2707         if (_tmp0_ != NULL) {
2708 #line 2707 "moonshot-id.c"
2709                 const gchar* _tmp1_ = NULL;
2710 #line 254 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2711                 _tmp1_ = self->priv->_password;
2712 #line 254 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2713                 gnome_keyring_memory_free ((void*) _tmp1_);
2714 #line 255 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2715                 self->priv->_password = NULL;
2716 #line 2715 "moonshot-id.c"
2717         }
2718 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2719         _tmp2_ = value;
2720 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2721         if (_tmp2_ != NULL) {
2722 #line 2721 "moonshot-id.c"
2723                 const gchar* _tmp3_ = NULL;
2724                 const gchar* _tmp4_ = NULL;
2725 #line 258 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2726                 _tmp3_ = value;
2727 #line 258 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2728                 _tmp4_ = gnome_keyring_memory_strdup (_tmp3_);
2729 #line 258 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2730                 self->priv->_password = _tmp4_;
2731 #line 2730 "moonshot-id.c"
2732         }
2733 #line 252 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2734         g_object_notify ((GObject *) self, "password");
2735 #line 2734 "moonshot-id.c"
2736 }
2737
2738
2739 Rule* id_card_get_rules (IdCard* self, int* result_length1) {
2740         Rule* result;
2741         Rule* _tmp0_ = NULL;
2742         gint _tmp0__length1 = 0;
2743         Rule* _tmp1_ = NULL;
2744         gint _tmp1__length1 = 0;
2745 #line 267 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2746         g_return_val_if_fail (self != NULL, NULL);
2747 #line 267 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2748         _tmp0_ = self->priv->_rules;
2749 #line 267 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2750         _tmp0__length1 = self->priv->_rules_length1;
2751 #line 267 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2752         _tmp1_ = _tmp0_;
2753 #line 267 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2754         _tmp1__length1 = _tmp0__length1;
2755 #line 267 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2756         if (result_length1) {
2757 #line 267 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2758                 *result_length1 = _tmp1__length1;
2759 #line 2758 "moonshot-id.c"
2760         }
2761 #line 267 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2762         result = _tmp1_;
2763 #line 267 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2764         return result;
2765 #line 2764 "moonshot-id.c"
2766 }
2767
2768
2769 static Rule* _vala_array_dup5 (Rule* self, int length) {
2770         Rule* result;
2771         int i;
2772 #line 268 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2773         result = g_new0 (Rule, length);
2774 #line 268 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2775         for (i = 0; i < length; i++) {
2776 #line 2775 "moonshot-id.c"
2777                 Rule _tmp0_ = {0};
2778 #line 268 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2779                 rule_copy (&self[i], &_tmp0_);
2780 #line 268 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2781                 result[i] = _tmp0_;
2782 #line 2781 "moonshot-id.c"
2783         }
2784 #line 268 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2785         return result;
2786 #line 2785 "moonshot-id.c"
2787 }
2788
2789
2790 void id_card_set_rules (IdCard* self, Rule* value, int value_length1) {
2791         Rule* _tmp0_ = NULL;
2792         Rule* _tmp1_ = NULL;
2793         gint _tmp1__length1 = 0;
2794         Rule* _tmp2_ = NULL;
2795         gint _tmp2__length1 = 0;
2796         gint _tmp0__length1 = 0;
2797         gint __tmp0__size_ = 0;
2798         Rule* _tmp4_ = NULL;
2799         gint _tmp4__length1 = 0;
2800 #line 268 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2801         g_return_if_fail (self != NULL);
2802 #line 268 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2803         _tmp1_ = value;
2804 #line 268 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2805         _tmp1__length1 = value_length1;
2806 #line 268 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2807         _tmp2_ = (_tmp1_ != NULL) ? _vala_array_dup5 (_tmp1_, _tmp1__length1) : ((gpointer) _tmp1_);
2808 #line 268 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2809         _tmp2__length1 = _tmp1__length1;
2810 #line 268 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2811         _tmp0_ = _tmp2_;
2812 #line 268 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2813         _tmp0__length1 = _tmp2__length1;
2814 #line 268 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2815         __tmp0__size_ = _tmp0__length1;
2816 #line 268 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2817         if (_tmp0_ == NULL) {
2818 #line 2817 "moonshot-id.c"
2819                 Rule* _tmp3_ = NULL;
2820 #line 268 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2821                 _tmp3_ = g_new0 (Rule, 0);
2822 #line 268 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2823                 _tmp0_ = (_vala_Rule_array_free (_tmp0_, _tmp0__length1), NULL);
2824 #line 268 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2825                 _tmp0_ = _tmp3_;
2826 #line 268 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2827                 _tmp0__length1 = 0;
2828 #line 268 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2829                 __tmp0__size_ = _tmp0__length1;
2830 #line 2829 "moonshot-id.c"
2831         }
2832 #line 268 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2833         _tmp4_ = _tmp0_;
2834 #line 268 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2835         _tmp4__length1 = _tmp0__length1;
2836 #line 268 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2837         _tmp0_ = NULL;
2838 #line 268 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2839         _tmp0__length1 = 0;
2840 #line 268 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2841         self->priv->_rules = (_vala_Rule_array_free (self->priv->_rules, self->priv->_rules_length1), NULL);
2842 #line 268 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2843         self->priv->_rules = _tmp4_;
2844 #line 268 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2845         self->priv->_rules_length1 = _tmp4__length1;
2846 #line 268 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2847         self->priv->__rules_size_ = self->priv->_rules_length1;
2848 #line 268 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2849         _tmp0_ = (_vala_Rule_array_free (_tmp0_, _tmp0__length1), NULL);
2850 #line 2849 "moonshot-id.c"
2851 }
2852
2853
2854 GeeArrayList* id_card_get_services (IdCard* self) {
2855         GeeArrayList* result;
2856         GeeArrayList* _tmp0_ = NULL;
2857 #line 274 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2858         g_return_val_if_fail (self != NULL, NULL);
2859 #line 274 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2860         _tmp0_ = self->priv->_services;
2861 #line 274 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2862         result = _tmp0_;
2863 #line 274 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2864         return result;
2865 #line 2864 "moonshot-id.c"
2866 }
2867
2868
2869 gboolean id_card_get_temporary (IdCard* self) {
2870         gboolean result;
2871         gboolean _tmp0_ = FALSE;
2872 #line 325 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2873         g_return_val_if_fail (self != NULL, FALSE);
2874 #line 325 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2875         _tmp0_ = self->priv->_temporary;
2876 #line 325 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2877         result = _tmp0_;
2878 #line 325 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2879         return result;
2880 #line 2879 "moonshot-id.c"
2881 }
2882
2883
2884 void id_card_set_temporary (IdCard* self, gboolean value) {
2885         gboolean _tmp0_ = FALSE;
2886 #line 325 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2887         g_return_if_fail (self != NULL);
2888 #line 325 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2889         _tmp0_ = value;
2890 #line 325 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2891         self->priv->_temporary = _tmp0_;
2892 #line 325 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2893         g_object_notify ((GObject *) self, "temporary");
2894 #line 2893 "moonshot-id.c"
2895 }
2896
2897
2898 TrustAnchor* id_card_get_trust_anchor (IdCard* self) {
2899         TrustAnchor* result;
2900         TrustAnchor* _tmp0_ = NULL;
2901 #line 329 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2902         g_return_val_if_fail (self != NULL, NULL);
2903 #line 330 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2904         _tmp0_ = self->priv->_trust_anchor;
2905 #line 330 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2906         result = _tmp0_;
2907 #line 330 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2908         return result;
2909 #line 2908 "moonshot-id.c"
2910 }
2911
2912
2913 const gchar* id_card_get_nai (IdCard* self) {
2914         const gchar* result;
2915         const gchar* _tmp0_ = NULL;
2916 #line 343 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2917         g_return_val_if_fail (self != NULL, NULL);
2918 #line 343 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2919         _tmp0_ = self->priv->_nai;
2920 #line 343 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2921         result = _tmp0_;
2922 #line 343 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2923         return result;
2924 #line 2923 "moonshot-id.c"
2925 }
2926
2927
2928 static void id_card_set_nai (IdCard* self, const gchar* value) {
2929         const gchar* _tmp0_ = NULL;
2930         gchar* _tmp1_ = NULL;
2931 #line 343 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2932         g_return_if_fail (self != NULL);
2933 #line 343 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2934         _tmp0_ = value;
2935 #line 343 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2936         _tmp1_ = g_strdup (_tmp0_);
2937 #line 343 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2938         _g_free0 (self->priv->_nai);
2939 #line 343 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2940         self->priv->_nai = _tmp1_;
2941 #line 343 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2942         g_object_notify ((GObject *) self, "nai");
2943 #line 2942 "moonshot-id.c"
2944 }
2945
2946
2947 gboolean id_card_get_store_password (IdCard* self) {
2948         gboolean result;
2949         gboolean _tmp0_ = FALSE;
2950 #line 345 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2951         g_return_val_if_fail (self != NULL, FALSE);
2952 #line 345 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2953         _tmp0_ = self->priv->_store_password;
2954 #line 345 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2955         result = _tmp0_;
2956 #line 345 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2957         return result;
2958 #line 2957 "moonshot-id.c"
2959 }
2960
2961
2962 void id_card_set_store_password (IdCard* self, gboolean value) {
2963         gboolean _tmp0_ = FALSE;
2964 #line 345 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2965         g_return_if_fail (self != NULL);
2966 #line 345 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2967         _tmp0_ = value;
2968 #line 345 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2969         self->priv->_store_password = _tmp0_;
2970 #line 345 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2971         g_object_notify ((GObject *) self, "store-password");
2972 #line 2971 "moonshot-id.c"
2973 }
2974
2975
2976 const gchar* id_card_get_uuid (IdCard* self) {
2977         const gchar* result;
2978         const gchar* _tmp0_ = NULL;
2979 #line 349 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2980         g_return_val_if_fail (self != NULL, NULL);
2981 #line 349 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2982         _tmp0_ = self->priv->_uuid;
2983 #line 349 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2984         result = _tmp0_;
2985 #line 349 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2986         return result;
2987 #line 2986 "moonshot-id.c"
2988 }
2989
2990
2991 static void id_card_class_init (IdCardClass * klass) {
2992         MoonshotLogger* _tmp0_ = NULL;
2993 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2994         id_card_parent_class = g_type_class_peek_parent (klass);
2995 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2996         g_type_class_add_private (klass, sizeof (IdCardPrivate));
2997 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
2998         G_OBJECT_CLASS (klass)->get_property = _vala_id_card_get_property;
2999 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3000         G_OBJECT_CLASS (klass)->set_property = _vala_id_card_set_property;
3001 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3002         G_OBJECT_CLASS (klass)->finalize = id_card_finalize;
3003 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3004         g_object_class_install_property (G_OBJECT_CLASS (klass), ID_CARD_DISPLAY_NAME, g_param_spec_string ("display-name", "display-name", "display-name", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
3005 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3006         g_object_class_install_property (G_OBJECT_CLASS (klass), ID_CARD_USERNAME, g_param_spec_string ("username", "username", "username", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
3007 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3008         g_object_class_install_property (G_OBJECT_CLASS (klass), ID_CARD_ISSUER, g_param_spec_string ("issuer", "issuer", "issuer", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
3009 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3010         g_object_class_install_property (G_OBJECT_CLASS (klass), ID_CARD_PASSWORD, g_param_spec_string ("password", "password", "password", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
3011 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3012         g_object_class_install_property (G_OBJECT_CLASS (klass), ID_CARD_SERVICES, g_param_spec_object ("services", "services", "services", GEE_TYPE_ARRAY_LIST, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
3013 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3014         g_object_class_install_property (G_OBJECT_CLASS (klass), ID_CARD_TEMPORARY, g_param_spec_boolean ("temporary", "temporary", "temporary", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
3015 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3016         g_object_class_install_property (G_OBJECT_CLASS (klass), ID_CARD_TRUST_ANCHOR, g_param_spec_object ("trust-anchor", "trust-anchor", "trust-anchor", TYPE_TRUST_ANCHOR, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
3017 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3018         g_object_class_install_property (G_OBJECT_CLASS (klass), ID_CARD_NAI, g_param_spec_string ("nai", "nai", "nai", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
3019 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3020         g_object_class_install_property (G_OBJECT_CLASS (klass), ID_CARD_STORE_PASSWORD, g_param_spec_boolean ("store-password", "store-password", "store-password", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
3021 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3022         g_object_class_install_property (G_OBJECT_CLASS (klass), ID_CARD_UUID, g_param_spec_string ("uuid", "uuid", "uuid", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
3023 #line 213 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3024         _tmp0_ = get_logger ("IdCard");
3025 #line 213 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3026         id_card_logger = _tmp0_;
3027 #line 3026 "moonshot-id.c"
3028 }
3029
3030
3031 static void id_card_instance_init (IdCard * self) {
3032         gchar* _tmp0_ = NULL;
3033         gchar* _tmp1_ = NULL;
3034         gchar* _tmp2_ = NULL;
3035         Rule* _tmp3_ = NULL;
3036         GeeArrayList* _tmp4_ = NULL;
3037         TrustAnchor* _tmp5_ = NULL;
3038         gchar* _tmp6_ = NULL;
3039 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3040         self->priv = ID_CARD_GET_PRIVATE (self);
3041 #line 217 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3042         _tmp0_ = g_strdup ("");
3043 #line 217 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3044         self->priv->_username = _tmp0_;
3045 #line 218 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3046         _tmp1_ = g_strdup ("");
3047 #line 218 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3048         self->priv->_issuer = _tmp1_;
3049 #line 220 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3050         _tmp2_ = g_strdup ("");
3051 #line 220 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3052         self->priv->_display_name = _tmp2_;
3053 #line 265 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3054         _tmp3_ = g_new0 (Rule, 0);
3055 #line 265 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3056         self->priv->_rules = _tmp3_;
3057 #line 265 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3058         self->priv->_rules_length1 = 0;
3059 #line 265 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3060         self->priv->__rules_size_ = self->priv->_rules_length1;
3061 #line 271 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3062         _tmp4_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL);
3063 #line 271 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3064         self->priv->_services = _tmp4_;
3065 #line 325 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3066         self->priv->_temporary = FALSE;
3067 #line 327 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3068         _tmp5_ = trust_anchor_new_empty ();
3069 #line 327 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3070         self->priv->_trust_anchor = _tmp5_;
3071 #line 345 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3072         self->priv->_store_password = FALSE;
3073 #line 351 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3074         _tmp6_ = id_card_generate_uuid ();
3075 #line 351 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3076         self->priv->_uuid = _tmp6_;
3077 #line 3076 "moonshot-id.c"
3078 }
3079
3080
3081 static void id_card_finalize (GObject* obj) {
3082         IdCard * self;
3083 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3084         self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_ID_CARD, IdCard);
3085 #line 414 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3086         id_card_set_password (self, NULL);
3087 #line 217 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3088         _g_free0 (self->priv->_username);
3089 #line 218 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3090         _g_free0 (self->priv->_issuer);
3091 #line 220 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3092         _g_free0 (self->priv->_display_name);
3093 #line 265 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3094         self->priv->_rules = (_vala_Rule_array_free (self->priv->_rules, self->priv->_rules_length1), NULL);
3095 #line 271 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3096         _g_object_unref0 (self->priv->_services);
3097 #line 327 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3098         _g_object_unref0 (self->priv->_trust_anchor);
3099 #line 343 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3100         _g_free0 (self->priv->_nai);
3101 #line 351 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3102         _g_free0 (self->priv->_uuid);
3103 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3104         G_OBJECT_CLASS (id_card_parent_class)->finalize (obj);
3105 #line 3104 "moonshot-id.c"
3106 }
3107
3108
3109 GType id_card_get_type (void) {
3110         static volatile gsize id_card_type_id__volatile = 0;
3111         if (g_once_init_enter (&id_card_type_id__volatile)) {
3112                 static const GTypeInfo g_define_type_info = { sizeof (IdCardClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) id_card_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (IdCard), 0, (GInstanceInitFunc) id_card_instance_init, NULL };
3113                 GType id_card_type_id;
3114                 id_card_type_id = g_type_register_static (G_TYPE_OBJECT, "IdCard", &g_define_type_info, 0);
3115                 g_once_init_leave (&id_card_type_id__volatile, id_card_type_id);
3116         }
3117         return id_card_type_id__volatile;
3118 }
3119
3120
3121 static void _vala_id_card_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
3122         IdCard * self;
3123         self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_ID_CARD, IdCard);
3124 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3125         switch (property_id) {
3126 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3127                 case ID_CARD_DISPLAY_NAME:
3128 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3129                 g_value_set_string (value, id_card_get_display_name (self));
3130 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3131                 break;
3132 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3133                 case ID_CARD_USERNAME:
3134 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3135                 g_value_set_string (value, id_card_get_username (self));
3136 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3137                 break;
3138 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3139                 case ID_CARD_ISSUER:
3140 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3141                 g_value_set_string (value, id_card_get_issuer (self));
3142 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3143                 break;
3144 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3145                 case ID_CARD_PASSWORD:
3146 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3147                 g_value_set_string (value, id_card_get_password (self));
3148 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3149                 break;
3150 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3151                 case ID_CARD_SERVICES:
3152 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3153                 g_value_set_object (value, id_card_get_services (self));
3154 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3155                 break;
3156 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3157                 case ID_CARD_TEMPORARY:
3158 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3159                 g_value_set_boolean (value, id_card_get_temporary (self));
3160 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3161                 break;
3162 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3163                 case ID_CARD_TRUST_ANCHOR:
3164 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3165                 g_value_set_object (value, id_card_get_trust_anchor (self));
3166 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3167                 break;
3168 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3169                 case ID_CARD_NAI:
3170 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3171                 g_value_set_string (value, id_card_get_nai (self));
3172 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3173                 break;
3174 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3175                 case ID_CARD_STORE_PASSWORD:
3176 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3177                 g_value_set_boolean (value, id_card_get_store_password (self));
3178 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3179                 break;
3180 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3181                 case ID_CARD_UUID:
3182 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3183                 g_value_set_string (value, id_card_get_uuid (self));
3184 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3185                 break;
3186 #line 3185 "moonshot-id.c"
3187                 default:
3188 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3189                 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
3190 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3191                 break;
3192 #line 3191 "moonshot-id.c"
3193         }
3194 }
3195
3196
3197 static void _vala_id_card_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
3198         IdCard * self;
3199         self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_ID_CARD, IdCard);
3200 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3201         switch (property_id) {
3202 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3203                 case ID_CARD_DISPLAY_NAME:
3204 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3205                 id_card_set_display_name (self, g_value_get_string (value));
3206 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3207                 break;
3208 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3209                 case ID_CARD_USERNAME:
3210 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3211                 id_card_set_username (self, g_value_get_string (value));
3212 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3213                 break;
3214 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3215                 case ID_CARD_ISSUER:
3216 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3217                 id_card_set_issuer (self, g_value_get_string (value));
3218 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3219                 break;
3220 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3221                 case ID_CARD_PASSWORD:
3222 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3223                 id_card_set_password (self, g_value_get_string (value));
3224 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3225                 break;
3226 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3227                 case ID_CARD_TEMPORARY:
3228 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3229                 id_card_set_temporary (self, g_value_get_boolean (value));
3230 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3231                 break;
3232 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3233                 case ID_CARD_NAI:
3234 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3235                 id_card_set_nai (self, g_value_get_string (value));
3236 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3237                 break;
3238 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3239                 case ID_CARD_STORE_PASSWORD:
3240 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3241                 id_card_set_store_password (self, g_value_get_boolean (value));
3242 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3243                 break;
3244 #line 3243 "moonshot-id.c"
3245                 default:
3246 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3247                 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
3248 #line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3249                 break;
3250 #line 3249 "moonshot-id.c"
3251         }
3252 }
3253
3254
3255 gint CompareRules (Rule* a, int a_length1, Rule* b, int b_length1) {
3256         gint result = 0;
3257         Rule* _tmp0_ = NULL;
3258         gint _tmp0__length1 = 0;
3259         Rule* _tmp1_ = NULL;
3260         gint _tmp1__length1 = 0;
3261 #line 424 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3262         _tmp0_ = a;
3263 #line 424 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3264         _tmp0__length1 = a_length1;
3265 #line 424 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3266         _tmp1_ = b;
3267 #line 424 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3268         _tmp1__length1 = b_length1;
3269 #line 424 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3270         if (_tmp0__length1 != _tmp1__length1) {
3271 #line 425 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3272                 result = 1;
3273 #line 425 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3274                 return result;
3275 #line 3274 "moonshot-id.c"
3276         }
3277         {
3278                 gint i = 0;
3279 #line 428 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3280                 i = 0;
3281 #line 3280 "moonshot-id.c"
3282                 {
3283                         gboolean _tmp2_ = FALSE;
3284 #line 428 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3285                         _tmp2_ = TRUE;
3286 #line 428 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3287                         while (TRUE) {
3288 #line 3287 "moonshot-id.c"
3289                                 gint _tmp4_ = 0;
3290                                 Rule* _tmp5_ = NULL;
3291                                 gint _tmp5__length1 = 0;
3292                                 Rule* _tmp6_ = NULL;
3293                                 gint _tmp6__length1 = 0;
3294                                 gint _tmp7_ = 0;
3295                                 Rule* _tmp8_ = NULL;
3296                                 gint _tmp8__length1 = 0;
3297                                 gint _tmp9_ = 0;
3298                                 Rule _tmp10_ = {0};
3299                                 gint _tmp11_ = 0;
3300 #line 428 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3301                                 if (!_tmp2_) {
3302 #line 3301 "moonshot-id.c"
3303                                         gint _tmp3_ = 0;
3304 #line 428 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3305                                         _tmp3_ = i;
3306 #line 428 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3307                                         i = _tmp3_ + 1;
3308 #line 3307 "moonshot-id.c"
3309                                 }
3310 #line 428 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3311                                 _tmp2_ = FALSE;
3312 #line 428 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3313                                 _tmp4_ = i;
3314 #line 428 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3315                                 _tmp5_ = a;
3316 #line 428 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3317                                 _tmp5__length1 = a_length1;
3318 #line 428 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3319                                 if (!(_tmp4_ < _tmp5__length1)) {
3320 #line 428 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3321                                         break;
3322 #line 3321 "moonshot-id.c"
3323                                 }
3324 #line 429 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3325                                 _tmp6_ = a;
3326 #line 429 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3327                                 _tmp6__length1 = a_length1;
3328 #line 429 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3329                                 _tmp7_ = i;
3330 #line 429 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3331                                 _tmp8_ = b;
3332 #line 429 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3333                                 _tmp8__length1 = b_length1;
3334 #line 429 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3335                                 _tmp9_ = i;
3336 #line 429 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3337                                 _tmp10_ = _tmp8_[_tmp9_];
3338 #line 429 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3339                                 _tmp11_ = rule_Compare (&_tmp6_[_tmp7_], &_tmp10_);
3340 #line 429 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3341                                 if (_tmp11_ != 0) {
3342 #line 430 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3343                                         result = 1;
3344 #line 430 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3345                                         return result;
3346 #line 3345 "moonshot-id.c"
3347                                 }
3348                         }
3349                 }
3350         }
3351 #line 433 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3352         result = 0;
3353 #line 433 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3354         return result;
3355 #line 3354 "moonshot-id.c"
3356 }
3357
3358
3359 gint CompareStringArrayList (GeeArrayList* a, GeeArrayList* b) {
3360         gint result = 0;
3361         GeeArrayList* _tmp0_ = NULL;
3362         gint _tmp1_ = 0;
3363         gint _tmp2_ = 0;
3364         GeeArrayList* _tmp3_ = NULL;
3365         gint _tmp4_ = 0;
3366         gint _tmp5_ = 0;
3367 #line 436 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3368         g_return_val_if_fail (a != NULL, 0);
3369 #line 436 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3370         g_return_val_if_fail (b != NULL, 0);
3371 #line 438 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3372         _tmp0_ = a;
3373 #line 438 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3374         _tmp1_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp0_);
3375 #line 438 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3376         _tmp2_ = _tmp1_;
3377 #line 438 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3378         _tmp3_ = b;
3379 #line 438 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3380         _tmp4_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp3_);
3381 #line 438 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3382         _tmp5_ = _tmp4_;
3383 #line 438 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3384         if (_tmp2_ != _tmp5_) {
3385 #line 439 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3386                 result = 1;
3387 #line 439 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3388                 return result;
3389 #line 3388 "moonshot-id.c"
3390         }
3391         {
3392                 gint i = 0;
3393 #line 442 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3394                 i = 0;
3395 #line 3394 "moonshot-id.c"
3396                 {
3397                         gboolean _tmp6_ = FALSE;
3398 #line 442 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3399                         _tmp6_ = TRUE;
3400 #line 442 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3401                         while (TRUE) {
3402 #line 3401 "moonshot-id.c"
3403                                 gint _tmp8_ = 0;
3404                                 GeeArrayList* _tmp9_ = NULL;
3405                                 gint _tmp10_ = 0;
3406                                 gint _tmp11_ = 0;
3407                                 GeeArrayList* _tmp12_ = NULL;
3408                                 gint _tmp13_ = 0;
3409                                 gpointer _tmp14_ = NULL;
3410                                 gchar* _tmp15_ = NULL;
3411                                 GeeArrayList* _tmp16_ = NULL;
3412                                 gint _tmp17_ = 0;
3413                                 gpointer _tmp18_ = NULL;
3414                                 gchar* _tmp19_ = NULL;
3415                                 gboolean _tmp20_ = FALSE;
3416 #line 442 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3417                                 if (!_tmp6_) {
3418 #line 3417 "moonshot-id.c"
3419                                         gint _tmp7_ = 0;
3420 #line 442 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3421                                         _tmp7_ = i;
3422 #line 442 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3423                                         i = _tmp7_ + 1;
3424 #line 3423 "moonshot-id.c"
3425                                 }
3426 #line 442 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3427                                 _tmp6_ = FALSE;
3428 #line 442 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3429                                 _tmp8_ = i;
3430 #line 442 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3431                                 _tmp9_ = a;
3432 #line 442 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3433                                 _tmp10_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp9_);
3434 #line 442 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3435                                 _tmp11_ = _tmp10_;
3436 #line 442 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3437                                 if (!(_tmp8_ < _tmp11_)) {
3438 #line 442 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3439                                         break;
3440 #line 3439 "moonshot-id.c"
3441                                 }
3442 #line 443 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3443                                 _tmp12_ = a;
3444 #line 443 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3445                                 _tmp13_ = i;
3446 #line 443 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3447                                 _tmp14_ = gee_abstract_list_get ((GeeAbstractList*) _tmp12_, _tmp13_);
3448 #line 443 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3449                                 _tmp15_ = (gchar*) _tmp14_;
3450 #line 443 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3451                                 _tmp16_ = b;
3452 #line 443 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3453                                 _tmp17_ = i;
3454 #line 443 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3455                                 _tmp18_ = gee_abstract_list_get ((GeeAbstractList*) _tmp16_, _tmp17_);
3456 #line 443 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3457                                 _tmp19_ = (gchar*) _tmp18_;
3458 #line 443 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3459                                 _tmp20_ = g_strcmp0 (_tmp15_, _tmp19_) != 0;
3460 #line 443 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3461                                 _g_free0 (_tmp19_);
3462 #line 443 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3463                                 _g_free0 (_tmp15_);
3464 #line 443 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3465                                 if (_tmp20_) {
3466 #line 444 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3467                                         result = 1;
3468 #line 444 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3469                                         return result;
3470 #line 3469 "moonshot-id.c"
3471                                 }
3472                         }
3473                 }
3474         }
3475 #line 447 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3476         result = 0;
3477 #line 447 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-id.vala"
3478         return result;
3479 #line 3478 "moonshot-id.c"
3480 }
3481
3482
3483 static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
3484         if ((array != NULL) && (destroy_func != NULL)) {
3485                 int i;
3486                 for (i = 0; i < array_length; i = i + 1) {
3487                         if (((gpointer*) array)[i] != NULL) {
3488                                 destroy_func (((gpointer*) array)[i]);
3489                         }
3490                 }
3491         }
3492 }
3493
3494
3495 static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
3496         _vala_array_destroy (array, array_length, destroy_func);
3497         g_free (array);
3498 }
3499
3500
3501