Import moonshot-ui_0.7.1.orig.tar.xz
[moonshot-ui.git] / src / moonshot-identities-manager.c
1 /* moonshot-identities-manager.c generated by valac 0.24.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 __lambda3_ (gconstpointer a, gconstpointer b);
261 gboolean id_card_IsNoIdentity (IdCard* self);
262 static gint ___lambda3__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         PASSWORD_CLASS (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 59 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
580         password_set_password (self, NULL);
581 #line 582 "moonshot-identities-manager.c"
582 }
583
584
585 GType password_get_type (void) {
586         static volatile gsize password_type_id__volatile = 0;
587         if (g_once_init_enter (&password_type_id__volatile)) {
588                 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 };
589                 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 };
590                 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) };
591                 GType password_type_id;
592                 password_type_id = g_type_register_fundamental (g_type_fundamental_next (), "Password", &g_define_type_info, &g_define_type_fundamental_info, 0);
593                 g_once_init_leave (&password_type_id__volatile, password_type_id);
594         }
595         return password_type_id__volatile;
596 }
597
598
599 gpointer password_ref (gpointer instance) {
600         Password* self;
601         self = instance;
602 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
603         g_atomic_int_inc (&self->ref_count);
604 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
605         return instance;
606 #line 607 "moonshot-identities-manager.c"
607 }
608
609
610 void password_unref (gpointer instance) {
611         Password* self;
612         self = instance;
613 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
614         if (g_atomic_int_dec_and_test (&self->ref_count)) {
615 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
616                 PASSWORD_GET_CLASS (self)->finalize (self);
617 #line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
618                 g_type_free_instance ((GTypeInstance *) self);
619 #line 620 "moonshot-identities-manager.c"
620         }
621 }
622
623
624 static gchar* password_hash_table_ComputeHashKey (IdCard* card, IIdentityCardStore* store) {
625         gchar* result = NULL;
626         IdCard* _tmp0_ = NULL;
627         const gchar* _tmp1_ = NULL;
628         const gchar* _tmp2_ = NULL;
629         IIdentityCardStore* _tmp3_ = NULL;
630         IIdentityCardStoreStoreType _tmp4_ = 0;
631         gchar* _tmp5_ = NULL;
632 #line 66 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
633         g_return_val_if_fail (card != NULL, NULL);
634 #line 66 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
635         g_return_val_if_fail (store != NULL, NULL);
636 #line 67 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
637         _tmp0_ = card;
638 #line 67 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
639         _tmp1_ = id_card_get_display_name (_tmp0_);
640 #line 67 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
641         _tmp2_ = _tmp1_;
642 #line 67 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
643         _tmp3_ = store;
644 #line 67 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
645         _tmp4_ = iidentity_card_store_get_store_type (_tmp3_);
646 #line 67 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
647         _tmp5_ = g_strdup_printf ("%s_store_%d", _tmp2_, (gint) _tmp4_);
648 #line 67 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
649         result = _tmp5_;
650 #line 67 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
651         return result;
652 #line 653 "moonshot-identities-manager.c"
653 }
654
655
656 void password_hash_table_CachePassword (PasswordHashTable* self, IdCard* card, IIdentityCardStore* store) {
657         GHashTable* _tmp0_ = NULL;
658         IdCard* _tmp1_ = NULL;
659         IIdentityCardStore* _tmp2_ = NULL;
660         gchar* _tmp3_ = NULL;
661         IdCard* _tmp4_ = NULL;
662         const gchar* _tmp5_ = NULL;
663         const gchar* _tmp6_ = NULL;
664         Password* _tmp7_ = NULL;
665 #line 70 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
666         g_return_if_fail (self != NULL);
667 #line 70 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
668         g_return_if_fail (card != NULL);
669 #line 70 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
670         g_return_if_fail (store != NULL);
671 #line 71 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
672         _tmp0_ = self->priv->password_table;
673 #line 71 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
674         _tmp1_ = card;
675 #line 71 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
676         _tmp2_ = store;
677 #line 71 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
678         _tmp3_ = password_hash_table_ComputeHashKey (_tmp1_, _tmp2_);
679 #line 71 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
680         _tmp4_ = card;
681 #line 71 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
682         _tmp5_ = id_card_get_password (_tmp4_);
683 #line 71 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
684         _tmp6_ = _tmp5_;
685 #line 71 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
686         _tmp7_ = password_new (_tmp6_);
687 #line 71 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
688         g_hash_table_replace (_tmp0_, _tmp3_, _tmp7_);
689 #line 690 "moonshot-identities-manager.c"
690 }
691
692
693 void password_hash_table_RemovePassword (PasswordHashTable* self, IdCard* card, IIdentityCardStore* store) {
694         GHashTable* _tmp0_ = NULL;
695         IdCard* _tmp1_ = NULL;
696         IIdentityCardStore* _tmp2_ = NULL;
697         gchar* _tmp3_ = NULL;
698         gchar* _tmp4_ = NULL;
699 #line 74 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
700         g_return_if_fail (self != NULL);
701 #line 74 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
702         g_return_if_fail (card != NULL);
703 #line 74 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
704         g_return_if_fail (store != NULL);
705 #line 75 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
706         _tmp0_ = self->priv->password_table;
707 #line 75 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
708         _tmp1_ = card;
709 #line 75 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
710         _tmp2_ = store;
711 #line 75 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
712         _tmp3_ = password_hash_table_ComputeHashKey (_tmp1_, _tmp2_);
713 #line 75 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
714         _tmp4_ = _tmp3_;
715 #line 75 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
716         g_hash_table_remove (_tmp0_, _tmp4_);
717 #line 75 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
718         _g_free0 (_tmp4_);
719 #line 720 "moonshot-identities-manager.c"
720 }
721
722
723 void password_hash_table_RetrievePassword (PasswordHashTable* self, IdCard* card, IIdentityCardStore* store) {
724         Password* password = NULL;
725         GHashTable* _tmp0_ = NULL;
726         IdCard* _tmp1_ = NULL;
727         IIdentityCardStore* _tmp2_ = NULL;
728         gchar* _tmp3_ = NULL;
729         gchar* _tmp4_ = NULL;
730         gconstpointer _tmp5_ = NULL;
731         Password* _tmp6_ = NULL;
732         Password* _tmp7_ = NULL;
733 #line 77 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
734         g_return_if_fail (self != NULL);
735 #line 77 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
736         g_return_if_fail (card != NULL);
737 #line 77 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
738         g_return_if_fail (store != NULL);
739 #line 78 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
740         _tmp0_ = self->priv->password_table;
741 #line 78 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
742         _tmp1_ = card;
743 #line 78 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
744         _tmp2_ = store;
745 #line 78 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
746         _tmp3_ = password_hash_table_ComputeHashKey (_tmp1_, _tmp2_);
747 #line 78 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
748         _tmp4_ = _tmp3_;
749 #line 78 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
750         _tmp5_ = g_hash_table_lookup (_tmp0_, _tmp4_);
751 #line 78 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
752         _tmp6_ = (Password*) _tmp5_;
753 #line 78 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
754         _g_free0 (_tmp4_);
755 #line 78 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
756         password = _tmp6_;
757 #line 79 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
758         _tmp7_ = password;
759 #line 79 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
760         if (_tmp7_ != NULL) {
761 #line 762 "moonshot-identities-manager.c"
762                 IdCard* _tmp8_ = NULL;
763                 Password* _tmp9_ = NULL;
764                 const gchar* _tmp10_ = NULL;
765                 const gchar* _tmp11_ = NULL;
766 #line 80 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
767                 _tmp8_ = card;
768 #line 80 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
769                 _tmp9_ = password;
770 #line 80 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
771                 _tmp10_ = password_get_password (_tmp9_);
772 #line 80 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
773                 _tmp11_ = _tmp10_;
774 #line 80 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
775                 id_card_set_password (_tmp8_, _tmp11_);
776 #line 777 "moonshot-identities-manager.c"
777         }
778 }
779
780
781 static void _g_free0_ (gpointer var) {
782 #line 84 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
783         var = (g_free (var), NULL);
784 #line 785 "moonshot-identities-manager.c"
785 }
786
787
788 static void _password_unref0_ (gpointer var) {
789 #line 84 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
790         (var == NULL) ? NULL : (var = (password_unref (var), NULL));
791 #line 792 "moonshot-identities-manager.c"
792 }
793
794
795 PasswordHashTable* password_hash_table_construct (GType object_type) {
796         PasswordHashTable * self = NULL;
797         GHashFunc _tmp0_ = NULL;
798         GEqualFunc _tmp1_ = NULL;
799         GHashTable* _tmp2_ = NULL;
800 #line 83 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
801         self = (PasswordHashTable*) g_object_new (object_type, NULL);
802 #line 84 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
803         _tmp0_ = g_str_hash;
804 #line 84 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
805         _tmp1_ = g_str_equal;
806 #line 84 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
807         _tmp2_ = g_hash_table_new_full (_tmp0_, _tmp1_, _g_free0_, _password_unref0_);
808 #line 84 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
809         _g_hash_table_unref0 (self->priv->password_table);
810 #line 84 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
811         self->priv->password_table = _tmp2_;
812 #line 83 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
813         return self;
814 #line 815 "moonshot-identities-manager.c"
815 }
816
817
818 PasswordHashTable* password_hash_table_new (void) {
819 #line 83 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
820         return password_hash_table_construct (TYPE_PASSWORD_HASH_TABLE);
821 #line 822 "moonshot-identities-manager.c"
822 }
823
824
825 static void password_hash_table_class_init (PasswordHashTableClass * klass) {
826 #line 63 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
827         password_hash_table_parent_class = g_type_class_peek_parent (klass);
828 #line 63 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
829         g_type_class_add_private (klass, sizeof (PasswordHashTablePrivate));
830 #line 63 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
831         G_OBJECT_CLASS (klass)->finalize = password_hash_table_finalize;
832 #line 833 "moonshot-identities-manager.c"
833 }
834
835
836 static void password_hash_table_instance_init (PasswordHashTable * self) {
837 #line 63 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
838         self->priv = PASSWORD_HASH_TABLE_GET_PRIVATE (self);
839 #line 840 "moonshot-identities-manager.c"
840 }
841
842
843 static void password_hash_table_finalize (GObject* obj) {
844         PasswordHashTable * self;
845 #line 63 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
846         self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PASSWORD_HASH_TABLE, PasswordHashTable);
847 #line 64 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
848         _g_hash_table_unref0 (self->priv->password_table);
849 #line 63 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
850         G_OBJECT_CLASS (password_hash_table_parent_class)->finalize (obj);
851 #line 852 "moonshot-identities-manager.c"
852 }
853
854
855 GType password_hash_table_get_type (void) {
856         static volatile gsize password_hash_table_type_id__volatile = 0;
857         if (g_once_init_enter (&password_hash_table_type_id__volatile)) {
858                 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 };
859                 GType password_hash_table_type_id;
860                 password_hash_table_type_id = g_type_register_static (G_TYPE_OBJECT, "PasswordHashTable", &g_define_type_info, 0);
861                 g_once_init_leave (&password_hash_table_type_id__volatile, password_hash_table_type_id);
862         }
863         return password_hash_table_type_id__volatile;
864 }
865
866
867 static gpointer _g_object_ref0 (gpointer self) {
868 #line 95 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
869         return self ? g_object_ref (self) : NULL;
870 #line 871 "moonshot-identities-manager.c"
871 }
872
873
874 static gint __lambda3_ (gconstpointer a, gconstpointer b) {
875         gint result = 0;
876         IdCard* id_a = NULL;
877         gconstpointer _tmp0_ = NULL;
878         IdCard* _tmp1_ = NULL;
879         IdCard* id_b = NULL;
880         gconstpointer _tmp2_ = NULL;
881         IdCard* _tmp3_ = NULL;
882         gboolean _tmp4_ = FALSE;
883         IdCard* _tmp5_ = NULL;
884         gboolean _tmp6_ = FALSE;
885         GCompareFunc _tmp14_ = NULL;
886         IdCard* _tmp15_ = NULL;
887         const gchar* _tmp16_ = NULL;
888         const gchar* _tmp17_ = NULL;
889         IdCard* _tmp18_ = NULL;
890         const gchar* _tmp19_ = NULL;
891         const gchar* _tmp20_ = NULL;
892         gint _tmp21_ = 0;
893 #line 95 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
894         _tmp0_ = a;
895 #line 95 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
896         _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_ID_CARD, IdCard));
897 #line 95 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
898         id_a = _tmp1_;
899 #line 96 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
900         _tmp2_ = b;
901 #line 96 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
902         _tmp3_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_ID_CARD, IdCard));
903 #line 96 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
904         id_b = _tmp3_;
905 #line 97 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
906         _tmp5_ = id_a;
907 #line 97 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
908         _tmp6_ = id_card_IsNoIdentity (_tmp5_);
909 #line 97 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
910         if (_tmp6_) {
911 #line 912 "moonshot-identities-manager.c"
912                 IdCard* _tmp7_ = NULL;
913                 gboolean _tmp8_ = FALSE;
914 #line 97 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
915                 _tmp7_ = id_b;
916 #line 97 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
917                 _tmp8_ = id_card_IsNoIdentity (_tmp7_);
918 #line 97 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
919                 _tmp4_ = !_tmp8_;
920 #line 921 "moonshot-identities-manager.c"
921         } else {
922 #line 97 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
923                 _tmp4_ = FALSE;
924 #line 925 "moonshot-identities-manager.c"
925         }
926 #line 97 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
927         if (_tmp4_) {
928 #line 98 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
929                 result = -1;
930 #line 98 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
931                 _g_object_unref0 (id_b);
932 #line 98 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
933                 _g_object_unref0 (id_a);
934 #line 98 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
935                 return result;
936 #line 937 "moonshot-identities-manager.c"
937         } else {
938                 gboolean _tmp9_ = FALSE;
939                 IdCard* _tmp10_ = NULL;
940                 gboolean _tmp11_ = FALSE;
941 #line 99 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
942                 _tmp10_ = id_b;
943 #line 99 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
944                 _tmp11_ = id_card_IsNoIdentity (_tmp10_);
945 #line 99 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
946                 if (_tmp11_) {
947 #line 948 "moonshot-identities-manager.c"
948                         IdCard* _tmp12_ = NULL;
949                         gboolean _tmp13_ = FALSE;
950 #line 99 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
951                         _tmp12_ = id_a;
952 #line 99 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
953                         _tmp13_ = id_card_IsNoIdentity (_tmp12_);
954 #line 99 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
955                         _tmp9_ = !_tmp13_;
956 #line 957 "moonshot-identities-manager.c"
957                 } else {
958 #line 99 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
959                         _tmp9_ = FALSE;
960 #line 961 "moonshot-identities-manager.c"
961                 }
962 #line 99 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
963                 if (_tmp9_) {
964 #line 100 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
965                         result = 1;
966 #line 100 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
967                         _g_object_unref0 (id_b);
968 #line 100 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
969                         _g_object_unref0 (id_a);
970 #line 100 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
971                         return result;
972 #line 973 "moonshot-identities-manager.c"
973                 }
974         }
975 #line 102 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
976         _tmp14_ = g_strcmp0;
977 #line 102 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
978         _tmp15_ = id_a;
979 #line 102 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
980         _tmp16_ = id_card_get_display_name (_tmp15_);
981 #line 102 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
982         _tmp17_ = _tmp16_;
983 #line 102 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
984         _tmp18_ = id_b;
985 #line 102 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
986         _tmp19_ = id_card_get_display_name (_tmp18_);
987 #line 102 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
988         _tmp20_ = _tmp19_;
989 #line 102 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
990         _tmp21_ = _tmp14_ (_tmp17_, _tmp20_);
991 #line 102 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
992         result = _tmp21_;
993 #line 102 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
994         _g_object_unref0 (id_b);
995 #line 102 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
996         _g_object_unref0 (id_a);
997 #line 102 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
998         return result;
999 #line 1000 "moonshot-identities-manager.c"
1000 }
1001
1002
1003 static gint ___lambda3__gcompare_func (gconstpointer a, gconstpointer b) {
1004         gint result;
1005         result = __lambda3_ (a, b);
1006 #line 94 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1007         return result;
1008 #line 1009 "moonshot-identities-manager.c"
1009 }
1010
1011
1012 GeeLinkedList* identity_manager_model_get_card_list (IdentityManagerModel* self) {
1013         GeeLinkedList* result = NULL;
1014         GeeLinkedList* identities = NULL;
1015         IIdentityCardStore* _tmp0_ = NULL;
1016         GeeLinkedList* _tmp1_ = NULL;
1017         GeeLinkedList* _tmp2_ = NULL;
1018         gboolean _tmp3_ = FALSE;
1019         GeeLinkedList* _tmp4_ = NULL;
1020         gboolean _tmp5_ = FALSE;
1021         gboolean _tmp6_ = FALSE;
1022 #line 92 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1023         g_return_val_if_fail (self != NULL, NULL);
1024 #line 93 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1025         _tmp0_ = self->priv->store;
1026 #line 93 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1027         _tmp1_ = iidentity_card_store_get_card_list (_tmp0_);
1028 #line 93 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1029         identities = _tmp1_;
1030 #line 94 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1031         _tmp2_ = identities;
1032 #line 94 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1033         gee_list_sort ((GeeList*) _tmp2_, ___lambda3__gcompare_func);
1034 #line 104 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1035         _tmp4_ = identities;
1036 #line 104 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1037         _tmp5_ = gee_abstract_collection_get_is_empty ((GeeAbstractCollection*) _tmp4_);
1038 #line 104 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1039         _tmp6_ = _tmp5_;
1040 #line 104 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1041         if (_tmp6_) {
1042 #line 104 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1043                 _tmp3_ = TRUE;
1044 #line 1045 "moonshot-identities-manager.c"
1045         } else {
1046                 GeeLinkedList* _tmp7_ = NULL;
1047                 gpointer _tmp8_ = NULL;
1048                 IdCard* _tmp9_ = NULL;
1049                 gboolean _tmp10_ = FALSE;
1050 #line 104 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1051                 _tmp7_ = identities;
1052 #line 104 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1053                 _tmp8_ = gee_abstract_list_get ((GeeAbstractList*) _tmp7_, 0);
1054 #line 104 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1055                 _tmp9_ = (IdCard*) _tmp8_;
1056 #line 104 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1057                 _tmp10_ = id_card_IsNoIdentity (_tmp9_);
1058 #line 104 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1059                 _tmp3_ = !_tmp10_;
1060 #line 104 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1061                 _g_object_unref0 (_tmp9_);
1062 #line 1063 "moonshot-identities-manager.c"
1063         }
1064 #line 104 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1065         if (_tmp3_) {
1066 #line 1067 "moonshot-identities-manager.c"
1067                 GeeLinkedList* _tmp11_ = NULL;
1068                 IdCard* _tmp12_ = NULL;
1069                 IdCard* _tmp13_ = NULL;
1070 #line 105 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1071                 _tmp11_ = identities;
1072 #line 105 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1073                 _tmp12_ = id_card_NewNoIdentity ();
1074 #line 105 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1075                 _tmp13_ = _tmp12_;
1076 #line 105 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1077                 gee_abstract_list_insert ((GeeAbstractList*) _tmp11_, 0, _tmp13_);
1078 #line 105 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1079                 _g_object_unref0 (_tmp13_);
1080 #line 1081 "moonshot-identities-manager.c"
1081         }
1082         {
1083                 GeeLinkedList* _id_card_list = NULL;
1084                 GeeLinkedList* _tmp14_ = NULL;
1085                 GeeLinkedList* _tmp15_ = NULL;
1086                 gint _id_card_size = 0;
1087                 GeeLinkedList* _tmp16_ = NULL;
1088                 gint _tmp17_ = 0;
1089                 gint _tmp18_ = 0;
1090                 gint _id_card_index = 0;
1091 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1092                 _tmp14_ = identities;
1093 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1094                 _tmp15_ = _g_object_ref0 (_tmp14_);
1095 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1096                 _id_card_list = _tmp15_;
1097 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1098                 _tmp16_ = _id_card_list;
1099 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1100                 _tmp17_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp16_);
1101 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1102                 _tmp18_ = _tmp17_;
1103 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1104                 _id_card_size = _tmp18_;
1105 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1106                 _id_card_index = -1;
1107 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1108                 while (TRUE) {
1109 #line 1110 "moonshot-identities-manager.c"
1110                         gint _tmp19_ = 0;
1111                         gint _tmp20_ = 0;
1112                         gint _tmp21_ = 0;
1113                         IdCard* id_card = NULL;
1114                         GeeLinkedList* _tmp22_ = NULL;
1115                         gint _tmp23_ = 0;
1116                         gpointer _tmp24_ = NULL;
1117                         IdCard* _tmp25_ = NULL;
1118                         gboolean _tmp26_ = FALSE;
1119                         gboolean _tmp27_ = FALSE;
1120 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1121                         _tmp19_ = _id_card_index;
1122 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1123                         _id_card_index = _tmp19_ + 1;
1124 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1125                         _tmp20_ = _id_card_index;
1126 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1127                         _tmp21_ = _id_card_size;
1128 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1129                         if (!(_tmp20_ < _tmp21_)) {
1130 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1131                                 break;
1132 #line 1133 "moonshot-identities-manager.c"
1133                         }
1134 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1135                         _tmp22_ = _id_card_list;
1136 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1137                         _tmp23_ = _id_card_index;
1138 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1139                         _tmp24_ = gee_abstract_list_get ((GeeAbstractList*) _tmp22_, _tmp23_);
1140 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1141                         id_card = (IdCard*) _tmp24_;
1142 #line 107 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1143                         _tmp25_ = id_card;
1144 #line 107 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1145                         _tmp26_ = id_card_get_store_password (_tmp25_);
1146 #line 107 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1147                         _tmp27_ = _tmp26_;
1148 #line 107 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1149                         if (!_tmp27_) {
1150 #line 1151 "moonshot-identities-manager.c"
1151                                 PasswordHashTable* _tmp28_ = NULL;
1152                                 IdCard* _tmp29_ = NULL;
1153                                 IIdentityCardStore* _tmp30_ = NULL;
1154 #line 108 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1155                                 _tmp28_ = self->priv->password_table;
1156 #line 108 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1157                                 _tmp29_ = id_card;
1158 #line 108 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1159                                 _tmp30_ = self->priv->store;
1160 #line 108 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1161                                 password_hash_table_RetrievePassword (_tmp28_, _tmp29_, _tmp30_);
1162 #line 1163 "moonshot-identities-manager.c"
1163                         }
1164 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1165                         _g_object_unref0 (id_card);
1166 #line 1167 "moonshot-identities-manager.c"
1167                 }
1168 #line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1169                 _g_object_unref0 (_id_card_list);
1170 #line 1171 "moonshot-identities-manager.c"
1171         }
1172 #line 111 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1173         result = identities;
1174 #line 111 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1175         return result;
1176 #line 1177 "moonshot-identities-manager.c"
1177 }
1178
1179
1180 gboolean identity_manager_model_display_name_is_valid (IdentityManagerModel* self, const gchar* name, gchar** candidate) {
1181         gchar* _vala_candidate = NULL;
1182         gboolean result = FALSE;
1183 #line 116 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1184         g_return_val_if_fail (self != NULL, FALSE);
1185 #line 116 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1186         g_return_val_if_fail (name != NULL, FALSE);
1187 #line 119 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1188         if ((&_vala_candidate) != NULL) {
1189 #line 120 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1190                 _g_free0 (_vala_candidate);
1191 #line 120 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1192                 _vala_candidate = NULL;
1193 #line 1194 "moonshot-identities-manager.c"
1194         }
1195         {
1196                 GeeLinkedList* _id_card_list = NULL;
1197                 GeeLinkedList* _tmp0_ = NULL;
1198                 gint _id_card_size = 0;
1199                 GeeLinkedList* _tmp1_ = NULL;
1200                 gint _tmp2_ = 0;
1201                 gint _tmp3_ = 0;
1202                 gint _id_card_index = 0;
1203 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1204                 _tmp0_ = identity_manager_model_get_card_list (self);
1205 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1206                 _id_card_list = _tmp0_;
1207 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1208                 _tmp1_ = _id_card_list;
1209 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1210                 _tmp2_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp1_);
1211 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1212                 _tmp3_ = _tmp2_;
1213 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1214                 _id_card_size = _tmp3_;
1215 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1216                 _id_card_index = -1;
1217 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1218                 while (TRUE) {
1219 #line 1220 "moonshot-identities-manager.c"
1220                         gint _tmp4_ = 0;
1221                         gint _tmp5_ = 0;
1222                         gint _tmp6_ = 0;
1223                         IdCard* id_card = NULL;
1224                         GeeLinkedList* _tmp7_ = NULL;
1225                         gint _tmp8_ = 0;
1226                         gpointer _tmp9_ = NULL;
1227                         IdCard* _tmp10_ = NULL;
1228                         const gchar* _tmp11_ = NULL;
1229                         const gchar* _tmp12_ = NULL;
1230                         const gchar* _tmp13_ = NULL;
1231 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1232                         _tmp4_ = _id_card_index;
1233 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1234                         _id_card_index = _tmp4_ + 1;
1235 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1236                         _tmp5_ = _id_card_index;
1237 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1238                         _tmp6_ = _id_card_size;
1239 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1240                         if (!(_tmp5_ < _tmp6_)) {
1241 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1242                                 break;
1243 #line 1244 "moonshot-identities-manager.c"
1244                         }
1245 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1246                         _tmp7_ = _id_card_list;
1247 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1248                         _tmp8_ = _id_card_index;
1249 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1250                         _tmp9_ = gee_abstract_list_get ((GeeAbstractList*) _tmp7_, _tmp8_);
1251 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1252                         id_card = (IdCard*) _tmp9_;
1253 #line 123 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1254                         _tmp10_ = id_card;
1255 #line 123 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1256                         _tmp11_ = id_card_get_display_name (_tmp10_);
1257 #line 123 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1258                         _tmp12_ = _tmp11_;
1259 #line 123 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1260                         _tmp13_ = name;
1261 #line 123 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1262                         if (g_strcmp0 (_tmp12_, _tmp13_) == 0) {
1263 #line 125 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1264                                 if ((&_vala_candidate) != NULL) {
1265 #line 1266 "moonshot-identities-manager.c"
1266                                         {
1267                                                 gint i = 0;
1268 #line 127 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1269                                                 i = 0;
1270 #line 1271 "moonshot-identities-manager.c"
1271                                                 {
1272                                                         gboolean _tmp14_ = FALSE;
1273 #line 127 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1274                                                         _tmp14_ = TRUE;
1275 #line 127 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1276                                                         while (TRUE) {
1277 #line 1278 "moonshot-identities-manager.c"
1278                                                                 gint _tmp16_ = 0;
1279                                                                 gchar* tmp = NULL;
1280                                                                 const gchar* _tmp17_ = NULL;
1281                                                                 gint _tmp18_ = 0;
1282                                                                 gchar* _tmp19_ = NULL;
1283                                                                 const gchar* _tmp20_ = NULL;
1284                                                                 gboolean _tmp21_ = FALSE;
1285 #line 127 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1286                                                                 if (!_tmp14_) {
1287 #line 1288 "moonshot-identities-manager.c"
1288                                                                         gint _tmp15_ = 0;
1289 #line 127 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1290                                                                         _tmp15_ = i;
1291 #line 127 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1292                                                                         i = _tmp15_ + 1;
1293 #line 1294 "moonshot-identities-manager.c"
1294                                                                 }
1295 #line 127 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1296                                                                 _tmp14_ = FALSE;
1297 #line 127 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1298                                                                 _tmp16_ = i;
1299 #line 127 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1300                                                                 if (!(_tmp16_ < 1000)) {
1301 #line 127 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1302                                                                         break;
1303 #line 1304 "moonshot-identities-manager.c"
1304                                                                 }
1305 #line 129 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1306                                                                 _tmp17_ = name;
1307 #line 129 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1308                                                                 _tmp18_ = i;
1309 #line 129 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1310                                                                 _tmp19_ = g_strdup_printf ("%s %d", _tmp17_, _tmp18_);
1311 #line 129 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1312                                                                 tmp = _tmp19_;
1313 #line 130 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1314                                                                 _tmp20_ = tmp;
1315 #line 130 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1316                                                                 _tmp21_ = identity_manager_model_display_name_is_valid (self, _tmp20_, NULL);
1317 #line 130 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1318                                                                 if (_tmp21_) {
1319 #line 1320 "moonshot-identities-manager.c"
1320                                                                         const gchar* _tmp22_ = NULL;
1321                                                                         gchar* _tmp23_ = NULL;
1322 #line 132 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1323                                                                         _tmp22_ = tmp;
1324 #line 132 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1325                                                                         _tmp23_ = g_strdup (_tmp22_);
1326 #line 132 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1327                                                                         _g_free0 (_vala_candidate);
1328 #line 132 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1329                                                                         _vala_candidate = _tmp23_;
1330 #line 133 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1331                                                                         _g_free0 (tmp);
1332 #line 133 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1333                                                                         break;
1334 #line 1335 "moonshot-identities-manager.c"
1335                                                                 }
1336 #line 127 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1337                                                                 _g_free0 (tmp);
1338 #line 1339 "moonshot-identities-manager.c"
1339                                                         }
1340                                                 }
1341                                         }
1342                                 }
1343 #line 137 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1344                                 result = FALSE;
1345 #line 137 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1346                                 _g_object_unref0 (id_card);
1347 #line 137 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1348                                 _g_object_unref0 (_id_card_list);
1349 #line 137 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1350                                 if (candidate) {
1351 #line 137 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1352                                         *candidate = _vala_candidate;
1353 #line 1354 "moonshot-identities-manager.c"
1354                                 } else {
1355 #line 137 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1356                                         _g_free0 (_vala_candidate);
1357 #line 1358 "moonshot-identities-manager.c"
1358                                 }
1359 #line 137 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1360                                 return result;
1361 #line 1362 "moonshot-identities-manager.c"
1362                         }
1363 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1364                         _g_object_unref0 (id_card);
1365 #line 1366 "moonshot-identities-manager.c"
1366                 }
1367 #line 121 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1368                 _g_object_unref0 (_id_card_list);
1369 #line 1370 "moonshot-identities-manager.c"
1370         }
1371 #line 140 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1372         result = TRUE;
1373 #line 140 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1374         if (candidate) {
1375 #line 140 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1376                 *candidate = _vala_candidate;
1377 #line 1378 "moonshot-identities-manager.c"
1378         } else {
1379 #line 140 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1380                 _g_free0 (_vala_candidate);
1381 #line 1382 "moonshot-identities-manager.c"
1382         }
1383 #line 140 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1384         return result;
1385 #line 1386 "moonshot-identities-manager.c"
1386 }
1387
1388
1389 static gboolean identity_manager_model_remove_duplicates (IdentityManagerModel* self, IdCard* card) {
1390         gboolean result = FALSE;
1391         gboolean duplicate_found = FALSE;
1392         gboolean found = FALSE;
1393 #line 143 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1394         g_return_val_if_fail (self != NULL, FALSE);
1395 #line 143 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1396         g_return_val_if_fail (card != NULL, FALSE);
1397 #line 145 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1398         duplicate_found = FALSE;
1399 #line 146 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1400         found = FALSE;
1401 #line 1402 "moonshot-identities-manager.c"
1402         {
1403                 gboolean _tmp0_ = FALSE;
1404 #line 147 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1405                 _tmp0_ = TRUE;
1406 #line 147 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1407                 while (TRUE) {
1408 #line 1409 "moonshot-identities-manager.c"
1409                         GeeLinkedList* cards = NULL;
1410                         GeeLinkedList* _tmp2_ = NULL;
1411 #line 147 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1412                         if (!_tmp0_) {
1413 #line 1414 "moonshot-identities-manager.c"
1414                                 gboolean _tmp1_ = FALSE;
1415 #line 158 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1416                                 _tmp1_ = found;
1417 #line 158 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1418                                 if (!_tmp1_) {
1419 #line 158 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1420                                         break;
1421 #line 1422 "moonshot-identities-manager.c"
1422                                 }
1423                         }
1424 #line 147 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1425                         _tmp0_ = FALSE;
1426 #line 148 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1427                         _tmp2_ = identity_manager_model_get_card_list (self);
1428 #line 148 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1429                         cards = _tmp2_;
1430 #line 149 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1431                         found = FALSE;
1432 #line 1433 "moonshot-identities-manager.c"
1433                         {
1434                                 GeeLinkedList* _id_card_list = NULL;
1435                                 GeeLinkedList* _tmp3_ = NULL;
1436                                 GeeLinkedList* _tmp4_ = NULL;
1437                                 gint _id_card_size = 0;
1438                                 GeeLinkedList* _tmp5_ = NULL;
1439                                 gint _tmp6_ = 0;
1440                                 gint _tmp7_ = 0;
1441                                 gint _id_card_index = 0;
1442 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1443                                 _tmp3_ = cards;
1444 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1445                                 _tmp4_ = _g_object_ref0 (_tmp3_);
1446 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1447                                 _id_card_list = _tmp4_;
1448 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1449                                 _tmp5_ = _id_card_list;
1450 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1451                                 _tmp6_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp5_);
1452 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1453                                 _tmp7_ = _tmp6_;
1454 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1455                                 _id_card_size = _tmp7_;
1456 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1457                                 _id_card_index = -1;
1458 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1459                                 while (TRUE) {
1460 #line 1461 "moonshot-identities-manager.c"
1461                                         gint _tmp8_ = 0;
1462                                         gint _tmp9_ = 0;
1463                                         gint _tmp10_ = 0;
1464                                         IdCard* id_card = NULL;
1465                                         GeeLinkedList* _tmp11_ = NULL;
1466                                         gint _tmp12_ = 0;
1467                                         gpointer _tmp13_ = NULL;
1468                                         gboolean _tmp14_ = FALSE;
1469                                         IdCard* _tmp15_ = NULL;
1470                                         IdCard* _tmp16_ = NULL;
1471 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1472                                         _tmp8_ = _id_card_index;
1473 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1474                                         _id_card_index = _tmp8_ + 1;
1475 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1476                                         _tmp9_ = _id_card_index;
1477 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1478                                         _tmp10_ = _id_card_size;
1479 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1480                                         if (!(_tmp9_ < _tmp10_)) {
1481 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1482                                                 break;
1483 #line 1484 "moonshot-identities-manager.c"
1484                                         }
1485 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1486                                         _tmp11_ = _id_card_list;
1487 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1488                                         _tmp12_ = _id_card_index;
1489 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1490                                         _tmp13_ = gee_abstract_list_get ((GeeAbstractList*) _tmp11_, _tmp12_);
1491 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1492                                         id_card = (IdCard*) _tmp13_;
1493 #line 151 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1494                                         _tmp15_ = card;
1495 #line 151 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1496                                         _tmp16_ = id_card;
1497 #line 151 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1498                                         if (_tmp15_ != _tmp16_) {
1499 #line 1500 "moonshot-identities-manager.c"
1500                                                 IdCard* _tmp17_ = NULL;
1501                                                 const gchar* _tmp18_ = NULL;
1502                                                 const gchar* _tmp19_ = NULL;
1503                                                 IdCard* _tmp20_ = NULL;
1504                                                 const gchar* _tmp21_ = NULL;
1505                                                 const gchar* _tmp22_ = NULL;
1506 #line 151 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1507                                                 _tmp17_ = id_card;
1508 #line 151 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1509                                                 _tmp18_ = id_card_get_nai (_tmp17_);
1510 #line 151 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1511                                                 _tmp19_ = _tmp18_;
1512 #line 151 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1513                                                 _tmp20_ = card;
1514 #line 151 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1515                                                 _tmp21_ = id_card_get_nai (_tmp20_);
1516 #line 151 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1517                                                 _tmp22_ = _tmp21_;
1518 #line 151 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1519                                                 _tmp14_ = g_strcmp0 (_tmp19_, _tmp22_) == 0;
1520 #line 1521 "moonshot-identities-manager.c"
1521                                         } else {
1522 #line 151 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1523                                                 _tmp14_ = FALSE;
1524 #line 1525 "moonshot-identities-manager.c"
1525                                         }
1526 #line 151 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1527                                         if (_tmp14_) {
1528 #line 1529 "moonshot-identities-manager.c"
1529                                                 FILE* _tmp23_ = NULL;
1530                                                 IdCard* _tmp24_ = NULL;
1531                                                 const gchar* _tmp25_ = NULL;
1532                                                 const gchar* _tmp26_ = NULL;
1533                                                 IdCard* _tmp27_ = NULL;
1534                                                 gboolean _tmp28_ = FALSE;
1535 #line 152 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1536                                                 _tmp23_ = stdout;
1537 #line 152 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1538                                                 _tmp24_ = card;
1539 #line 152 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1540                                                 _tmp25_ = id_card_get_nai (_tmp24_);
1541 #line 152 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1542                                                 _tmp26_ = _tmp25_;
1543 #line 152 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1544                                                 fprintf (_tmp23_, "removing duplicate id for '%s'\n", _tmp26_);
1545 #line 153 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1546                                                 _tmp27_ = id_card;
1547 #line 153 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1548                                                 identity_manager_model_remove_card_internal (self, _tmp27_);
1549 #line 154 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1550                                                 duplicate_found = TRUE;
1551 #line 154 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1552                                                 _tmp28_ = duplicate_found;
1553 #line 154 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1554                                                 found = _tmp28_;
1555 #line 155 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1556                                                 _g_object_unref0 (id_card);
1557 #line 155 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1558                                                 break;
1559 #line 1560 "moonshot-identities-manager.c"
1560                                         }
1561 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1562                                         _g_object_unref0 (id_card);
1563 #line 1564 "moonshot-identities-manager.c"
1564                                 }
1565 #line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1566                                 _g_object_unref0 (_id_card_list);
1567 #line 1568 "moonshot-identities-manager.c"
1568                         }
1569 #line 147 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1570                         _g_object_unref0 (cards);
1571 #line 1572 "moonshot-identities-manager.c"
1572                 }
1573         }
1574 #line 159 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1575         result = duplicate_found;
1576 #line 159 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1577         return result;
1578 #line 1579 "moonshot-identities-manager.c"
1579 }
1580
1581
1582 IdCard* identity_manager_model_find_id_card (IdentityManagerModel* self, const gchar* nai, gboolean force_flat_file_store) {
1583         IdCard* result = NULL;
1584         IdCard* retval = NULL;
1585         IIdentityCardStoreStoreType saved_store_type = 0;
1586         IIdentityCardStoreStoreType _tmp0_ = 0;
1587         gboolean _tmp1_ = FALSE;
1588         IIdentityCardStoreStoreType _tmp18_ = 0;
1589         gboolean _tmp19_ = FALSE;
1590         gboolean _tmp20_ = FALSE;
1591 #line 162 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1592         g_return_val_if_fail (self != NULL, NULL);
1593 #line 162 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1594         g_return_val_if_fail (nai != NULL, NULL);
1595 #line 163 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1596         retval = NULL;
1597 #line 164 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1598         _tmp0_ = identity_manager_model_get_store_type (self);
1599 #line 164 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1600         saved_store_type = _tmp0_;
1601 #line 165 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1602         _tmp1_ = force_flat_file_store;
1603 #line 165 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1604         if (_tmp1_) {
1605 #line 166 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1606                 identity_manager_model_set_store_type (self, IIDENTITY_CARD_STORE_STORE_TYPE_FLAT_FILE);
1607 #line 1608 "moonshot-identities-manager.c"
1608         }
1609         {
1610                 GeeLinkedList* _id_list = NULL;
1611                 GeeLinkedList* _tmp2_ = NULL;
1612                 gint _id_size = 0;
1613                 GeeLinkedList* _tmp3_ = NULL;
1614                 gint _tmp4_ = 0;
1615                 gint _tmp5_ = 0;
1616                 gint _id_index = 0;
1617 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1618                 _tmp2_ = identity_manager_model_get_card_list (self);
1619 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1620                 _id_list = _tmp2_;
1621 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1622                 _tmp3_ = _id_list;
1623 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1624                 _tmp4_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp3_);
1625 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1626                 _tmp5_ = _tmp4_;
1627 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1628                 _id_size = _tmp5_;
1629 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1630                 _id_index = -1;
1631 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1632                 while (TRUE) {
1633 #line 1634 "moonshot-identities-manager.c"
1634                         gint _tmp6_ = 0;
1635                         gint _tmp7_ = 0;
1636                         gint _tmp8_ = 0;
1637                         IdCard* id = NULL;
1638                         GeeLinkedList* _tmp9_ = NULL;
1639                         gint _tmp10_ = 0;
1640                         gpointer _tmp11_ = NULL;
1641                         IdCard* _tmp12_ = NULL;
1642                         const gchar* _tmp13_ = NULL;
1643                         const gchar* _tmp14_ = NULL;
1644                         const gchar* _tmp15_ = NULL;
1645 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1646                         _tmp6_ = _id_index;
1647 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1648                         _id_index = _tmp6_ + 1;
1649 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1650                         _tmp7_ = _id_index;
1651 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1652                         _tmp8_ = _id_size;
1653 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1654                         if (!(_tmp7_ < _tmp8_)) {
1655 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1656                                 break;
1657 #line 1658 "moonshot-identities-manager.c"
1658                         }
1659 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1660                         _tmp9_ = _id_list;
1661 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1662                         _tmp10_ = _id_index;
1663 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1664                         _tmp11_ = gee_abstract_list_get ((GeeAbstractList*) _tmp9_, _tmp10_);
1665 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1666                         id = (IdCard*) _tmp11_;
1667 #line 169 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1668                         _tmp12_ = id;
1669 #line 169 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1670                         _tmp13_ = id_card_get_nai (_tmp12_);
1671 #line 169 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1672                         _tmp14_ = _tmp13_;
1673 #line 169 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1674                         _tmp15_ = nai;
1675 #line 169 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1676                         if (g_strcmp0 (_tmp14_, _tmp15_) == 0) {
1677 #line 1678 "moonshot-identities-manager.c"
1678                                 IdCard* _tmp16_ = NULL;
1679                                 IdCard* _tmp17_ = NULL;
1680 #line 170 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1681                                 _tmp16_ = id;
1682 #line 170 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1683                                 _tmp17_ = _g_object_ref0 (_tmp16_);
1684 #line 170 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1685                                 _g_object_unref0 (retval);
1686 #line 170 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1687                                 retval = _tmp17_;
1688 #line 171 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1689                                 _g_object_unref0 (id);
1690 #line 171 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1691                                 break;
1692 #line 1693 "moonshot-identities-manager.c"
1693                         }
1694 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1695                         _g_object_unref0 (id);
1696 #line 1697 "moonshot-identities-manager.c"
1697                 }
1698 #line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1699                 _g_object_unref0 (_id_list);
1700 #line 1701 "moonshot-identities-manager.c"
1701         }
1702 #line 174 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1703         _tmp18_ = saved_store_type;
1704 #line 174 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1705         identity_manager_model_set_store_type (self, _tmp18_);
1706 #line 175 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1707         _tmp20_ = force_flat_file_store;
1708 #line 175 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1709         if (_tmp20_) {
1710 #line 1711 "moonshot-identities-manager.c"
1711                 IIdentityCardStoreStoreType _tmp21_ = 0;
1712 #line 176 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1713                 _tmp21_ = saved_store_type;
1714 #line 176 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1715                 _tmp19_ = _tmp21_ != IIDENTITY_CARD_STORE_STORE_TYPE_FLAT_FILE;
1716 #line 1717 "moonshot-identities-manager.c"
1717         } else {
1718 #line 175 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1719                 _tmp19_ = FALSE;
1720 #line 1721 "moonshot-identities-manager.c"
1721         }
1722 #line 175 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1723         if (_tmp19_) {
1724 #line 177 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1725                 g_signal_emit_by_name (self, "card-list-changed");
1726 #line 1727 "moonshot-identities-manager.c"
1727         }
1728 #line 178 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1729         result = retval;
1730 #line 178 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1731         return result;
1732 #line 1733 "moonshot-identities-manager.c"
1733 }
1734
1735
1736 void identity_manager_model_add_card (IdentityManagerModel* self, IdCard* card, gboolean force_flat_file_store) {
1737         IdCard* _tmp0_ = NULL;
1738         gboolean _tmp1_ = FALSE;
1739         gboolean _tmp2_ = FALSE;
1740         gchar* candidate = NULL;
1741         IIdentityCardStoreStoreType saved_store_type = 0;
1742         IIdentityCardStoreStoreType _tmp3_ = 0;
1743         gboolean _tmp4_ = FALSE;
1744         IdCard* _tmp5_ = NULL;
1745         IdCard* _tmp6_ = NULL;
1746         const gchar* _tmp7_ = NULL;
1747         const gchar* _tmp8_ = NULL;
1748         gchar* _tmp9_ = NULL;
1749         gboolean _tmp10_ = FALSE;
1750         IdCard* _tmp13_ = NULL;
1751         gboolean _tmp14_ = FALSE;
1752         gboolean _tmp15_ = FALSE;
1753         IIdentityCardStore* _tmp19_ = NULL;
1754         IdCard* _tmp20_ = NULL;
1755         IIdentityCardStoreStoreType _tmp21_ = 0;
1756 #line 181 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1757         g_return_if_fail (self != NULL);
1758 #line 181 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1759         g_return_if_fail (card != NULL);
1760 #line 182 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1761         _tmp0_ = card;
1762 #line 182 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1763         _tmp1_ = id_card_get_temporary (_tmp0_);
1764 #line 182 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1765         _tmp2_ = _tmp1_;
1766 #line 182 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1767         if (_tmp2_) {
1768 #line 183 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1769                 return;
1770 #line 1771 "moonshot-identities-manager.c"
1771         }
1772 #line 186 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1773         _tmp3_ = identity_manager_model_get_store_type (self);
1774 #line 186 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1775         saved_store_type = _tmp3_;
1776 #line 188 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1777         _tmp4_ = force_flat_file_store;
1778 #line 188 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1779         if (_tmp4_) {
1780 #line 189 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1781                 identity_manager_model_set_store_type (self, IIDENTITY_CARD_STORE_STORE_TYPE_FLAT_FILE);
1782 #line 1783 "moonshot-identities-manager.c"
1783         }
1784 #line 191 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1785         _tmp5_ = card;
1786 #line 191 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1787         identity_manager_model_remove_duplicates (self, _tmp5_);
1788 #line 193 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1789         _tmp6_ = card;
1790 #line 193 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1791         _tmp7_ = id_card_get_display_name (_tmp6_);
1792 #line 193 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1793         _tmp8_ = _tmp7_;
1794 #line 193 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1795         _tmp10_ = identity_manager_model_display_name_is_valid (self, _tmp8_, &_tmp9_);
1796 #line 193 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1797         _g_free0 (candidate);
1798 #line 193 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1799         candidate = _tmp9_;
1800 #line 193 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1801         if (!_tmp10_) {
1802 #line 1803 "moonshot-identities-manager.c"
1803                 IdCard* _tmp11_ = NULL;
1804                 const gchar* _tmp12_ = NULL;
1805 #line 195 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1806                 _tmp11_ = card;
1807 #line 195 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1808                 _tmp12_ = candidate;
1809 #line 195 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1810                 id_card_set_display_name (_tmp11_, _tmp12_);
1811 #line 1812 "moonshot-identities-manager.c"
1812         }
1813 #line 198 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1814         _tmp13_ = card;
1815 #line 198 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1816         _tmp14_ = id_card_get_store_password (_tmp13_);
1817 #line 198 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1818         _tmp15_ = _tmp14_;
1819 #line 198 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1820         if (!_tmp15_) {
1821 #line 1822 "moonshot-identities-manager.c"
1822                 PasswordHashTable* _tmp16_ = NULL;
1823                 IdCard* _tmp17_ = NULL;
1824                 IIdentityCardStore* _tmp18_ = NULL;
1825 #line 199 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1826                 _tmp16_ = self->priv->password_table;
1827 #line 199 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1828                 _tmp17_ = card;
1829 #line 199 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1830                 _tmp18_ = self->priv->store;
1831 #line 199 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1832                 password_hash_table_CachePassword (_tmp16_, _tmp17_, _tmp18_);
1833 #line 1834 "moonshot-identities-manager.c"
1834         }
1835 #line 200 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1836         _tmp19_ = self->priv->store;
1837 #line 200 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1838         _tmp20_ = card;
1839 #line 200 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1840         iidentity_card_store_add_card (_tmp19_, _tmp20_);
1841 #line 201 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1842         _tmp21_ = saved_store_type;
1843 #line 201 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1844         identity_manager_model_set_store_type (self, _tmp21_);
1845 #line 202 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1846         g_signal_emit_by_name (self, "card-list-changed");
1847 #line 181 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1848         _g_free0 (candidate);
1849 #line 1850 "moonshot-identities-manager.c"
1850 }
1851
1852
1853 IdCard* identity_manager_model_update_card (IdentityManagerModel* self, IdCard* card) {
1854         IdCard* result = NULL;
1855         IdCard* retval = NULL;
1856         IdCard* _tmp0_ = NULL;
1857         gboolean _tmp1_ = FALSE;
1858         gboolean _tmp2_ = FALSE;
1859         IdCard* _tmp5_ = NULL;
1860         gboolean _tmp6_ = FALSE;
1861         gboolean _tmp7_ = FALSE;
1862         IIdentityCardStore* _tmp14_ = NULL;
1863         IdCard* _tmp15_ = NULL;
1864         IdCard* _tmp16_ = NULL;
1865 #line 205 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1866         g_return_val_if_fail (self != NULL, NULL);
1867 #line 205 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1868         g_return_val_if_fail (card != NULL, NULL);
1869 #line 207 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1870         _tmp0_ = card;
1871 #line 207 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1872         _tmp1_ = id_card_get_temporary (_tmp0_);
1873 #line 207 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1874         _tmp2_ = _tmp1_;
1875 #line 207 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1876         if (_tmp2_) {
1877 #line 1878 "moonshot-identities-manager.c"
1878                 IdCard* _tmp3_ = NULL;
1879                 IdCard* _tmp4_ = NULL;
1880 #line 208 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1881                 _tmp3_ = card;
1882 #line 208 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1883                 _tmp4_ = _g_object_ref0 (_tmp3_);
1884 #line 208 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1885                 _g_object_unref0 (retval);
1886 #line 208 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1887                 retval = _tmp4_;
1888 #line 209 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1889                 result = retval;
1890 #line 209 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1891                 return result;
1892 #line 1893 "moonshot-identities-manager.c"
1893         }
1894 #line 212 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1895         _tmp5_ = card;
1896 #line 212 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1897         _tmp6_ = id_card_get_store_password (_tmp5_);
1898 #line 212 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1899         _tmp7_ = _tmp6_;
1900 #line 212 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1901         if (!_tmp7_) {
1902 #line 1903 "moonshot-identities-manager.c"
1903                 PasswordHashTable* _tmp8_ = NULL;
1904                 IdCard* _tmp9_ = NULL;
1905                 IIdentityCardStore* _tmp10_ = NULL;
1906 #line 213 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1907                 _tmp8_ = self->priv->password_table;
1908 #line 213 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1909                 _tmp9_ = card;
1910 #line 213 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1911                 _tmp10_ = self->priv->store;
1912 #line 213 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1913                 password_hash_table_CachePassword (_tmp8_, _tmp9_, _tmp10_);
1914 #line 1915 "moonshot-identities-manager.c"
1915         } else {
1916                 PasswordHashTable* _tmp11_ = NULL;
1917                 IdCard* _tmp12_ = NULL;
1918                 IIdentityCardStore* _tmp13_ = NULL;
1919 #line 215 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1920                 _tmp11_ = self->priv->password_table;
1921 #line 215 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1922                 _tmp12_ = card;
1923 #line 215 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1924                 _tmp13_ = self->priv->store;
1925 #line 215 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1926                 password_hash_table_RemovePassword (_tmp11_, _tmp12_, _tmp13_);
1927 #line 1928 "moonshot-identities-manager.c"
1928         }
1929 #line 216 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1930         _tmp14_ = self->priv->store;
1931 #line 216 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1932         _tmp15_ = card;
1933 #line 216 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1934         _tmp16_ = iidentity_card_store_update_card (_tmp14_, _tmp15_);
1935 #line 216 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1936         _g_object_unref0 (retval);
1937 #line 216 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1938         retval = _tmp16_;
1939 #line 217 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1940         g_signal_emit_by_name (self, "card-list-changed");
1941 #line 218 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1942         result = retval;
1943 #line 218 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1944         return result;
1945 #line 1946 "moonshot-identities-manager.c"
1946 }
1947
1948
1949 static gboolean identity_manager_model_remove_card_internal (IdentityManagerModel* self, IdCard* card) {
1950         gboolean result = FALSE;
1951         IdCard* _tmp0_ = NULL;
1952         gboolean _tmp1_ = FALSE;
1953         gboolean _tmp2_ = FALSE;
1954         PasswordHashTable* _tmp3_ = NULL;
1955         IdCard* _tmp4_ = NULL;
1956         IIdentityCardStore* _tmp5_ = NULL;
1957         IIdentityCardStore* _tmp6_ = NULL;
1958         IdCard* _tmp7_ = NULL;
1959         gboolean _tmp8_ = FALSE;
1960 #line 221 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1961         g_return_val_if_fail (self != NULL, FALSE);
1962 #line 221 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1963         g_return_val_if_fail (card != NULL, FALSE);
1964 #line 222 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1965         _tmp0_ = card;
1966 #line 222 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1967         _tmp1_ = id_card_get_temporary (_tmp0_);
1968 #line 222 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1969         _tmp2_ = _tmp1_;
1970 #line 222 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1971         if (_tmp2_) {
1972 #line 223 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1973                 result = FALSE;
1974 #line 223 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1975                 return result;
1976 #line 1977 "moonshot-identities-manager.c"
1977         }
1978 #line 224 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1979         _tmp3_ = self->priv->password_table;
1980 #line 224 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1981         _tmp4_ = card;
1982 #line 224 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1983         _tmp5_ = self->priv->store;
1984 #line 224 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1985         password_hash_table_RemovePassword (_tmp3_, _tmp4_, _tmp5_);
1986 #line 225 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1987         _tmp6_ = self->priv->store;
1988 #line 225 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1989         _tmp7_ = card;
1990 #line 225 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1991         _tmp8_ = iidentity_card_store_remove_card (_tmp6_, _tmp7_);
1992 #line 225 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1993         result = _tmp8_;
1994 #line 225 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
1995         return result;
1996 #line 1997 "moonshot-identities-manager.c"
1997 }
1998
1999
2000 gboolean identity_manager_model_remove_card (IdentityManagerModel* self, IdCard* card) {
2001         gboolean result = FALSE;
2002         IdCard* _tmp0_ = NULL;
2003         gboolean _tmp1_ = FALSE;
2004 #line 228 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2005         g_return_val_if_fail (self != NULL, FALSE);
2006 #line 228 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2007         g_return_val_if_fail (card != NULL, FALSE);
2008 #line 229 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2009         _tmp0_ = card;
2010 #line 229 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2011         _tmp1_ = identity_manager_model_remove_card_internal (self, _tmp0_);
2012 #line 229 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2013         if (_tmp1_) {
2014 #line 230 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2015                 g_signal_emit_by_name (self, "card-list-changed");
2016 #line 231 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2017                 result = TRUE;
2018 #line 231 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2019                 return result;
2020 #line 2021 "moonshot-identities-manager.c"
2021         }
2022 #line 233 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2023         result = FALSE;
2024 #line 233 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2025         return result;
2026 #line 2027 "moonshot-identities-manager.c"
2027 }
2028
2029
2030 void identity_manager_model_set_store_type (IdentityManagerModel* self, IIdentityCardStoreStoreType type) {
2031         gboolean _tmp0_ = FALSE;
2032         IIdentityCardStore* _tmp1_ = NULL;
2033         IIdentityCardStoreStoreType _tmp5_ = 0;
2034 #line 236 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2035         g_return_if_fail (self != NULL);
2036 #line 237 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2037         _tmp1_ = self->priv->store;
2038 #line 237 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2039         if (_tmp1_ != NULL) {
2040 #line 2041 "moonshot-identities-manager.c"
2041                 IIdentityCardStore* _tmp2_ = NULL;
2042                 IIdentityCardStoreStoreType _tmp3_ = 0;
2043                 IIdentityCardStoreStoreType _tmp4_ = 0;
2044 #line 237 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2045                 _tmp2_ = self->priv->store;
2046 #line 237 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2047                 _tmp3_ = iidentity_card_store_get_store_type (_tmp2_);
2048 #line 237 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2049                 _tmp4_ = type;
2050 #line 237 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2051                 _tmp0_ = _tmp3_ == _tmp4_;
2052 #line 2053 "moonshot-identities-manager.c"
2053         } else {
2054 #line 237 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2055                 _tmp0_ = FALSE;
2056 #line 2057 "moonshot-identities-manager.c"
2057         }
2058 #line 237 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2059         if (_tmp0_) {
2060 #line 238 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2061                 return;
2062 #line 2063 "moonshot-identities-manager.c"
2063         }
2064 #line 239 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2065         _tmp5_ = type;
2066 #line 239 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2067         switch (_tmp5_) {
2068 #line 239 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2069                 case IIDENTITY_CARD_STORE_STORE_TYPE_KEYRING:
2070 #line 2071 "moonshot-identities-manager.c"
2071                 {
2072                         KeyringStore* _tmp6_ = NULL;
2073 #line 242 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2074                         _tmp6_ = keyring_store_new ();
2075 #line 242 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2076                         _g_object_unref0 (self->priv->store);
2077 #line 242 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2078                         self->priv->store = (IIdentityCardStore*) _tmp6_;
2079 #line 243 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2080                         break;
2081 #line 2082 "moonshot-identities-manager.c"
2082                 }
2083                 default:
2084 #line 239 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2085                 case IIDENTITY_CARD_STORE_STORE_TYPE_FLAT_FILE:
2086 #line 2087 "moonshot-identities-manager.c"
2087                 {
2088                         LocalFlatFileStore* _tmp7_ = NULL;
2089 #line 247 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2090                         _tmp7_ = local_flat_file_store_new ();
2091 #line 247 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2092                         _g_object_unref0 (self->priv->store);
2093 #line 247 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2094                         self->priv->store = (IIdentityCardStore*) _tmp7_;
2095 #line 248 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2096                         break;
2097 #line 2098 "moonshot-identities-manager.c"
2098                 }
2099         }
2100 }
2101
2102
2103 IIdentityCardStoreStoreType identity_manager_model_get_store_type (IdentityManagerModel* self) {
2104         IIdentityCardStoreStoreType result = 0;
2105         IIdentityCardStore* _tmp0_ = NULL;
2106         IIdentityCardStoreStoreType _tmp1_ = 0;
2107 #line 252 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2108         g_return_val_if_fail (self != NULL, 0);
2109 #line 253 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2110         _tmp0_ = self->priv->store;
2111 #line 253 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2112         _tmp1_ = iidentity_card_store_get_store_type (_tmp0_);
2113 #line 253 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2114         result = _tmp1_;
2115 #line 253 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2116         return result;
2117 #line 2118 "moonshot-identities-manager.c"
2118 }
2119
2120
2121 gboolean identity_manager_model_HasNonTrivialIdentities (IdentityManagerModel* self) {
2122         gboolean result = FALSE;
2123 #line 256 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2124         g_return_val_if_fail (self != NULL, FALSE);
2125 #line 2126 "moonshot-identities-manager.c"
2126         {
2127                 GeeLinkedList* _card_list = NULL;
2128                 IIdentityCardStore* _tmp0_ = NULL;
2129                 GeeLinkedList* _tmp1_ = NULL;
2130                 gint _card_size = 0;
2131                 GeeLinkedList* _tmp2_ = NULL;
2132                 gint _tmp3_ = 0;
2133                 gint _tmp4_ = 0;
2134                 gint _card_index = 0;
2135 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2136                 _tmp0_ = self->priv->store;
2137 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2138                 _tmp1_ = iidentity_card_store_get_card_list (_tmp0_);
2139 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2140                 _card_list = _tmp1_;
2141 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2142                 _tmp2_ = _card_list;
2143 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2144                 _tmp3_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp2_);
2145 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2146                 _tmp4_ = _tmp3_;
2147 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2148                 _card_size = _tmp4_;
2149 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2150                 _card_index = -1;
2151 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2152                 while (TRUE) {
2153 #line 2154 "moonshot-identities-manager.c"
2154                         gint _tmp5_ = 0;
2155                         gint _tmp6_ = 0;
2156                         gint _tmp7_ = 0;
2157                         IdCard* card = NULL;
2158                         GeeLinkedList* _tmp8_ = NULL;
2159                         gint _tmp9_ = 0;
2160                         gpointer _tmp10_ = NULL;
2161                         gboolean _tmp11_ = FALSE;
2162                         gboolean _tmp12_ = FALSE;
2163                         IdCard* _tmp13_ = NULL;
2164                         gboolean _tmp14_ = FALSE;
2165 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2166                         _tmp5_ = _card_index;
2167 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2168                         _card_index = _tmp5_ + 1;
2169 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2170                         _tmp6_ = _card_index;
2171 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2172                         _tmp7_ = _card_size;
2173 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2174                         if (!(_tmp6_ < _tmp7_)) {
2175 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2176                                 break;
2177 #line 2178 "moonshot-identities-manager.c"
2178                         }
2179 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2180                         _tmp8_ = _card_list;
2181 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2182                         _tmp9_ = _card_index;
2183 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2184                         _tmp10_ = gee_abstract_list_get ((GeeAbstractList*) _tmp8_, _tmp9_);
2185 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2186                         card = (IdCard*) _tmp10_;
2187 #line 260 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2188                         _tmp13_ = card;
2189 #line 260 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2190                         _tmp14_ = id_card_IsNoIdentity (_tmp13_);
2191 #line 260 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2192                         if (!_tmp14_) {
2193 #line 260 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2194                                 _tmp12_ = TRUE;
2195 #line 2196 "moonshot-identities-manager.c"
2196                         } else {
2197                                 IdCard* _tmp15_ = NULL;
2198                                 gchar** _tmp16_ = NULL;
2199                                 gint _tmp16__length1 = 0;
2200                                 gchar** _tmp17_ = NULL;
2201                                 gint _tmp17__length1 = 0;
2202 #line 261 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2203                                 _tmp15_ = card;
2204 #line 261 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2205                                 _tmp16_ = id_card_get_services (_tmp15_, &_tmp16__length1);
2206 #line 261 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2207                                 _tmp17_ = _tmp16_;
2208 #line 261 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2209                                 _tmp17__length1 = _tmp16__length1;
2210 #line 261 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2211                                 _tmp12_ = _tmp17__length1 > 0;
2212 #line 2213 "moonshot-identities-manager.c"
2213                         }
2214 #line 260 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2215                         if (_tmp12_) {
2216 #line 260 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2217                                 _tmp11_ = TRUE;
2218 #line 2219 "moonshot-identities-manager.c"
2219                         } else {
2220                                 IdCard* _tmp18_ = NULL;
2221                                 Rule* _tmp19_ = NULL;
2222                                 gint _tmp19__length1 = 0;
2223                                 Rule* _tmp20_ = NULL;
2224                                 gint _tmp20__length1 = 0;
2225 #line 262 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2226                                 _tmp18_ = card;
2227 #line 262 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2228                                 _tmp19_ = id_card_get_rules (_tmp18_, &_tmp19__length1);
2229 #line 262 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2230                                 _tmp20_ = _tmp19_;
2231 #line 262 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2232                                 _tmp20__length1 = _tmp19__length1;
2233 #line 262 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2234                                 _tmp11_ = _tmp20__length1 > 0;
2235 #line 2236 "moonshot-identities-manager.c"
2236                         }
2237 #line 260 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2238                         if (_tmp11_) {
2239 #line 263 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2240                                 result = TRUE;
2241 #line 263 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2242                                 _g_object_unref0 (card);
2243 #line 263 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2244                                 _g_object_unref0 (_card_list);
2245 #line 263 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2246                                 return result;
2247 #line 2248 "moonshot-identities-manager.c"
2248                         }
2249 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2250                         _g_object_unref0 (card);
2251 #line 2252 "moonshot-identities-manager.c"
2252                 }
2253 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2254                 _g_object_unref0 (_card_list);
2255 #line 2256 "moonshot-identities-manager.c"
2256         }
2257 #line 266 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2258         result = FALSE;
2259 #line 266 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2260         return result;
2261 #line 2262 "moonshot-identities-manager.c"
2262 }
2263
2264
2265 static gpointer _identity_manager_app_ref0 (gpointer self) {
2266 #line 273 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2267         return self ? identity_manager_app_ref (self) : NULL;
2268 #line 2269 "moonshot-identities-manager.c"
2269 }
2270
2271
2272 IdentityManagerModel* identity_manager_model_construct (GType object_type, IdentityManagerApp* parent_app, IIdentityCardStoreStoreType store_type) {
2273         IdentityManagerModel * self = NULL;
2274         IdentityManagerApp* _tmp0_ = NULL;
2275         IdentityManagerApp* _tmp1_ = NULL;
2276         PasswordHashTable* _tmp2_ = NULL;
2277         IIdentityCardStoreStoreType _tmp3_ = 0;
2278 #line 272 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2279         g_return_val_if_fail (parent_app != NULL, NULL);
2280 #line 272 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2281         self = (IdentityManagerModel*) g_object_new (object_type, NULL);
2282 #line 273 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2283         _tmp0_ = parent_app;
2284 #line 273 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2285         _tmp1_ = _identity_manager_app_ref0 (_tmp0_);
2286 #line 273 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2287         _identity_manager_app_unref0 (self->priv->parent);
2288 #line 273 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2289         self->priv->parent = _tmp1_;
2290 #line 274 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2291         _tmp2_ = password_hash_table_new ();
2292 #line 274 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2293         _g_object_unref0 (self->priv->password_table);
2294 #line 274 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2295         self->priv->password_table = _tmp2_;
2296 #line 275 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2297         _tmp3_ = store_type;
2298 #line 275 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2299         identity_manager_model_set_store_type (self, _tmp3_);
2300 #line 272 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2301         return self;
2302 #line 2303 "moonshot-identities-manager.c"
2303 }
2304
2305
2306 IdentityManagerModel* identity_manager_model_new (IdentityManagerApp* parent_app, IIdentityCardStoreStoreType store_type) {
2307 #line 272 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2308         return identity_manager_model_construct (TYPE_IDENTITY_MANAGER_MODEL, parent_app, store_type);
2309 #line 2310 "moonshot-identities-manager.c"
2310 }
2311
2312
2313 static void identity_manager_model_class_init (IdentityManagerModelClass * klass) {
2314 #line 88 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2315         identity_manager_model_parent_class = g_type_class_peek_parent (klass);
2316 #line 88 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2317         g_type_class_add_private (klass, sizeof (IdentityManagerModelPrivate));
2318 #line 88 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2319         G_OBJECT_CLASS (klass)->finalize = identity_manager_model_finalize;
2320 #line 88 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2321         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);
2322 #line 2323 "moonshot-identities-manager.c"
2323 }
2324
2325
2326 static void identity_manager_model_instance_init (IdentityManagerModel * self) {
2327 #line 88 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2328         self->priv = IDENTITY_MANAGER_MODEL_GET_PRIVATE (self);
2329 #line 2330 "moonshot-identities-manager.c"
2330 }
2331
2332
2333 static void identity_manager_model_finalize (GObject* obj) {
2334         IdentityManagerModel * self;
2335 #line 88 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2336         self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_IDENTITY_MANAGER_MODEL, IdentityManagerModel);
2337 #line 90 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2338         _g_object_unref0 (self->priv->password_table);
2339 #line 91 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2340         _g_object_unref0 (self->priv->store);
2341 #line 270 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2342         _identity_manager_app_unref0 (self->priv->parent);
2343 #line 88 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identities-manager.vala"
2344         G_OBJECT_CLASS (identity_manager_model_parent_class)->finalize (obj);
2345 #line 2346 "moonshot-identities-manager.c"
2346 }
2347
2348
2349 GType identity_manager_model_get_type (void) {
2350         static volatile gsize identity_manager_model_type_id__volatile = 0;
2351         if (g_once_init_enter (&identity_manager_model_type_id__volatile)) {
2352                 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 };
2353                 GType identity_manager_model_type_id;
2354                 identity_manager_model_type_id = g_type_register_static (G_TYPE_OBJECT, "IdentityManagerModel", &g_define_type_info, 0);
2355                 g_once_init_leave (&identity_manager_model_type_id__volatile, identity_manager_model_type_id);
2356         }
2357         return identity_manager_model_type_id__volatile;
2358 }
2359
2360
2361