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