Merge remote-tracking branch 'origin/upstream' into upstream
[moonshot-ui.git] / src / moonshot-identities-manager.c
1 /* moonshot-identities-manager.c generated by valac 0.28.0, the Vala compiler
2  * generated from moonshot-identities-manager.vala, do not modify */
3
4 /*
5  * Copyright (c) 2011-2014, 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 <gnome-keyring-memory.h>
41 #include <gee.h>
42 #include <stdio.h>
43 #include <gobject/gvaluecollector.h>
44
45
46 #define TYPE_PASSWORD (password_get_type ())
47 #define PASSWORD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PASSWORD, Password))
48 #define PASSWORD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PASSWORD, PasswordClass))
49 #define IS_PASSWORD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PASSWORD))
50 #define IS_PASSWORD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PASSWORD))
51 #define PASSWORD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PASSWORD, PasswordClass))
52
53 typedef struct _Password Password;
54 typedef struct _PasswordClass PasswordClass;
55 typedef struct _PasswordPrivate PasswordPrivate;
56 typedef struct _ParamSpecPassword ParamSpecPassword;
57
58 #define TYPE_PASSWORD_HASH_TABLE (password_hash_table_get_type ())
59 #define PASSWORD_HASH_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PASSWORD_HASH_TABLE, PasswordHashTable))
60 #define PASSWORD_HASH_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PASSWORD_HASH_TABLE, PasswordHashTableClass))
61 #define IS_PASSWORD_HASH_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PASSWORD_HASH_TABLE))
62 #define IS_PASSWORD_HASH_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PASSWORD_HASH_TABLE))
63 #define PASSWORD_HASH_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PASSWORD_HASH_TABLE, PasswordHashTableClass))
64
65 typedef struct _PasswordHashTable PasswordHashTable;
66 typedef struct _PasswordHashTableClass PasswordHashTableClass;
67 typedef struct _PasswordHashTablePrivate PasswordHashTablePrivate;
68 #define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL)))
69
70 #define TYPE_ID_CARD (id_card_get_type ())
71 #define ID_CARD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ID_CARD, IdCard))
72 #define ID_CARD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ID_CARD, IdCardClass))
73 #define IS_ID_CARD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ID_CARD))
74 #define IS_ID_CARD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ID_CARD))
75 #define ID_CARD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ID_CARD, IdCardClass))
76
77 typedef struct _IdCard IdCard;
78 typedef struct _IdCardClass IdCardClass;
79
80 #define TYPE_IIDENTITY_CARD_STORE (iidentity_card_store_get_type ())
81 #define IIDENTITY_CARD_STORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IIDENTITY_CARD_STORE, IIdentityCardStore))
82 #define IS_IIDENTITY_CARD_STORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IIDENTITY_CARD_STORE))
83 #define IIDENTITY_CARD_STORE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_IIDENTITY_CARD_STORE, IIdentityCardStoreIface))
84
85 typedef struct _IIdentityCardStore IIdentityCardStore;
86 typedef struct _IIdentityCardStoreIface IIdentityCardStoreIface;
87
88 #define IIDENTITY_CARD_STORE_TYPE_STORE_TYPE (iidentity_card_store_store_type_get_type ())
89 #define _g_free0(var) (var = (g_free (var), NULL))
90
91 #define TYPE_IDENTITY_MANAGER_MODEL (identity_manager_model_get_type ())
92 #define IDENTITY_MANAGER_MODEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IDENTITY_MANAGER_MODEL, IdentityManagerModel))
93 #define IDENTITY_MANAGER_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IDENTITY_MANAGER_MODEL, IdentityManagerModelClass))
94 #define IS_IDENTITY_MANAGER_MODEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IDENTITY_MANAGER_MODEL))
95 #define IS_IDENTITY_MANAGER_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IDENTITY_MANAGER_MODEL))
96 #define IDENTITY_MANAGER_MODEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IDENTITY_MANAGER_MODEL, IdentityManagerModelClass))
97
98 typedef struct _IdentityManagerModel IdentityManagerModel;
99 typedef struct _IdentityManagerModelClass IdentityManagerModelClass;
100 typedef struct _IdentityManagerModelPrivate IdentityManagerModelPrivate;
101
102 #define TYPE_IDENTITY_MANAGER_APP (identity_manager_app_get_type ())
103 #define IDENTITY_MANAGER_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IDENTITY_MANAGER_APP, IdentityManagerApp))
104 #define IDENTITY_MANAGER_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IDENTITY_MANAGER_APP, IdentityManagerAppClass))
105 #define IS_IDENTITY_MANAGER_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IDENTITY_MANAGER_APP))
106 #define IS_IDENTITY_MANAGER_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IDENTITY_MANAGER_APP))
107 #define IDENTITY_MANAGER_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IDENTITY_MANAGER_APP, IdentityManagerAppClass))
108
109 typedef struct _IdentityManagerApp IdentityManagerApp;
110 typedef struct _IdentityManagerAppClass IdentityManagerAppClass;
111 #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
112 #define _identity_manager_app_unref0(var) ((var == NULL) ? NULL : (var = (identity_manager_app_unref (var), NULL)))
113
114 #define TYPE_KEYRING_STORE (keyring_store_get_type ())
115 #define KEYRING_STORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_KEYRING_STORE, KeyringStore))
116 #define KEYRING_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_KEYRING_STORE, KeyringStoreClass))
117 #define IS_KEYRING_STORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_KEYRING_STORE))
118 #define IS_KEYRING_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_KEYRING_STORE))
119 #define KEYRING_STORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_KEYRING_STORE, KeyringStoreClass))
120
121 typedef struct _KeyringStore KeyringStore;
122 typedef struct _KeyringStoreClass KeyringStoreClass;
123
124 #define TYPE_LOCAL_FLAT_FILE_STORE (local_flat_file_store_get_type ())
125 #define LOCAL_FLAT_FILE_STORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LOCAL_FLAT_FILE_STORE, LocalFlatFileStore))
126 #define LOCAL_FLAT_FILE_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LOCAL_FLAT_FILE_STORE, LocalFlatFileStoreClass))
127 #define IS_LOCAL_FLAT_FILE_STORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LOCAL_FLAT_FILE_STORE))
128 #define IS_LOCAL_FLAT_FILE_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LOCAL_FLAT_FILE_STORE))
129 #define LOCAL_FLAT_FILE_STORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LOCAL_FLAT_FILE_STORE, LocalFlatFileStoreClass))
130
131 typedef struct _LocalFlatFileStore LocalFlatFileStore;
132 typedef struct _LocalFlatFileStoreClass LocalFlatFileStoreClass;
133
134 #define TYPE_RULE (rule_get_type ())
135 typedef struct _Rule Rule;
136
137 struct _Password {
138         GTypeInstance parent_instance;
139         volatile int ref_count;
140         PasswordPrivate * priv;
141 };
142
143 struct _PasswordClass {
144         GTypeClass parent_class;
145         void (*finalize) (Password *self);
146 };
147
148 struct _PasswordPrivate {
149         const gchar* _password;
150 };
151
152 struct _ParamSpecPassword {
153         GParamSpec parent_instance;
154 };
155
156 struct _PasswordHashTable {
157         GObject parent_instance;
158         PasswordHashTablePrivate * priv;
159 };
160
161 struct _PasswordHashTableClass {
162         GObjectClass parent_class;
163 };
164
165 struct _PasswordHashTablePrivate {
166         GHashTable* password_table;
167 };
168
169 typedef enum  {
170         IIDENTITY_CARD_STORE_STORE_TYPE_FLAT_FILE,
171         IIDENTITY_CARD_STORE_STORE_TYPE_KEYRING
172 } IIdentityCardStoreStoreType;
173
174 struct _IIdentityCardStoreIface {
175         GTypeInterface parent_iface;
176         void (*add_card) (IIdentityCardStore* self, IdCard* card);
177         gboolean (*remove_card) (IIdentityCardStore* self, IdCard* card);
178         IdCard* (*update_card) (IIdentityCardStore* self, IdCard* card);
179         IIdentityCardStoreStoreType (*get_store_type) (IIdentityCardStore* self);
180         GeeLinkedList* (*get_card_list) (IIdentityCardStore* self);
181 };
182
183 struct _IdentityManagerModel {
184         GObject parent_instance;
185         IdentityManagerModelPrivate * priv;
186 };
187
188 struct _IdentityManagerModelClass {
189         GObjectClass parent_class;
190 };
191
192 struct _IdentityManagerModelPrivate {
193         PasswordHashTable* password_table;
194         IIdentityCardStore* store;
195         IdentityManagerApp* parent;
196 };
197
198 struct _Rule {
199         gchar* pattern;
200         gchar* always_confirm;
201 };
202
203
204 static gpointer password_parent_class = NULL;
205 static gpointer password_hash_table_parent_class = NULL;
206 static gpointer identity_manager_model_parent_class = NULL;
207
208 gpointer password_ref (gpointer instance);
209 void password_unref (gpointer instance);
210 GParamSpec* param_spec_password (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
211 void value_set_password (GValue* value, gpointer v_object);
212 void value_take_password (GValue* value, gpointer v_object);
213 gpointer value_get_password (const GValue* value);
214 GType password_get_type (void) G_GNUC_CONST;
215 #define PASSWORD_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PASSWORD, PasswordPrivate))
216 enum  {
217         PASSWORD_DUMMY_PROPERTY
218 };
219 void password_set_password (Password* self, const gchar* value);
220 Password* password_new (const gchar* in_password);
221 Password* password_construct (GType object_type, const gchar* in_password);
222 const gchar* password_get_password (Password* self);
223 static void password_finalize (Password* obj);
224 GType password_hash_table_get_type (void) G_GNUC_CONST;
225 #define PASSWORD_HASH_TABLE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PASSWORD_HASH_TABLE, PasswordHashTablePrivate))
226 enum  {
227         PASSWORD_HASH_TABLE_DUMMY_PROPERTY
228 };
229 GType id_card_get_type (void) G_GNUC_CONST;
230 GType iidentity_card_store_store_type_get_type (void) G_GNUC_CONST;
231 GType iidentity_card_store_get_type (void) G_GNUC_CONST;
232 static gchar* password_hash_table_ComputeHashKey (IdCard* card, IIdentityCardStore* store);
233 const gchar* id_card_get_display_name (IdCard* self);
234 IIdentityCardStoreStoreType iidentity_card_store_get_store_type (IIdentityCardStore* self);
235 void password_hash_table_CachePassword (PasswordHashTable* self, IdCard* card, IIdentityCardStore* store);
236 const gchar* id_card_get_password (IdCard* self);
237 void password_hash_table_RemovePassword (PasswordHashTable* self, IdCard* card, IIdentityCardStore* store);
238 void password_hash_table_RetrievePassword (PasswordHashTable* self, IdCard* card, IIdentityCardStore* store);
239 void id_card_set_password (IdCard* self, const gchar* value);
240 PasswordHashTable* password_hash_table_new (void);
241 PasswordHashTable* password_hash_table_construct (GType object_type);
242 static void _g_free0_ (gpointer var);
243 static void _password_unref0_ (gpointer var);
244 static void password_hash_table_finalize (GObject* obj);
245 GType identity_manager_model_get_type (void) G_GNUC_CONST;
246 gpointer identity_manager_app_ref (gpointer instance);
247 void identity_manager_app_unref (gpointer instance);
248 GParamSpec* param_spec_identity_manager_app (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
249 void value_set_identity_manager_app (GValue* value, gpointer v_object);
250 void value_take_identity_manager_app (GValue* value, gpointer v_object);
251 gpointer value_get_identity_manager_app (const GValue* value);
252 GType identity_manager_app_get_type (void) G_GNUC_CONST;
253 #define IDENTITY_MANAGER_MODEL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_IDENTITY_MANAGER_MODEL, IdentityManagerModelPrivate))
254 enum  {
255         IDENTITY_MANAGER_MODEL_DUMMY_PROPERTY
256 };
257 #define IDENTITY_MANAGER_MODEL_FILE_NAME "identities.txt"
258 GeeLinkedList* identity_manager_model_get_card_list (IdentityManagerModel* self);
259 GeeLinkedList* iidentity_card_store_get_card_list (IIdentityCardStore* self);
260 static gint __lambda4_ (gconstpointer a, gconstpointer b);
261 gboolean id_card_IsNoIdentity (IdCard* self);
262 static gint ___lambda4__gcompare_func (gconstpointer a, gconstpointer b);
263 IdCard* id_card_NewNoIdentity (void);
264 gboolean id_card_get_store_password (IdCard* self);
265 gboolean identity_manager_model_display_name_is_valid (IdentityManagerModel* self, const gchar* name, gchar** candidate);
266 static gboolean identity_manager_model_remove_duplicates (IdentityManagerModel* self, IdCard* card);
267 const gchar* id_card_get_nai (IdCard* self);
268 static gboolean identity_manager_model_remove_card_internal (IdentityManagerModel* self, IdCard* card);
269 IdCard* identity_manager_model_find_id_card (IdentityManagerModel* self, const gchar* nai, gboolean force_flat_file_store);
270 IIdentityCardStoreStoreType identity_manager_model_get_store_type (IdentityManagerModel* self);
271 void identity_manager_model_set_store_type (IdentityManagerModel* self, IIdentityCardStoreStoreType type);
272 void identity_manager_model_add_card (IdentityManagerModel* self, IdCard* card, gboolean force_flat_file_store);
273 gboolean id_card_get_temporary (IdCard* self);
274 void id_card_set_display_name (IdCard* self, const gchar* value);
275 void iidentity_card_store_add_card (IIdentityCardStore* self, IdCard* card);
276 IdCard* identity_manager_model_update_card (IdentityManagerModel* self, IdCard* card);
277 IdCard* iidentity_card_store_update_card (IIdentityCardStore* self, IdCard* card);
278 gboolean iidentity_card_store_remove_card (IIdentityCardStore* self, IdCard* card);
279 gboolean identity_manager_model_remove_card (IdentityManagerModel* self, IdCard* card);
280 KeyringStore* keyring_store_new (void);
281 KeyringStore* keyring_store_construct (GType object_type);
282 GType keyring_store_get_type (void) G_GNUC_CONST;
283 LocalFlatFileStore* local_flat_file_store_new (void);
284 LocalFlatFileStore* local_flat_file_store_construct (GType object_type);
285 GType local_flat_file_store_get_type (void) G_GNUC_CONST;
286 gboolean identity_manager_model_HasNonTrivialIdentities (IdentityManagerModel* self);
287 gchar** id_card_get_services (IdCard* self, int* result_length1);
288 GType rule_get_type (void) G_GNUC_CONST;
289 Rule* rule_dup (const Rule* self);
290 void rule_free (Rule* self);
291 void rule_copy (const Rule* self, Rule* dest);
292 void rule_destroy (Rule* self);
293 Rule* id_card_get_rules (IdCard* self, int* result_length1);
294 IdentityManagerModel* identity_manager_model_new (IdentityManagerApp* parent_app, IIdentityCardStoreStoreType store_type);
295 IdentityManagerModel* identity_manager_model_construct (GType object_type, IdentityManagerApp* parent_app, IIdentityCardStoreStoreType store_type);
296 static void identity_manager_model_finalize (GObject* obj);
297
298
299 Password* password_construct (GType object_type, const gchar* in_password) {
300         Password* self = NULL;
301         const gchar* _tmp0_ = NULL;
302 #line 54 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
303         g_return_val_if_fail (in_password != NULL, NULL);
304 #line 54 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
305         self = (Password*) g_type_create_instance (object_type);
306 #line 55 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
307         _tmp0_ = in_password;
308 #line 55 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
309         password_set_password (self, _tmp0_);
310 #line 54 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
311         return self;
312 #line 313 "moonshot-identities-manager.c"
313 }
314
315
316 Password* password_new (const gchar* in_password) {
317 #line 54 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
318         return password_construct (TYPE_PASSWORD, in_password);
319 #line 320 "moonshot-identities-manager.c"
320 }
321
322
323 const gchar* password_get_password (Password* self) {
324         const gchar* result;
325         const gchar* _tmp0_ = NULL;
326 #line 38 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
327         g_return_val_if_fail (self != NULL, NULL);
328 #line 39 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
329         _tmp0_ = self->priv->_password;
330 #line 39 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
331         result = _tmp0_;
332 #line 39 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
333         return result;
334 #line 335 "moonshot-identities-manager.c"
335 }
336
337
338 void password_set_password (Password* self, const gchar* value) {
339         const gchar* _tmp0_ = NULL;
340         const gchar* _tmp2_ = NULL;
341 #line 41 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
342         g_return_if_fail (self != NULL);
343 #line 42 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
344         _tmp0_ = self->priv->_password;
345 #line 42 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
346         if (_tmp0_ != NULL) {
347 #line 348 "moonshot-identities-manager.c"
348                 const gchar* _tmp1_ = NULL;
349 #line 43 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
350                 _tmp1_ = self->priv->_password;
351 #line 43 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
352                 gnome_keyring_memory_free ((void*) _tmp1_);
353 #line 44 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
354                 self->priv->_password = NULL;
355 #line 356 "moonshot-identities-manager.c"
356         }
357 #line 46 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
358         _tmp2_ = value;
359 #line 46 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
360         if (_tmp2_ != NULL) {
361 #line 362 "moonshot-identities-manager.c"
362                 const gchar* _tmp3_ = NULL;
363                 const gchar* _tmp4_ = NULL;
364 #line 47 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
365                 _tmp3_ = value;
366 #line 47 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
367                 _tmp4_ = gnome_keyring_memory_strdup (_tmp3_);
368 #line 47 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
369                 self->priv->_password = _tmp4_;
370 #line 371 "moonshot-identities-manager.c"
371         }
372 }
373
374
375 static void value_password_init (GValue* value) {
376 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
377         value->data[0].v_pointer = NULL;
378 #line 379 "moonshot-identities-manager.c"
379 }
380
381
382 static void value_password_free_value (GValue* value) {
383 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
384         if (value->data[0].v_pointer) {
385 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
386                 password_unref (value->data[0].v_pointer);
387 #line 388 "moonshot-identities-manager.c"
388         }
389 }
390
391
392 static void value_password_copy_value (const GValue* src_value, GValue* dest_value) {
393 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
394         if (src_value->data[0].v_pointer) {
395 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
396                 dest_value->data[0].v_pointer = password_ref (src_value->data[0].v_pointer);
397 #line 398 "moonshot-identities-manager.c"
398         } else {
399 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
400                 dest_value->data[0].v_pointer = NULL;
401 #line 402 "moonshot-identities-manager.c"
402         }
403 }
404
405
406 static gpointer value_password_peek_pointer (const GValue* value) {
407 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
408         return value->data[0].v_pointer;
409 #line 410 "moonshot-identities-manager.c"
410 }
411
412
413 static gchar* value_password_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
414 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
415         if (collect_values[0].v_pointer) {
416 #line 417 "moonshot-identities-manager.c"
417                 Password* object;
418                 object = collect_values[0].v_pointer;
419 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
420                 if (object->parent_instance.g_class == NULL) {
421 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
422                         return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
423 #line 424 "moonshot-identities-manager.c"
424                 } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
425 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
426                         return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
427 #line 428 "moonshot-identities-manager.c"
428                 }
429 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
430                 value->data[0].v_pointer = password_ref (object);
431 #line 432 "moonshot-identities-manager.c"
432         } else {
433 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
434                 value->data[0].v_pointer = NULL;
435 #line 436 "moonshot-identities-manager.c"
436         }
437 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
438         return NULL;
439 #line 440 "moonshot-identities-manager.c"
440 }
441
442
443 static gchar* value_password_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
444         Password** object_p;
445         object_p = collect_values[0].v_pointer;
446 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
447         if (!object_p) {
448 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
449                 return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
450 #line 451 "moonshot-identities-manager.c"
451         }
452 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
453         if (!value->data[0].v_pointer) {
454 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
455                 *object_p = NULL;
456 #line 457 "moonshot-identities-manager.c"
457         } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
458 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
459                 *object_p = value->data[0].v_pointer;
460 #line 461 "moonshot-identities-manager.c"
461         } else {
462 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
463                 *object_p = password_ref (value->data[0].v_pointer);
464 #line 465 "moonshot-identities-manager.c"
465         }
466 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
467         return NULL;
468 #line 469 "moonshot-identities-manager.c"
469 }
470
471
472 GParamSpec* param_spec_password (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) {
473         ParamSpecPassword* spec;
474 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
475         g_return_val_if_fail (g_type_is_a (object_type, TYPE_PASSWORD), NULL);
476 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
477         spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
478 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
479         G_PARAM_SPEC (spec)->value_type = object_type;
480 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
481         return G_PARAM_SPEC (spec);
482 #line 483 "moonshot-identities-manager.c"
483 }
484
485
486 gpointer value_get_password (const GValue* value) {
487 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
488         g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PASSWORD), NULL);
489 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
490         return value->data[0].v_pointer;
491 #line 492 "moonshot-identities-manager.c"
492 }
493
494
495 void value_set_password (GValue* value, gpointer v_object) {
496         Password* old;
497 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
498         g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PASSWORD));
499 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
500         old = value->data[0].v_pointer;
501 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
502         if (v_object) {
503 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
504                 g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PASSWORD));
505 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
506                 g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
507 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
508                 value->data[0].v_pointer = v_object;
509 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
510                 password_ref (value->data[0].v_pointer);
511 #line 512 "moonshot-identities-manager.c"
512         } else {
513 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
514                 value->data[0].v_pointer = NULL;
515 #line 516 "moonshot-identities-manager.c"
516         }
517 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
518         if (old) {
519 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
520                 password_unref (old);
521 #line 522 "moonshot-identities-manager.c"
522         }
523 }
524
525
526 void value_take_password (GValue* value, gpointer v_object) {
527         Password* old;
528 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
529         g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PASSWORD));
530 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
531         old = value->data[0].v_pointer;
532 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
533         if (v_object) {
534 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
535                 g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PASSWORD));
536 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
537                 g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
538 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
539                 value->data[0].v_pointer = v_object;
540 #line 541 "moonshot-identities-manager.c"
541         } else {
542 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
543                 value->data[0].v_pointer = NULL;
544 #line 545 "moonshot-identities-manager.c"
545         }
546 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
547         if (old) {
548 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
549                 password_unref (old);
550 #line 551 "moonshot-identities-manager.c"
551         }
552 }
553
554
555 static void password_class_init (PasswordClass * klass) {
556 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
557         password_parent_class = g_type_class_peek_parent (klass);
558 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
559         ((PasswordClass *) klass)->finalize = password_finalize;
560 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
561         g_type_class_add_private (klass, sizeof (PasswordPrivate));
562 #line 563 "moonshot-identities-manager.c"
563 }
564
565
566 static void password_instance_init (Password * self) {
567 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
568         self->priv = PASSWORD_GET_PRIVATE (self);
569 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
570         self->ref_count = 1;
571 #line 572 "moonshot-identities-manager.c"
572 }
573
574
575 static void password_finalize (Password* obj) {
576         Password * self;
577 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
578         self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PASSWORD, Password);
579 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
580         g_signal_handlers_destroy (self);
581 #line 59 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
582         password_set_password (self, NULL);
583 #line 584 "moonshot-identities-manager.c"
584 }
585
586
587 GType password_get_type (void) {
588         static volatile gsize password_type_id__volatile = 0;
589         if (g_once_init_enter (&password_type_id__volatile)) {
590                 static const GTypeValueTable g_define_type_value_table = { value_password_init, value_password_free_value, value_password_copy_value, value_password_peek_pointer, "p", value_password_collect_value, "p", value_password_lcopy_value };
591                 static const GTypeInfo g_define_type_info = { sizeof (PasswordClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) password_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Password), 0, (GInstanceInitFunc) password_instance_init, &g_define_type_value_table };
592                 static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
593                 GType password_type_id;
594                 password_type_id = g_type_register_fundamental (g_type_fundamental_next (), "Password", &g_define_type_info, &g_define_type_fundamental_info, 0);
595                 g_once_init_leave (&password_type_id__volatile, password_type_id);
596         }
597         return password_type_id__volatile;
598 }
599
600
601 gpointer password_ref (gpointer instance) {
602         Password* self;
603         self = instance;
604 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
605         g_atomic_int_inc (&self->ref_count);
606 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
607         return instance;
608 #line 609 "moonshot-identities-manager.c"
609 }
610
611
612 void password_unref (gpointer instance) {
613         Password* self;
614         self = instance;
615 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
616         if (g_atomic_int_dec_and_test (&self->ref_count)) {
617 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
618                 PASSWORD_GET_CLASS (self)->finalize (self);
619 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
620                 g_type_free_instance ((GTypeInstance *) self);
621 #line 622 "moonshot-identities-manager.c"
622         }
623 }
624
625
626 static gchar* password_hash_table_ComputeHashKey (IdCard* card, IIdentityCardStore* store) {
627         gchar* result = NULL;
628         IdCard* _tmp0_ = NULL;
629         const gchar* _tmp1_ = NULL;
630         const gchar* _tmp2_ = NULL;
631         IIdentityCardStore* _tmp3_ = NULL;
632         IIdentityCardStoreStoreType _tmp4_ = 0;
633         gchar* _tmp5_ = NULL;
634 #line 66 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
635         g_return_val_if_fail (card != NULL, NULL);
636 #line 66 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
637         g_return_val_if_fail (store != NULL, NULL);
638 #line 67 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
639         _tmp0_ = card;
640 #line 67 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
641         _tmp1_ = id_card_get_display_name (_tmp0_);
642 #line 67 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
643         _tmp2_ = _tmp1_;
644 #line 67 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
645         _tmp3_ = store;
646 #line 67 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
647         _tmp4_ = iidentity_card_store_get_store_type (_tmp3_);
648 #line 67 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
649         _tmp5_ = g_strdup_printf ("%s_store_%d", _tmp2_, (gint) _tmp4_);
650 #line 67 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
651         result = _tmp5_;
652 #line 67 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
653         return result;
654 #line 655 "moonshot-identities-manager.c"
655 }
656
657
658 void password_hash_table_CachePassword (PasswordHashTable* self, IdCard* card, IIdentityCardStore* store) {
659         GHashTable* _tmp0_ = NULL;
660         IdCard* _tmp1_ = NULL;
661         IIdentityCardStore* _tmp2_ = NULL;
662         gchar* _tmp3_ = NULL;
663         IdCard* _tmp4_ = NULL;
664         const gchar* _tmp5_ = NULL;
665         const gchar* _tmp6_ = NULL;
666         Password* _tmp7_ = NULL;
667 #line 70 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
668         g_return_if_fail (self != NULL);
669 #line 70 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
670         g_return_if_fail (card != NULL);
671 #line 70 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
672         g_return_if_fail (store != NULL);
673 #line 71 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
674         _tmp0_ = self->priv->password_table;
675 #line 71 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
676         _tmp1_ = card;
677 #line 71 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
678         _tmp2_ = store;
679 #line 71 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
680         _tmp3_ = password_hash_table_ComputeHashKey (_tmp1_, _tmp2_);
681 #line 71 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
682         _tmp4_ = card;
683 #line 71 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
684         _tmp5_ = id_card_get_password (_tmp4_);
685 #line 71 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
686         _tmp6_ = _tmp5_;
687 #line 71 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
688         _tmp7_ = password_new (_tmp6_);
689 #line 71 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
690         g_hash_table_replace (_tmp0_, _tmp3_, _tmp7_);
691 #line 692 "moonshot-identities-manager.c"
692 }
693
694
695 void password_hash_table_RemovePassword (PasswordHashTable* self, IdCard* card, IIdentityCardStore* store) {
696         GHashTable* _tmp0_ = NULL;
697         IdCard* _tmp1_ = NULL;
698         IIdentityCardStore* _tmp2_ = NULL;
699         gchar* _tmp3_ = NULL;
700         gchar* _tmp4_ = NULL;
701 #line 74 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
702         g_return_if_fail (self != NULL);
703 #line 74 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
704         g_return_if_fail (card != NULL);
705 #line 74 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
706         g_return_if_fail (store != NULL);
707 #line 75 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
708         _tmp0_ = self->priv->password_table;
709 #line 75 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
710         _tmp1_ = card;
711 #line 75 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
712         _tmp2_ = store;
713 #line 75 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
714         _tmp3_ = password_hash_table_ComputeHashKey (_tmp1_, _tmp2_);
715 #line 75 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
716         _tmp4_ = _tmp3_;
717 #line 75 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
718         g_hash_table_remove (_tmp0_, _tmp4_);
719 #line 75 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
720         _g_free0 (_tmp4_);
721 #line 722 "moonshot-identities-manager.c"
722 }
723
724
725 void password_hash_table_RetrievePassword (PasswordHashTable* self, IdCard* card, IIdentityCardStore* store) {
726         Password* password = NULL;
727         GHashTable* _tmp0_ = NULL;
728         IdCard* _tmp1_ = NULL;
729         IIdentityCardStore* _tmp2_ = NULL;
730         gchar* _tmp3_ = NULL;
731         gchar* _tmp4_ = NULL;
732         gconstpointer _tmp5_ = NULL;
733         Password* _tmp6_ = NULL;
734         Password* _tmp7_ = NULL;
735 #line 77 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
736         g_return_if_fail (self != NULL);
737 #line 77 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
738         g_return_if_fail (card != NULL);
739 #line 77 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
740         g_return_if_fail (store != NULL);
741 #line 78 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
742         _tmp0_ = self->priv->password_table;
743 #line 78 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
744         _tmp1_ = card;
745 #line 78 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
746         _tmp2_ = store;
747 #line 78 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
748         _tmp3_ = password_hash_table_ComputeHashKey (_tmp1_, _tmp2_);
749 #line 78 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
750         _tmp4_ = _tmp3_;
751 #line 78 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
752         _tmp5_ = g_hash_table_lookup (_tmp0_, _tmp4_);
753 #line 78 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
754         _tmp6_ = (Password*) _tmp5_;
755 #line 78 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
756         _g_free0 (_tmp4_);
757 #line 78 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
758         password = _tmp6_;
759 #line 79 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
760         _tmp7_ = password;
761 #line 79 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
762         if (_tmp7_ != NULL) {
763 #line 764 "moonshot-identities-manager.c"
764                 IdCard* _tmp8_ = NULL;
765                 Password* _tmp9_ = NULL;
766                 const gchar* _tmp10_ = NULL;
767                 const gchar* _tmp11_ = NULL;
768 #line 80 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
769                 _tmp8_ = card;
770 #line 80 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
771                 _tmp9_ = password;
772 #line 80 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
773                 _tmp10_ = password_get_password (_tmp9_);
774 #line 80 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
775                 _tmp11_ = _tmp10_;
776 #line 80 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
777                 id_card_set_password (_tmp8_, _tmp11_);
778 #line 779 "moonshot-identities-manager.c"
779         }
780 }
781
782
783 static void _g_free0_ (gpointer var) {
784 #line 84 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
785         var = (g_free (var), NULL);
786 #line 787 "moonshot-identities-manager.c"
787 }
788
789
790 static void _password_unref0_ (gpointer var) {
791 #line 84 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
792         (var == NULL) ? NULL : (var = (password_unref (var), NULL));
793 #line 794 "moonshot-identities-manager.c"
794 }
795
796
797 PasswordHashTable* password_hash_table_construct (GType object_type) {
798         PasswordHashTable * self = NULL;
799         GHashFunc _tmp0_ = NULL;
800         GEqualFunc _tmp1_ = NULL;
801         GHashTable* _tmp2_ = NULL;
802 #line 83 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
803         self = (PasswordHashTable*) g_object_new (object_type, NULL);
804 #line 84 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
805         _tmp0_ = g_str_hash;
806 #line 84 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
807         _tmp1_ = g_str_equal;
808 #line 84 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
809         _tmp2_ = g_hash_table_new_full (_tmp0_, _tmp1_, _g_free0_, _password_unref0_);
810 #line 84 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
811         _g_hash_table_unref0 (self->priv->password_table);
812 #line 84 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
813         self->priv->password_table = _tmp2_;
814 #line 83 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
815         return self;
816 #line 817 "moonshot-identities-manager.c"
817 }
818
819
820 PasswordHashTable* password_hash_table_new (void) {
821 #line 83 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
822         return password_hash_table_construct (TYPE_PASSWORD_HASH_TABLE);
823 #line 824 "moonshot-identities-manager.c"
824 }
825
826
827 static void password_hash_table_class_init (PasswordHashTableClass * klass) {
828 #line 63 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
829         password_hash_table_parent_class = g_type_class_peek_parent (klass);
830 #line 63 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
831         g_type_class_add_private (klass, sizeof (PasswordHashTablePrivate));
832 #line 63 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
833         G_OBJECT_CLASS (klass)->finalize = password_hash_table_finalize;
834 #line 835 "moonshot-identities-manager.c"
835 }
836
837
838 static void password_hash_table_instance_init (PasswordHashTable * self) {
839 #line 63 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
840         self->priv = PASSWORD_HASH_TABLE_GET_PRIVATE (self);
841 #line 842 "moonshot-identities-manager.c"
842 }
843
844
845 static void password_hash_table_finalize (GObject* obj) {
846         PasswordHashTable * self;
847 #line 63 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
848         self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PASSWORD_HASH_TABLE, PasswordHashTable);
849 #line 64 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
850         _g_hash_table_unref0 (self->priv->password_table);
851 #line 63 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
852         G_OBJECT_CLASS (password_hash_table_parent_class)->finalize (obj);
853 #line 854 "moonshot-identities-manager.c"
854 }
855
856
857 GType password_hash_table_get_type (void) {
858         static volatile gsize password_hash_table_type_id__volatile = 0;
859         if (g_once_init_enter (&password_hash_table_type_id__volatile)) {
860                 static const GTypeInfo g_define_type_info = { sizeof (PasswordHashTableClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) password_hash_table_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PasswordHashTable), 0, (GInstanceInitFunc) password_hash_table_instance_init, NULL };
861                 GType password_hash_table_type_id;
862                 password_hash_table_type_id = g_type_register_static (G_TYPE_OBJECT, "PasswordHashTable", &g_define_type_info, 0);
863                 g_once_init_leave (&password_hash_table_type_id__volatile, password_hash_table_type_id);
864         }
865         return password_hash_table_type_id__volatile;
866 }
867
868
869 static gpointer _g_object_ref0 (gpointer self) {
870 #line 95 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
871         return self ? g_object_ref (self) : NULL;
872 #line 873 "moonshot-identities-manager.c"
873 }
874
875
876 static gint __lambda4_ (gconstpointer a, gconstpointer b) {
877         gint result = 0;
878         IdCard* id_a = NULL;
879         gconstpointer _tmp0_ = NULL;
880         IdCard* _tmp1_ = NULL;
881         IdCard* id_b = NULL;
882         gconstpointer _tmp2_ = NULL;
883         IdCard* _tmp3_ = NULL;
884         gboolean _tmp4_ = FALSE;
885         IdCard* _tmp5_ = NULL;
886         gboolean _tmp6_ = FALSE;
887         GCompareFunc _tmp14_ = NULL;
888         IdCard* _tmp15_ = NULL;
889         const gchar* _tmp16_ = NULL;
890         const gchar* _tmp17_ = NULL;
891         IdCard* _tmp18_ = NULL;
892         const gchar* _tmp19_ = NULL;
893         const gchar* _tmp20_ = NULL;
894         gint _tmp21_ = 0;
895 #line 95 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
896         _tmp0_ = a;
897 #line 95 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
898         _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_ID_CARD, IdCard));
899 #line 95 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
900         id_a = _tmp1_;
901 #line 96 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
902         _tmp2_ = b;
903 #line 96 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
904         _tmp3_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_ID_CARD, IdCard));
905 #line 96 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
906         id_b = _tmp3_;
907 #line 97 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
908         _tmp5_ = id_a;
909 #line 97 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
910         _tmp6_ = id_card_IsNoIdentity (_tmp5_);
911 #line 97 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
912         if (_tmp6_) {
913 #line 914 "moonshot-identities-manager.c"
914                 IdCard* _tmp7_ = NULL;
915                 gboolean _tmp8_ = FALSE;
916 #line 97 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
917                 _tmp7_ = id_b;
918 #line 97 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
919                 _tmp8_ = id_card_IsNoIdentity (_tmp7_);
920 #line 97 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
921                 _tmp4_ = !_tmp8_;
922 #line 923 "moonshot-identities-manager.c"
923         } else {
924 #line 97 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
925                 _tmp4_ = FALSE;
926 #line 927 "moonshot-identities-manager.c"
927         }
928 #line 97 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
929         if (_tmp4_) {
930 #line 98 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
931                 result = -1;
932 #line 98 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
933                 _g_object_unref0 (id_b);
934 #line 98 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
935                 _g_object_unref0 (id_a);
936 #line 98 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
937                 return result;
938 #line 939 "moonshot-identities-manager.c"
939         } else {
940                 gboolean _tmp9_ = FALSE;
941                 IdCard* _tmp10_ = NULL;
942                 gboolean _tmp11_ = FALSE;
943 #line 99 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
944                 _tmp10_ = id_b;
945 #line 99 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
946                 _tmp11_ = id_card_IsNoIdentity (_tmp10_);
947 #line 99 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
948                 if (_tmp11_) {
949 #line 950 "moonshot-identities-manager.c"
950                         IdCard* _tmp12_ = NULL;
951                         gboolean _tmp13_ = FALSE;
952 #line 99 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
953                         _tmp12_ = id_a;
954 #line 99 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
955                         _tmp13_ = id_card_IsNoIdentity (_tmp12_);
956 #line 99 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
957                         _tmp9_ = !_tmp13_;
958 #line 959 "moonshot-identities-manager.c"
959                 } else {
960 #line 99 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
961                         _tmp9_ = FALSE;
962 #line 963 "moonshot-identities-manager.c"
963                 }
964 #line 99 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
965                 if (_tmp9_) {
966 #line 100 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
967                         result = 1;
968 #line 100 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
969                         _g_object_unref0 (id_b);
970 #line 100 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
971                         _g_object_unref0 (id_a);
972 #line 100 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
973                         return result;
974 #line 975 "moonshot-identities-manager.c"
975                 }
976         }
977 #line 102 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
978         _tmp14_ = g_strcmp0;
979 #line 102 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
980         _tmp15_ = id_a;
981 #line 102 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
982         _tmp16_ = id_card_get_display_name (_tmp15_);
983 #line 102 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
984         _tmp17_ = _tmp16_;
985 #line 102 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
986         _tmp18_ = id_b;
987 #line 102 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
988         _tmp19_ = id_card_get_display_name (_tmp18_);
989 #line 102 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
990         _tmp20_ = _tmp19_;
991 #line 102 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
992         _tmp21_ = _tmp14_ (_tmp17_, _tmp20_);
993 #line 102 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
994         result = _tmp21_;
995 #line 102 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
996         _g_object_unref0 (id_b);
997 #line 102 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
998         _g_object_unref0 (id_a);
999 #line 102 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1000         return result;
1001 #line 1002 "moonshot-identities-manager.c"
1002 }
1003
1004
1005 static gint ___lambda4__gcompare_func (gconstpointer a, gconstpointer b) {
1006         gint result;
1007         result = __lambda4_ (a, b);
1008 #line 94 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1009         return result;
1010 #line 1011 "moonshot-identities-manager.c"
1011 }
1012
1013
1014 GeeLinkedList* identity_manager_model_get_card_list (IdentityManagerModel* self) {
1015         GeeLinkedList* result = NULL;
1016         GeeLinkedList* identities = NULL;
1017         IIdentityCardStore* _tmp0_ = NULL;
1018         GeeLinkedList* _tmp1_ = NULL;
1019         GeeLinkedList* _tmp2_ = NULL;
1020         gboolean _tmp3_ = FALSE;
1021         GeeLinkedList* _tmp4_ = NULL;
1022         gboolean _tmp5_ = FALSE;
1023         gboolean _tmp6_ = FALSE;
1024 #line 92 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1025         g_return_val_if_fail (self != NULL, NULL);
1026 #line 93 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1027         _tmp0_ = self->priv->store;
1028 #line 93 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1029         _tmp1_ = iidentity_card_store_get_card_list (_tmp0_);
1030 #line 93 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1031         identities = _tmp1_;
1032 #line 94 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1033         _tmp2_ = identities;
1034 #line 94 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1035         gee_list_sort ((GeeList*) _tmp2_, ___lambda4__gcompare_func);
1036 #line 104 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1037         _tmp4_ = identities;
1038 #line 104 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1039         _tmp5_ = gee_abstract_collection_get_is_empty ((GeeAbstractCollection*) _tmp4_);
1040 #line 104 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1041         _tmp6_ = _tmp5_;
1042 #line 104 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1043         if (_tmp6_) {
1044 #line 104 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1045                 _tmp3_ = TRUE;
1046 #line 1047 "moonshot-identities-manager.c"
1047         } else {
1048                 GeeLinkedList* _tmp7_ = NULL;
1049                 gpointer _tmp8_ = NULL;
1050                 IdCard* _tmp9_ = NULL;
1051                 gboolean _tmp10_ = FALSE;
1052 #line 104 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1053                 _tmp7_ = identities;
1054 #line 104 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1055                 _tmp8_ = gee_abstract_list_get ((GeeAbstractList*) _tmp7_, 0);
1056 #line 104 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1057                 _tmp9_ = (IdCard*) _tmp8_;
1058 #line 104 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1059                 _tmp10_ = id_card_IsNoIdentity (_tmp9_);
1060 #line 104 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1061                 _tmp3_ = !_tmp10_;
1062 #line 104 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1063                 _g_object_unref0 (_tmp9_);
1064 #line 1065 "moonshot-identities-manager.c"
1065         }
1066 #line 104 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1067         if (_tmp3_) {
1068 #line 1069 "moonshot-identities-manager.c"
1069                 GeeLinkedList* _tmp11_ = NULL;
1070                 IdCard* _tmp12_ = NULL;
1071                 IdCard* _tmp13_ = NULL;
1072 #line 105 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1073                 _tmp11_ = identities;
1074 #line 105 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1075                 _tmp12_ = id_card_NewNoIdentity ();
1076 #line 105 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1077                 _tmp13_ = _tmp12_;
1078 #line 105 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1079                 gee_abstract_list_insert ((GeeAbstractList*) _tmp11_, 0, _tmp13_);
1080 #line 105 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1081                 _g_object_unref0 (_tmp13_);
1082 #line 1083 "moonshot-identities-manager.c"
1083         }
1084         {
1085                 GeeLinkedList* _id_card_list = NULL;
1086                 GeeLinkedList* _tmp14_ = NULL;
1087                 GeeLinkedList* _tmp15_ = NULL;
1088                 gint _id_card_size = 0;
1089                 GeeLinkedList* _tmp16_ = NULL;
1090                 gint _tmp17_ = 0;
1091                 gint _tmp18_ = 0;
1092                 gint _id_card_index = 0;
1093 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1094                 _tmp14_ = identities;
1095 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1096                 _tmp15_ = _g_object_ref0 (_tmp14_);
1097 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1098                 _id_card_list = _tmp15_;
1099 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1100                 _tmp16_ = _id_card_list;
1101 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1102                 _tmp17_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp16_);
1103 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1104                 _tmp18_ = _tmp17_;
1105 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1106                 _id_card_size = _tmp18_;
1107 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1108                 _id_card_index = -1;
1109 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1110                 while (TRUE) {
1111 #line 1112 "moonshot-identities-manager.c"
1112                         gint _tmp19_ = 0;
1113                         gint _tmp20_ = 0;
1114                         gint _tmp21_ = 0;
1115                         IdCard* id_card = NULL;
1116                         GeeLinkedList* _tmp22_ = NULL;
1117                         gint _tmp23_ = 0;
1118                         gpointer _tmp24_ = NULL;
1119                         IdCard* _tmp25_ = NULL;
1120                         gboolean _tmp26_ = FALSE;
1121                         gboolean _tmp27_ = FALSE;
1122 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1123                         _tmp19_ = _id_card_index;
1124 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1125                         _id_card_index = _tmp19_ + 1;
1126 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1127                         _tmp20_ = _id_card_index;
1128 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1129                         _tmp21_ = _id_card_size;
1130 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1131                         if (!(_tmp20_ < _tmp21_)) {
1132 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1133                                 break;
1134 #line 1135 "moonshot-identities-manager.c"
1135                         }
1136 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1137                         _tmp22_ = _id_card_list;
1138 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1139                         _tmp23_ = _id_card_index;
1140 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1141                         _tmp24_ = gee_abstract_list_get ((GeeAbstractList*) _tmp22_, _tmp23_);
1142 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1143                         id_card = (IdCard*) _tmp24_;
1144 #line 107 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1145                         _tmp25_ = id_card;
1146 #line 107 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1147                         _tmp26_ = id_card_get_store_password (_tmp25_);
1148 #line 107 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1149                         _tmp27_ = _tmp26_;
1150 #line 107 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1151                         if (!_tmp27_) {
1152 #line 1153 "moonshot-identities-manager.c"
1153                                 PasswordHashTable* _tmp28_ = NULL;
1154                                 IdCard* _tmp29_ = NULL;
1155                                 IIdentityCardStore* _tmp30_ = NULL;
1156 #line 108 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1157                                 _tmp28_ = self->priv->password_table;
1158 #line 108 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1159                                 _tmp29_ = id_card;
1160 #line 108 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1161                                 _tmp30_ = self->priv->store;
1162 #line 108 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1163                                 password_hash_table_RetrievePassword (_tmp28_, _tmp29_, _tmp30_);
1164 #line 1165 "moonshot-identities-manager.c"
1165                         }
1166 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1167                         _g_object_unref0 (id_card);
1168 #line 1169 "moonshot-identities-manager.c"
1169                 }
1170 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1171                 _g_object_unref0 (_id_card_list);
1172 #line 1173 "moonshot-identities-manager.c"
1173         }
1174 #line 111 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1175         result = identities;
1176 #line 111 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1177         return result;
1178 #line 1179 "moonshot-identities-manager.c"
1179 }
1180
1181
1182 gboolean identity_manager_model_display_name_is_valid (IdentityManagerModel* self, const gchar* name, gchar** candidate) {
1183         gchar* _vala_candidate = NULL;
1184         gboolean result = FALSE;
1185 #line 116 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1186         g_return_val_if_fail (self != NULL, FALSE);
1187 #line 116 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1188         g_return_val_if_fail (name != NULL, FALSE);
1189 #line 119 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1190         if ((&_vala_candidate) != NULL) {
1191 #line 120 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1192                 _g_free0 (_vala_candidate);
1193 #line 120 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1194                 _vala_candidate = NULL;
1195 #line 1196 "moonshot-identities-manager.c"
1196         }
1197         {
1198                 GeeLinkedList* _id_card_list = NULL;
1199                 IIdentityCardStore* _tmp0_ = NULL;
1200                 GeeLinkedList* _tmp1_ = NULL;
1201                 gint _id_card_size = 0;
1202                 GeeLinkedList* _tmp2_ = NULL;
1203                 gint _tmp3_ = 0;
1204                 gint _tmp4_ = 0;
1205                 gint _id_card_index = 0;
1206 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1207                 _tmp0_ = self->priv->store;
1208 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1209                 _tmp1_ = iidentity_card_store_get_card_list (_tmp0_);
1210 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1211                 _id_card_list = _tmp1_;
1212 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1213                 _tmp2_ = _id_card_list;
1214 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1215                 _tmp3_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp2_);
1216 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1217                 _tmp4_ = _tmp3_;
1218 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1219                 _id_card_size = _tmp4_;
1220 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1221                 _id_card_index = -1;
1222 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1223                 while (TRUE) {
1224 #line 1225 "moonshot-identities-manager.c"
1225                         gint _tmp5_ = 0;
1226                         gint _tmp6_ = 0;
1227                         gint _tmp7_ = 0;
1228                         IdCard* id_card = NULL;
1229                         GeeLinkedList* _tmp8_ = NULL;
1230                         gint _tmp9_ = 0;
1231                         gpointer _tmp10_ = NULL;
1232                         IdCard* _tmp11_ = NULL;
1233                         const gchar* _tmp12_ = NULL;
1234                         const gchar* _tmp13_ = NULL;
1235                         const gchar* _tmp14_ = NULL;
1236 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1237                         _tmp5_ = _id_card_index;
1238 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1239                         _id_card_index = _tmp5_ + 1;
1240 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1241                         _tmp6_ = _id_card_index;
1242 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1243                         _tmp7_ = _id_card_size;
1244 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1245                         if (!(_tmp6_ < _tmp7_)) {
1246 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1247                                 break;
1248 #line 1249 "moonshot-identities-manager.c"
1249                         }
1250 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1251                         _tmp8_ = _id_card_list;
1252 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1253                         _tmp9_ = _id_card_index;
1254 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1255                         _tmp10_ = gee_abstract_list_get ((GeeAbstractList*) _tmp8_, _tmp9_);
1256 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1257                         id_card = (IdCard*) _tmp10_;
1258 #line 123 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1259                         _tmp11_ = id_card;
1260 #line 123 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1261                         _tmp12_ = id_card_get_display_name (_tmp11_);
1262 #line 123 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1263                         _tmp13_ = _tmp12_;
1264 #line 123 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1265                         _tmp14_ = name;
1266 #line 123 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1267                         if (g_strcmp0 (_tmp13_, _tmp14_) == 0) {
1268 #line 125 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1269                                 if ((&_vala_candidate) != NULL) {
1270 #line 1271 "moonshot-identities-manager.c"
1271                                         {
1272                                                 gint i = 0;
1273 #line 127 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1274                                                 i = 0;
1275 #line 1276 "moonshot-identities-manager.c"
1276                                                 {
1277                                                         gboolean _tmp15_ = FALSE;
1278 #line 127 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1279                                                         _tmp15_ = TRUE;
1280 #line 127 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1281                                                         while (TRUE) {
1282 #line 1283 "moonshot-identities-manager.c"
1283                                                                 gint _tmp17_ = 0;
1284                                                                 gchar* tmp = NULL;
1285                                                                 const gchar* _tmp18_ = NULL;
1286                                                                 gint _tmp19_ = 0;
1287                                                                 gchar* _tmp20_ = NULL;
1288                                                                 const gchar* _tmp21_ = NULL;
1289                                                                 gboolean _tmp22_ = FALSE;
1290 #line 127 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1291                                                                 if (!_tmp15_) {
1292 #line 1293 "moonshot-identities-manager.c"
1293                                                                         gint _tmp16_ = 0;
1294 #line 127 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1295                                                                         _tmp16_ = i;
1296 #line 127 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1297                                                                         i = _tmp16_ + 1;
1298 #line 1299 "moonshot-identities-manager.c"
1299                                                                 }
1300 #line 127 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1301                                                                 _tmp15_ = FALSE;
1302 #line 127 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1303                                                                 _tmp17_ = i;
1304 #line 127 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1305                                                                 if (!(_tmp17_ < 1000)) {
1306 #line 127 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1307                                                                         break;
1308 #line 1309 "moonshot-identities-manager.c"
1309                                                                 }
1310 #line 129 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1311                                                                 _tmp18_ = name;
1312 #line 129 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1313                                                                 _tmp19_ = i;
1314 #line 129 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1315                                                                 _tmp20_ = g_strdup_printf ("%s %d", _tmp18_, _tmp19_);
1316 #line 129 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1317                                                                 tmp = _tmp20_;
1318 #line 130 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1319                                                                 _tmp21_ = tmp;
1320 #line 130 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1321                                                                 _tmp22_ = identity_manager_model_display_name_is_valid (self, _tmp21_, NULL);
1322 #line 130 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1323                                                                 if (_tmp22_) {
1324 #line 1325 "moonshot-identities-manager.c"
1325                                                                         const gchar* _tmp23_ = NULL;
1326                                                                         gchar* _tmp24_ = NULL;
1327 #line 132 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1328                                                                         _tmp23_ = tmp;
1329 #line 132 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1330                                                                         _tmp24_ = g_strdup (_tmp23_);
1331 #line 132 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1332                                                                         _g_free0 (_vala_candidate);
1333 #line 132 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1334                                                                         _vala_candidate = _tmp24_;
1335 #line 133 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1336                                                                         _g_free0 (tmp);
1337 #line 133 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1338                                                                         break;
1339 #line 1340 "moonshot-identities-manager.c"
1340                                                                 }
1341 #line 127 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1342                                                                 _g_free0 (tmp);
1343 #line 1344 "moonshot-identities-manager.c"
1344                                                         }
1345                                                 }
1346                                         }
1347                                 }
1348 #line 137 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1349                                 result = FALSE;
1350 #line 137 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1351                                 _g_object_unref0 (id_card);
1352 #line 137 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1353                                 _g_object_unref0 (_id_card_list);
1354 #line 137 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1355                                 if (candidate) {
1356 #line 137 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1357                                         *candidate = _vala_candidate;
1358 #line 1359 "moonshot-identities-manager.c"
1359                                 } else {
1360 #line 137 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1361                                         _g_free0 (_vala_candidate);
1362 #line 1363 "moonshot-identities-manager.c"
1363                                 }
1364 #line 137 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1365                                 return result;
1366 #line 1367 "moonshot-identities-manager.c"
1367                         }
1368 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1369                         _g_object_unref0 (id_card);
1370 #line 1371 "moonshot-identities-manager.c"
1371                 }
1372 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1373                 _g_object_unref0 (_id_card_list);
1374 #line 1375 "moonshot-identities-manager.c"
1375         }
1376 #line 140 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1377         result = TRUE;
1378 #line 140 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1379         if (candidate) {
1380 #line 140 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1381                 *candidate = _vala_candidate;
1382 #line 1383 "moonshot-identities-manager.c"
1383         } else {
1384 #line 140 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1385                 _g_free0 (_vala_candidate);
1386 #line 1387 "moonshot-identities-manager.c"
1387         }
1388 #line 140 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1389         return result;
1390 #line 1391 "moonshot-identities-manager.c"
1391 }
1392
1393
1394 static gboolean identity_manager_model_remove_duplicates (IdentityManagerModel* self, IdCard* card) {
1395         gboolean result = FALSE;
1396         gboolean duplicate_found = FALSE;
1397         gboolean found = FALSE;
1398 #line 143 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1399         g_return_val_if_fail (self != NULL, FALSE);
1400 #line 143 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1401         g_return_val_if_fail (card != NULL, FALSE);
1402 #line 145 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1403         duplicate_found = FALSE;
1404 #line 146 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1405         found = FALSE;
1406 #line 1407 "moonshot-identities-manager.c"
1407         {
1408                 gboolean _tmp0_ = FALSE;
1409 #line 147 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1410                 _tmp0_ = TRUE;
1411 #line 147 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1412                 while (TRUE) {
1413 #line 1414 "moonshot-identities-manager.c"
1414                         GeeLinkedList* cards = NULL;
1415                         IIdentityCardStore* _tmp2_ = NULL;
1416                         GeeLinkedList* _tmp3_ = NULL;
1417 #line 147 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1418                         if (!_tmp0_) {
1419 #line 1420 "moonshot-identities-manager.c"
1420                                 gboolean _tmp1_ = FALSE;
1421 #line 158 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1422                                 _tmp1_ = found;
1423 #line 158 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1424                                 if (!_tmp1_) {
1425 #line 158 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1426                                         break;
1427 #line 1428 "moonshot-identities-manager.c"
1428                                 }
1429                         }
1430 #line 147 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1431                         _tmp0_ = FALSE;
1432 #line 148 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1433                         _tmp2_ = self->priv->store;
1434 #line 148 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1435                         _tmp3_ = iidentity_card_store_get_card_list (_tmp2_);
1436 #line 148 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1437                         cards = _tmp3_;
1438 #line 149 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1439                         found = FALSE;
1440 #line 1441 "moonshot-identities-manager.c"
1441                         {
1442                                 GeeLinkedList* _id_card_list = NULL;
1443                                 GeeLinkedList* _tmp4_ = NULL;
1444                                 GeeLinkedList* _tmp5_ = NULL;
1445                                 gint _id_card_size = 0;
1446                                 GeeLinkedList* _tmp6_ = NULL;
1447                                 gint _tmp7_ = 0;
1448                                 gint _tmp8_ = 0;
1449                                 gint _id_card_index = 0;
1450 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1451                                 _tmp4_ = cards;
1452 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1453                                 _tmp5_ = _g_object_ref0 (_tmp4_);
1454 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1455                                 _id_card_list = _tmp5_;
1456 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1457                                 _tmp6_ = _id_card_list;
1458 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1459                                 _tmp7_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp6_);
1460 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1461                                 _tmp8_ = _tmp7_;
1462 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1463                                 _id_card_size = _tmp8_;
1464 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1465                                 _id_card_index = -1;
1466 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1467                                 while (TRUE) {
1468 #line 1469 "moonshot-identities-manager.c"
1469                                         gint _tmp9_ = 0;
1470                                         gint _tmp10_ = 0;
1471                                         gint _tmp11_ = 0;
1472                                         IdCard* id_card = NULL;
1473                                         GeeLinkedList* _tmp12_ = NULL;
1474                                         gint _tmp13_ = 0;
1475                                         gpointer _tmp14_ = NULL;
1476                                         gboolean _tmp15_ = FALSE;
1477                                         IdCard* _tmp16_ = NULL;
1478                                         IdCard* _tmp17_ = NULL;
1479 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1480                                         _tmp9_ = _id_card_index;
1481 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1482                                         _id_card_index = _tmp9_ + 1;
1483 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1484                                         _tmp10_ = _id_card_index;
1485 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1486                                         _tmp11_ = _id_card_size;
1487 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1488                                         if (!(_tmp10_ < _tmp11_)) {
1489 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1490                                                 break;
1491 #line 1492 "moonshot-identities-manager.c"
1492                                         }
1493 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1494                                         _tmp12_ = _id_card_list;
1495 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1496                                         _tmp13_ = _id_card_index;
1497 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1498                                         _tmp14_ = gee_abstract_list_get ((GeeAbstractList*) _tmp12_, _tmp13_);
1499 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1500                                         id_card = (IdCard*) _tmp14_;
1501 #line 151 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1502                                         _tmp16_ = card;
1503 #line 151 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1504                                         _tmp17_ = id_card;
1505 #line 151 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1506                                         if (_tmp16_ != _tmp17_) {
1507 #line 1508 "moonshot-identities-manager.c"
1508                                                 IdCard* _tmp18_ = NULL;
1509                                                 const gchar* _tmp19_ = NULL;
1510                                                 const gchar* _tmp20_ = NULL;
1511                                                 IdCard* _tmp21_ = NULL;
1512                                                 const gchar* _tmp22_ = NULL;
1513                                                 const gchar* _tmp23_ = NULL;
1514 #line 151 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1515                                                 _tmp18_ = id_card;
1516 #line 151 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1517                                                 _tmp19_ = id_card_get_nai (_tmp18_);
1518 #line 151 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1519                                                 _tmp20_ = _tmp19_;
1520 #line 151 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1521                                                 _tmp21_ = card;
1522 #line 151 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1523                                                 _tmp22_ = id_card_get_nai (_tmp21_);
1524 #line 151 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1525                                                 _tmp23_ = _tmp22_;
1526 #line 151 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1527                                                 _tmp15_ = g_strcmp0 (_tmp20_, _tmp23_) == 0;
1528 #line 1529 "moonshot-identities-manager.c"
1529                                         } else {
1530 #line 151 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1531                                                 _tmp15_ = FALSE;
1532 #line 1533 "moonshot-identities-manager.c"
1533                                         }
1534 #line 151 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1535                                         if (_tmp15_) {
1536 #line 1537 "moonshot-identities-manager.c"
1537                                                 FILE* _tmp24_ = NULL;
1538                                                 IdCard* _tmp25_ = NULL;
1539                                                 const gchar* _tmp26_ = NULL;
1540                                                 const gchar* _tmp27_ = NULL;
1541                                                 IdCard* _tmp28_ = NULL;
1542                                                 gboolean _tmp29_ = FALSE;
1543 #line 152 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1544                                                 _tmp24_ = stdout;
1545 #line 152 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1546                                                 _tmp25_ = card;
1547 #line 152 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1548                                                 _tmp26_ = id_card_get_nai (_tmp25_);
1549 #line 152 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1550                                                 _tmp27_ = _tmp26_;
1551 #line 152 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1552                                                 fprintf (_tmp24_, "removing duplicate id for '%s'\n", _tmp27_);
1553 #line 153 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1554                                                 _tmp28_ = id_card;
1555 #line 153 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1556                                                 identity_manager_model_remove_card_internal (self, _tmp28_);
1557 #line 154 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1558                                                 duplicate_found = TRUE;
1559 #line 154 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1560                                                 _tmp29_ = duplicate_found;
1561 #line 154 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1562                                                 found = _tmp29_;
1563 #line 155 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1564                                                 _g_object_unref0 (id_card);
1565 #line 155 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1566                                                 break;
1567 #line 1568 "moonshot-identities-manager.c"
1568                                         }
1569 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1570                                         _g_object_unref0 (id_card);
1571 #line 1572 "moonshot-identities-manager.c"
1572                                 }
1573 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1574                                 _g_object_unref0 (_id_card_list);
1575 #line 1576 "moonshot-identities-manager.c"
1576                         }
1577 #line 147 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1578                         _g_object_unref0 (cards);
1579 #line 1580 "moonshot-identities-manager.c"
1580                 }
1581         }
1582 #line 159 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1583         result = duplicate_found;
1584 #line 159 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1585         return result;
1586 #line 1587 "moonshot-identities-manager.c"
1587 }
1588
1589
1590 IdCard* identity_manager_model_find_id_card (IdentityManagerModel* self, const gchar* nai, gboolean force_flat_file_store) {
1591         IdCard* result = NULL;
1592         IdCard* retval = NULL;
1593         IIdentityCardStoreStoreType saved_store_type = 0;
1594         IIdentityCardStoreStoreType _tmp0_ = 0;
1595         gboolean _tmp1_ = FALSE;
1596         IIdentityCardStoreStoreType _tmp18_ = 0;
1597         gboolean _tmp19_ = FALSE;
1598         gboolean _tmp20_ = FALSE;
1599 #line 162 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1600         g_return_val_if_fail (self != NULL, NULL);
1601 #line 162 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1602         g_return_val_if_fail (nai != NULL, NULL);
1603 #line 163 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1604         retval = NULL;
1605 #line 164 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1606         _tmp0_ = identity_manager_model_get_store_type (self);
1607 #line 164 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1608         saved_store_type = _tmp0_;
1609 #line 165 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1610         _tmp1_ = force_flat_file_store;
1611 #line 165 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1612         if (_tmp1_) {
1613 #line 166 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1614                 identity_manager_model_set_store_type (self, IIDENTITY_CARD_STORE_STORE_TYPE_FLAT_FILE);
1615 #line 1616 "moonshot-identities-manager.c"
1616         }
1617         {
1618                 GeeLinkedList* _id_list = NULL;
1619                 GeeLinkedList* _tmp2_ = NULL;
1620                 gint _id_size = 0;
1621                 GeeLinkedList* _tmp3_ = NULL;
1622                 gint _tmp4_ = 0;
1623                 gint _tmp5_ = 0;
1624                 gint _id_index = 0;
1625 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1626                 _tmp2_ = identity_manager_model_get_card_list (self);
1627 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1628                 _id_list = _tmp2_;
1629 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1630                 _tmp3_ = _id_list;
1631 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1632                 _tmp4_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp3_);
1633 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1634                 _tmp5_ = _tmp4_;
1635 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1636                 _id_size = _tmp5_;
1637 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1638                 _id_index = -1;
1639 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1640                 while (TRUE) {
1641 #line 1642 "moonshot-identities-manager.c"
1642                         gint _tmp6_ = 0;
1643                         gint _tmp7_ = 0;
1644                         gint _tmp8_ = 0;
1645                         IdCard* id = NULL;
1646                         GeeLinkedList* _tmp9_ = NULL;
1647                         gint _tmp10_ = 0;
1648                         gpointer _tmp11_ = NULL;
1649                         IdCard* _tmp12_ = NULL;
1650                         const gchar* _tmp13_ = NULL;
1651                         const gchar* _tmp14_ = NULL;
1652                         const gchar* _tmp15_ = NULL;
1653 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1654                         _tmp6_ = _id_index;
1655 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1656                         _id_index = _tmp6_ + 1;
1657 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1658                         _tmp7_ = _id_index;
1659 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1660                         _tmp8_ = _id_size;
1661 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1662                         if (!(_tmp7_ < _tmp8_)) {
1663 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1664                                 break;
1665 #line 1666 "moonshot-identities-manager.c"
1666                         }
1667 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1668                         _tmp9_ = _id_list;
1669 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1670                         _tmp10_ = _id_index;
1671 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1672                         _tmp11_ = gee_abstract_list_get ((GeeAbstractList*) _tmp9_, _tmp10_);
1673 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1674                         id = (IdCard*) _tmp11_;
1675 #line 169 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1676                         _tmp12_ = id;
1677 #line 169 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1678                         _tmp13_ = id_card_get_nai (_tmp12_);
1679 #line 169 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1680                         _tmp14_ = _tmp13_;
1681 #line 169 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1682                         _tmp15_ = nai;
1683 #line 169 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1684                         if (g_strcmp0 (_tmp14_, _tmp15_) == 0) {
1685 #line 1686 "moonshot-identities-manager.c"
1686                                 IdCard* _tmp16_ = NULL;
1687                                 IdCard* _tmp17_ = NULL;
1688 #line 170 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1689                                 _tmp16_ = id;
1690 #line 170 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1691                                 _tmp17_ = _g_object_ref0 (_tmp16_);
1692 #line 170 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1693                                 _g_object_unref0 (retval);
1694 #line 170 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1695                                 retval = _tmp17_;
1696 #line 171 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1697                                 _g_object_unref0 (id);
1698 #line 171 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1699                                 break;
1700 #line 1701 "moonshot-identities-manager.c"
1701                         }
1702 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1703                         _g_object_unref0 (id);
1704 #line 1705 "moonshot-identities-manager.c"
1705                 }
1706 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1707                 _g_object_unref0 (_id_list);
1708 #line 1709 "moonshot-identities-manager.c"
1709         }
1710 #line 174 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1711         _tmp18_ = saved_store_type;
1712 #line 174 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1713         identity_manager_model_set_store_type (self, _tmp18_);
1714 #line 175 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1715         _tmp20_ = force_flat_file_store;
1716 #line 175 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1717         if (_tmp20_) {
1718 #line 1719 "moonshot-identities-manager.c"
1719                 IIdentityCardStoreStoreType _tmp21_ = 0;
1720 #line 176 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1721                 _tmp21_ = saved_store_type;
1722 #line 176 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1723                 _tmp19_ = _tmp21_ != IIDENTITY_CARD_STORE_STORE_TYPE_FLAT_FILE;
1724 #line 1725 "moonshot-identities-manager.c"
1725         } else {
1726 #line 175 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1727                 _tmp19_ = FALSE;
1728 #line 1729 "moonshot-identities-manager.c"
1729         }
1730 #line 175 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1731         if (_tmp19_) {
1732 #line 177 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1733                 g_signal_emit_by_name (self, "card-list-changed");
1734 #line 1735 "moonshot-identities-manager.c"
1735         }
1736 #line 178 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1737         result = retval;
1738 #line 178 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1739         return result;
1740 #line 1741 "moonshot-identities-manager.c"
1741 }
1742
1743
1744 void identity_manager_model_add_card (IdentityManagerModel* self, IdCard* card, gboolean force_flat_file_store) {
1745         IdCard* _tmp0_ = NULL;
1746         gboolean _tmp1_ = FALSE;
1747         gboolean _tmp2_ = FALSE;
1748         gchar* candidate = NULL;
1749         IIdentityCardStoreStoreType saved_store_type = 0;
1750         IIdentityCardStoreStoreType _tmp3_ = 0;
1751         gboolean _tmp4_ = FALSE;
1752         IdCard* _tmp5_ = NULL;
1753         IdCard* _tmp6_ = NULL;
1754         const gchar* _tmp7_ = NULL;
1755         const gchar* _tmp8_ = NULL;
1756         gchar* _tmp9_ = NULL;
1757         gboolean _tmp10_ = FALSE;
1758         IdCard* _tmp13_ = NULL;
1759         gboolean _tmp14_ = FALSE;
1760         gboolean _tmp15_ = FALSE;
1761         IIdentityCardStore* _tmp19_ = NULL;
1762         IdCard* _tmp20_ = NULL;
1763         IIdentityCardStoreStoreType _tmp21_ = 0;
1764 #line 181 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1765         g_return_if_fail (self != NULL);
1766 #line 181 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1767         g_return_if_fail (card != NULL);
1768 #line 182 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1769         _tmp0_ = card;
1770 #line 182 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1771         _tmp1_ = id_card_get_temporary (_tmp0_);
1772 #line 182 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1773         _tmp2_ = _tmp1_;
1774 #line 182 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1775         if (_tmp2_) {
1776 #line 183 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1777                 return;
1778 #line 1779 "moonshot-identities-manager.c"
1779         }
1780 #line 186 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1781         _tmp3_ = identity_manager_model_get_store_type (self);
1782 #line 186 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1783         saved_store_type = _tmp3_;
1784 #line 188 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1785         _tmp4_ = force_flat_file_store;
1786 #line 188 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1787         if (_tmp4_) {
1788 #line 189 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1789                 identity_manager_model_set_store_type (self, IIDENTITY_CARD_STORE_STORE_TYPE_FLAT_FILE);
1790 #line 1791 "moonshot-identities-manager.c"
1791         }
1792 #line 191 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1793         _tmp5_ = card;
1794 #line 191 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1795         identity_manager_model_remove_duplicates (self, _tmp5_);
1796 #line 193 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1797         _tmp6_ = card;
1798 #line 193 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1799         _tmp7_ = id_card_get_display_name (_tmp6_);
1800 #line 193 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1801         _tmp8_ = _tmp7_;
1802 #line 193 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1803         _tmp10_ = identity_manager_model_display_name_is_valid (self, _tmp8_, &_tmp9_);
1804 #line 193 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1805         _g_free0 (candidate);
1806 #line 193 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1807         candidate = _tmp9_;
1808 #line 193 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1809         if (!_tmp10_) {
1810 #line 1811 "moonshot-identities-manager.c"
1811                 IdCard* _tmp11_ = NULL;
1812                 const gchar* _tmp12_ = NULL;
1813 #line 195 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1814                 _tmp11_ = card;
1815 #line 195 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1816                 _tmp12_ = candidate;
1817 #line 195 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1818                 id_card_set_display_name (_tmp11_, _tmp12_);
1819 #line 1820 "moonshot-identities-manager.c"
1820         }
1821 #line 198 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1822         _tmp13_ = card;
1823 #line 198 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1824         _tmp14_ = id_card_get_store_password (_tmp13_);
1825 #line 198 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1826         _tmp15_ = _tmp14_;
1827 #line 198 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1828         if (!_tmp15_) {
1829 #line 1830 "moonshot-identities-manager.c"
1830                 PasswordHashTable* _tmp16_ = NULL;
1831                 IdCard* _tmp17_ = NULL;
1832                 IIdentityCardStore* _tmp18_ = NULL;
1833 #line 199 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1834                 _tmp16_ = self->priv->password_table;
1835 #line 199 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1836                 _tmp17_ = card;
1837 #line 199 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1838                 _tmp18_ = self->priv->store;
1839 #line 199 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1840                 password_hash_table_CachePassword (_tmp16_, _tmp17_, _tmp18_);
1841 #line 1842 "moonshot-identities-manager.c"
1842         }
1843 #line 200 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1844         _tmp19_ = self->priv->store;
1845 #line 200 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1846         _tmp20_ = card;
1847 #line 200 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1848         iidentity_card_store_add_card (_tmp19_, _tmp20_);
1849 #line 201 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1850         _tmp21_ = saved_store_type;
1851 #line 201 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1852         identity_manager_model_set_store_type (self, _tmp21_);
1853 #line 202 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1854         g_signal_emit_by_name (self, "card-list-changed");
1855 #line 181 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1856         _g_free0 (candidate);
1857 #line 1858 "moonshot-identities-manager.c"
1858 }
1859
1860
1861 IdCard* identity_manager_model_update_card (IdentityManagerModel* self, IdCard* card) {
1862         IdCard* result = NULL;
1863         IdCard* retval = NULL;
1864         IdCard* _tmp0_ = NULL;
1865         gboolean _tmp1_ = FALSE;
1866         gboolean _tmp2_ = FALSE;
1867         IdCard* _tmp5_ = NULL;
1868         gboolean _tmp6_ = FALSE;
1869         gboolean _tmp7_ = FALSE;
1870         IIdentityCardStore* _tmp14_ = NULL;
1871         IdCard* _tmp15_ = NULL;
1872         IdCard* _tmp16_ = NULL;
1873 #line 205 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1874         g_return_val_if_fail (self != NULL, NULL);
1875 #line 205 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1876         g_return_val_if_fail (card != NULL, NULL);
1877 #line 207 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1878         _tmp0_ = card;
1879 #line 207 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1880         _tmp1_ = id_card_get_temporary (_tmp0_);
1881 #line 207 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1882         _tmp2_ = _tmp1_;
1883 #line 207 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1884         if (_tmp2_) {
1885 #line 1886 "moonshot-identities-manager.c"
1886                 IdCard* _tmp3_ = NULL;
1887                 IdCard* _tmp4_ = NULL;
1888 #line 208 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1889                 _tmp3_ = card;
1890 #line 208 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1891                 _tmp4_ = _g_object_ref0 (_tmp3_);
1892 #line 208 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1893                 _g_object_unref0 (retval);
1894 #line 208 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1895                 retval = _tmp4_;
1896 #line 209 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1897                 result = retval;
1898 #line 209 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1899                 return result;
1900 #line 1901 "moonshot-identities-manager.c"
1901         }
1902 #line 212 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1903         _tmp5_ = card;
1904 #line 212 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1905         _tmp6_ = id_card_get_store_password (_tmp5_);
1906 #line 212 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1907         _tmp7_ = _tmp6_;
1908 #line 212 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1909         if (!_tmp7_) {
1910 #line 1911 "moonshot-identities-manager.c"
1911                 PasswordHashTable* _tmp8_ = NULL;
1912                 IdCard* _tmp9_ = NULL;
1913                 IIdentityCardStore* _tmp10_ = NULL;
1914 #line 213 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1915                 _tmp8_ = self->priv->password_table;
1916 #line 213 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1917                 _tmp9_ = card;
1918 #line 213 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1919                 _tmp10_ = self->priv->store;
1920 #line 213 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1921                 password_hash_table_CachePassword (_tmp8_, _tmp9_, _tmp10_);
1922 #line 1923 "moonshot-identities-manager.c"
1923         } else {
1924                 PasswordHashTable* _tmp11_ = NULL;
1925                 IdCard* _tmp12_ = NULL;
1926                 IIdentityCardStore* _tmp13_ = NULL;
1927 #line 215 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1928                 _tmp11_ = self->priv->password_table;
1929 #line 215 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1930                 _tmp12_ = card;
1931 #line 215 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1932                 _tmp13_ = self->priv->store;
1933 #line 215 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1934                 password_hash_table_RemovePassword (_tmp11_, _tmp12_, _tmp13_);
1935 #line 1936 "moonshot-identities-manager.c"
1936         }
1937 #line 216 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1938         _tmp14_ = self->priv->store;
1939 #line 216 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1940         _tmp15_ = card;
1941 #line 216 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1942         _tmp16_ = iidentity_card_store_update_card (_tmp14_, _tmp15_);
1943 #line 216 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1944         _g_object_unref0 (retval);
1945 #line 216 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1946         retval = _tmp16_;
1947 #line 217 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1948         g_signal_emit_by_name (self, "card-list-changed");
1949 #line 218 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1950         result = retval;
1951 #line 218 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1952         return result;
1953 #line 1954 "moonshot-identities-manager.c"
1954 }
1955
1956
1957 static gboolean identity_manager_model_remove_card_internal (IdentityManagerModel* self, IdCard* card) {
1958         gboolean result = FALSE;
1959         IdCard* _tmp0_ = NULL;
1960         gboolean _tmp1_ = FALSE;
1961         gboolean _tmp2_ = FALSE;
1962         PasswordHashTable* _tmp3_ = NULL;
1963         IdCard* _tmp4_ = NULL;
1964         IIdentityCardStore* _tmp5_ = NULL;
1965         IIdentityCardStore* _tmp6_ = NULL;
1966         IdCard* _tmp7_ = NULL;
1967         gboolean _tmp8_ = FALSE;
1968 #line 221 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1969         g_return_val_if_fail (self != NULL, FALSE);
1970 #line 221 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1971         g_return_val_if_fail (card != NULL, FALSE);
1972 #line 222 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1973         _tmp0_ = card;
1974 #line 222 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1975         _tmp1_ = id_card_get_temporary (_tmp0_);
1976 #line 222 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1977         _tmp2_ = _tmp1_;
1978 #line 222 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1979         if (_tmp2_) {
1980 #line 223 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1981                 result = FALSE;
1982 #line 223 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1983                 return result;
1984 #line 1985 "moonshot-identities-manager.c"
1985         }
1986 #line 224 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1987         _tmp3_ = self->priv->password_table;
1988 #line 224 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1989         _tmp4_ = card;
1990 #line 224 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1991         _tmp5_ = self->priv->store;
1992 #line 224 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1993         password_hash_table_RemovePassword (_tmp3_, _tmp4_, _tmp5_);
1994 #line 225 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1995         _tmp6_ = self->priv->store;
1996 #line 225 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1997         _tmp7_ = card;
1998 #line 225 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1999         _tmp8_ = iidentity_card_store_remove_card (_tmp6_, _tmp7_);
2000 #line 225 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2001         result = _tmp8_;
2002 #line 225 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2003         return result;
2004 #line 2005 "moonshot-identities-manager.c"
2005 }
2006
2007
2008 gboolean identity_manager_model_remove_card (IdentityManagerModel* self, IdCard* card) {
2009         gboolean result = FALSE;
2010         IdCard* _tmp0_ = NULL;
2011         gboolean _tmp1_ = FALSE;
2012 #line 228 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2013         g_return_val_if_fail (self != NULL, FALSE);
2014 #line 228 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2015         g_return_val_if_fail (card != NULL, FALSE);
2016 #line 229 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2017         _tmp0_ = card;
2018 #line 229 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2019         _tmp1_ = identity_manager_model_remove_card_internal (self, _tmp0_);
2020 #line 229 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2021         if (_tmp1_) {
2022 #line 230 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2023                 g_signal_emit_by_name (self, "card-list-changed");
2024 #line 231 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2025                 result = TRUE;
2026 #line 231 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2027                 return result;
2028 #line 2029 "moonshot-identities-manager.c"
2029         }
2030 #line 233 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2031         result = FALSE;
2032 #line 233 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2033         return result;
2034 #line 2035 "moonshot-identities-manager.c"
2035 }
2036
2037
2038 void identity_manager_model_set_store_type (IdentityManagerModel* self, IIdentityCardStoreStoreType type) {
2039         gboolean _tmp0_ = FALSE;
2040         IIdentityCardStore* _tmp1_ = NULL;
2041         IIdentityCardStoreStoreType _tmp5_ = 0;
2042 #line 236 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2043         g_return_if_fail (self != NULL);
2044 #line 237 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2045         _tmp1_ = self->priv->store;
2046 #line 237 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2047         if (_tmp1_ != NULL) {
2048 #line 2049 "moonshot-identities-manager.c"
2049                 IIdentityCardStore* _tmp2_ = NULL;
2050                 IIdentityCardStoreStoreType _tmp3_ = 0;
2051                 IIdentityCardStoreStoreType _tmp4_ = 0;
2052 #line 237 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2053                 _tmp2_ = self->priv->store;
2054 #line 237 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2055                 _tmp3_ = iidentity_card_store_get_store_type (_tmp2_);
2056 #line 237 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2057                 _tmp4_ = type;
2058 #line 237 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2059                 _tmp0_ = _tmp3_ == _tmp4_;
2060 #line 2061 "moonshot-identities-manager.c"
2061         } else {
2062 #line 237 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2063                 _tmp0_ = FALSE;
2064 #line 2065 "moonshot-identities-manager.c"
2065         }
2066 #line 237 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2067         if (_tmp0_) {
2068 #line 238 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2069                 return;
2070 #line 2071 "moonshot-identities-manager.c"
2071         }
2072 #line 239 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2073         _tmp5_ = type;
2074 #line 239 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2075         switch (_tmp5_) {
2076 #line 239 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2077                 case IIDENTITY_CARD_STORE_STORE_TYPE_KEYRING:
2078 #line 2079 "moonshot-identities-manager.c"
2079                 {
2080                         KeyringStore* _tmp6_ = NULL;
2081 #line 242 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2082                         _tmp6_ = keyring_store_new ();
2083 #line 242 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2084                         _g_object_unref0 (self->priv->store);
2085 #line 242 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2086                         self->priv->store = (IIdentityCardStore*) _tmp6_;
2087 #line 243 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2088                         break;
2089 #line 2090 "moonshot-identities-manager.c"
2090                 }
2091                 default:
2092 #line 239 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2093                 case IIDENTITY_CARD_STORE_STORE_TYPE_FLAT_FILE:
2094 #line 2095 "moonshot-identities-manager.c"
2095                 {
2096                         LocalFlatFileStore* _tmp7_ = NULL;
2097 #line 247 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2098                         _tmp7_ = local_flat_file_store_new ();
2099 #line 247 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2100                         _g_object_unref0 (self->priv->store);
2101 #line 247 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2102                         self->priv->store = (IIdentityCardStore*) _tmp7_;
2103 #line 248 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2104                         break;
2105 #line 2106 "moonshot-identities-manager.c"
2106                 }
2107         }
2108 }
2109
2110
2111 IIdentityCardStoreStoreType identity_manager_model_get_store_type (IdentityManagerModel* self) {
2112         IIdentityCardStoreStoreType result = 0;
2113         IIdentityCardStore* _tmp0_ = NULL;
2114         IIdentityCardStoreStoreType _tmp1_ = 0;
2115 #line 252 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2116         g_return_val_if_fail (self != NULL, 0);
2117 #line 253 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2118         _tmp0_ = self->priv->store;
2119 #line 253 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2120         _tmp1_ = iidentity_card_store_get_store_type (_tmp0_);
2121 #line 253 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2122         result = _tmp1_;
2123 #line 253 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2124         return result;
2125 #line 2126 "moonshot-identities-manager.c"
2126 }
2127
2128
2129 gboolean identity_manager_model_HasNonTrivialIdentities (IdentityManagerModel* self) {
2130         gboolean result = FALSE;
2131 #line 256 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2132         g_return_val_if_fail (self != NULL, FALSE);
2133 #line 2134 "moonshot-identities-manager.c"
2134         {
2135                 GeeLinkedList* _card_list = NULL;
2136                 IIdentityCardStore* _tmp0_ = NULL;
2137                 GeeLinkedList* _tmp1_ = NULL;
2138                 gint _card_size = 0;
2139                 GeeLinkedList* _tmp2_ = NULL;
2140                 gint _tmp3_ = 0;
2141                 gint _tmp4_ = 0;
2142                 gint _card_index = 0;
2143 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2144                 _tmp0_ = self->priv->store;
2145 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2146                 _tmp1_ = iidentity_card_store_get_card_list (_tmp0_);
2147 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2148                 _card_list = _tmp1_;
2149 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2150                 _tmp2_ = _card_list;
2151 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2152                 _tmp3_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp2_);
2153 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2154                 _tmp4_ = _tmp3_;
2155 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2156                 _card_size = _tmp4_;
2157 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2158                 _card_index = -1;
2159 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2160                 while (TRUE) {
2161 #line 2162 "moonshot-identities-manager.c"
2162                         gint _tmp5_ = 0;
2163                         gint _tmp6_ = 0;
2164                         gint _tmp7_ = 0;
2165                         IdCard* card = NULL;
2166                         GeeLinkedList* _tmp8_ = NULL;
2167                         gint _tmp9_ = 0;
2168                         gpointer _tmp10_ = NULL;
2169                         gboolean _tmp11_ = FALSE;
2170                         gboolean _tmp12_ = FALSE;
2171                         IdCard* _tmp13_ = NULL;
2172                         gboolean _tmp14_ = FALSE;
2173 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2174                         _tmp5_ = _card_index;
2175 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2176                         _card_index = _tmp5_ + 1;
2177 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2178                         _tmp6_ = _card_index;
2179 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2180                         _tmp7_ = _card_size;
2181 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2182                         if (!(_tmp6_ < _tmp7_)) {
2183 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2184                                 break;
2185 #line 2186 "moonshot-identities-manager.c"
2186                         }
2187 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2188                         _tmp8_ = _card_list;
2189 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2190                         _tmp9_ = _card_index;
2191 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2192                         _tmp10_ = gee_abstract_list_get ((GeeAbstractList*) _tmp8_, _tmp9_);
2193 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2194                         card = (IdCard*) _tmp10_;
2195 #line 260 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2196                         _tmp13_ = card;
2197 #line 260 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2198                         _tmp14_ = id_card_IsNoIdentity (_tmp13_);
2199 #line 260 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2200                         if (!_tmp14_) {
2201 #line 260 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2202                                 _tmp12_ = TRUE;
2203 #line 2204 "moonshot-identities-manager.c"
2204                         } else {
2205                                 IdCard* _tmp15_ = NULL;
2206                                 gchar** _tmp16_ = NULL;
2207                                 gint _tmp16__length1 = 0;
2208                                 gchar** _tmp17_ = NULL;
2209                                 gint _tmp17__length1 = 0;
2210 #line 261 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2211                                 _tmp15_ = card;
2212 #line 261 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2213                                 _tmp16_ = id_card_get_services (_tmp15_, &_tmp16__length1);
2214 #line 261 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2215                                 _tmp17_ = _tmp16_;
2216 #line 261 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2217                                 _tmp17__length1 = _tmp16__length1;
2218 #line 261 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2219                                 _tmp12_ = _tmp17__length1 > 0;
2220 #line 2221 "moonshot-identities-manager.c"
2221                         }
2222 #line 260 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2223                         if (_tmp12_) {
2224 #line 260 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2225                                 _tmp11_ = TRUE;
2226 #line 2227 "moonshot-identities-manager.c"
2227                         } else {
2228                                 IdCard* _tmp18_ = NULL;
2229                                 Rule* _tmp19_ = NULL;
2230                                 gint _tmp19__length1 = 0;
2231                                 Rule* _tmp20_ = NULL;
2232                                 gint _tmp20__length1 = 0;
2233 #line 262 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2234                                 _tmp18_ = card;
2235 #line 262 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2236                                 _tmp19_ = id_card_get_rules (_tmp18_, &_tmp19__length1);
2237 #line 262 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2238                                 _tmp20_ = _tmp19_;
2239 #line 262 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2240                                 _tmp20__length1 = _tmp19__length1;
2241 #line 262 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2242                                 _tmp11_ = _tmp20__length1 > 0;
2243 #line 2244 "moonshot-identities-manager.c"
2244                         }
2245 #line 260 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2246                         if (_tmp11_) {
2247 #line 263 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2248                                 result = TRUE;
2249 #line 263 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2250                                 _g_object_unref0 (card);
2251 #line 263 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2252                                 _g_object_unref0 (_card_list);
2253 #line 263 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2254                                 return result;
2255 #line 2256 "moonshot-identities-manager.c"
2256                         }
2257 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2258                         _g_object_unref0 (card);
2259 #line 2260 "moonshot-identities-manager.c"
2260                 }
2261 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2262                 _g_object_unref0 (_card_list);
2263 #line 2264 "moonshot-identities-manager.c"
2264         }
2265 #line 266 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2266         result = FALSE;
2267 #line 266 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2268         return result;
2269 #line 2270 "moonshot-identities-manager.c"
2270 }
2271
2272
2273 static gpointer _identity_manager_app_ref0 (gpointer self) {
2274 #line 273 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2275         return self ? identity_manager_app_ref (self) : NULL;
2276 #line 2277 "moonshot-identities-manager.c"
2277 }
2278
2279
2280 IdentityManagerModel* identity_manager_model_construct (GType object_type, IdentityManagerApp* parent_app, IIdentityCardStoreStoreType store_type) {
2281         IdentityManagerModel * self = NULL;
2282         IdentityManagerApp* _tmp0_ = NULL;
2283         IdentityManagerApp* _tmp1_ = NULL;
2284         PasswordHashTable* _tmp2_ = NULL;
2285         IIdentityCardStoreStoreType _tmp3_ = 0;
2286 #line 272 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2287         g_return_val_if_fail (parent_app != NULL, NULL);
2288 #line 272 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2289         self = (IdentityManagerModel*) g_object_new (object_type, NULL);
2290 #line 273 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2291         _tmp0_ = parent_app;
2292 #line 273 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2293         _tmp1_ = _identity_manager_app_ref0 (_tmp0_);
2294 #line 273 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2295         _identity_manager_app_unref0 (self->priv->parent);
2296 #line 273 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2297         self->priv->parent = _tmp1_;
2298 #line 274 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2299         _tmp2_ = password_hash_table_new ();
2300 #line 274 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2301         _g_object_unref0 (self->priv->password_table);
2302 #line 274 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2303         self->priv->password_table = _tmp2_;
2304 #line 275 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2305         _tmp3_ = store_type;
2306 #line 275 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2307         identity_manager_model_set_store_type (self, _tmp3_);
2308 #line 272 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2309         return self;
2310 #line 2311 "moonshot-identities-manager.c"
2311 }
2312
2313
2314 IdentityManagerModel* identity_manager_model_new (IdentityManagerApp* parent_app, IIdentityCardStoreStoreType store_type) {
2315 #line 272 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2316         return identity_manager_model_construct (TYPE_IDENTITY_MANAGER_MODEL, parent_app, store_type);
2317 #line 2318 "moonshot-identities-manager.c"
2318 }
2319
2320
2321 static void identity_manager_model_class_init (IdentityManagerModelClass * klass) {
2322 #line 88 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2323         identity_manager_model_parent_class = g_type_class_peek_parent (klass);
2324 #line 88 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2325         g_type_class_add_private (klass, sizeof (IdentityManagerModelPrivate));
2326 #line 88 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2327         G_OBJECT_CLASS (klass)->finalize = identity_manager_model_finalize;
2328 #line 88 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2329         g_signal_new ("card_list_changed", TYPE_IDENTITY_MANAGER_MODEL, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
2330 #line 2331 "moonshot-identities-manager.c"
2331 }
2332
2333
2334 static void identity_manager_model_instance_init (IdentityManagerModel * self) {
2335 #line 88 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2336         self->priv = IDENTITY_MANAGER_MODEL_GET_PRIVATE (self);
2337 #line 2338 "moonshot-identities-manager.c"
2338 }
2339
2340
2341 static void identity_manager_model_finalize (GObject* obj) {
2342         IdentityManagerModel * self;
2343 #line 88 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2344         self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_IDENTITY_MANAGER_MODEL, IdentityManagerModel);
2345 #line 90 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2346         _g_object_unref0 (self->priv->password_table);
2347 #line 91 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2348         _g_object_unref0 (self->priv->store);
2349 #line 270 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2350         _identity_manager_app_unref0 (self->priv->parent);
2351 #line 88 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2352         G_OBJECT_CLASS (identity_manager_model_parent_class)->finalize (obj);
2353 #line 2354 "moonshot-identities-manager.c"
2354 }
2355
2356
2357 GType identity_manager_model_get_type (void) {
2358         static volatile gsize identity_manager_model_type_id__volatile = 0;
2359         if (g_once_init_enter (&identity_manager_model_type_id__volatile)) {
2360                 static const GTypeInfo g_define_type_info = { sizeof (IdentityManagerModelClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) identity_manager_model_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (IdentityManagerModel), 0, (GInstanceInitFunc) identity_manager_model_instance_init, NULL };
2361                 GType identity_manager_model_type_id;
2362                 identity_manager_model_type_id = g_type_register_static (G_TYPE_OBJECT, "IdentityManagerModel", &g_define_type_info, 0);
2363                 g_once_init_leave (&identity_manager_model_type_id__volatile, identity_manager_model_type_id);
2364         }
2365         return identity_manager_model_type_id__volatile;
2366 }
2367
2368
2369