vala
[moonshot-ui.git] / src / moonshot-identity-request.c
index c39b03e..24bf811 100644 (file)
@@ -1,6 +1,37 @@
-/* moonshot-identity-request.c generated by valac 0.10.4, the Vala compiler
+/* moonshot-identity-request.c generated by valac 0.26.1, the Vala compiler
  * generated from moonshot-identity-request.vala, do not modify */
 
+/*
+ * Copyright (c) 2011-2014, JANET(UK)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * 3. Neither the name of JANET(UK) nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+*/
 
 #include <glib.h>
 #include <glib-object.h>
@@ -30,6 +61,31 @@ typedef struct _IdentityRequestPrivate IdentityRequestPrivate;
 typedef struct _IdCard IdCard;
 typedef struct _IdCardClass IdCardClass;
 
+#define TYPE_IDENTITY_MANAGER_APP (identity_manager_app_get_type ())
+#define IDENTITY_MANAGER_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IDENTITY_MANAGER_APP, IdentityManagerApp))
+#define IDENTITY_MANAGER_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IDENTITY_MANAGER_APP, IdentityManagerAppClass))
+#define IS_IDENTITY_MANAGER_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IDENTITY_MANAGER_APP))
+#define IS_IDENTITY_MANAGER_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IDENTITY_MANAGER_APP))
+#define IDENTITY_MANAGER_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IDENTITY_MANAGER_APP, IdentityManagerAppClass))
+
+typedef struct _IdentityManagerApp IdentityManagerApp;
+typedef struct _IdentityManagerAppClass IdentityManagerAppClass;
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+#define _identity_manager_app_unref0(var) ((var == NULL) ? NULL : (var = (identity_manager_app_unref (var), NULL)))
+#define _g_free0(var) (var = (g_free (var), NULL))
+#define __g_slist_free__g_object_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_slist_free__g_object_unref0_ (var), NULL)))
+typedef struct _IdentityManagerAppPrivate IdentityManagerAppPrivate;
+
+#define TYPE_IDENTITY_MANAGER_MODEL (identity_manager_model_get_type ())
+#define IDENTITY_MANAGER_MODEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IDENTITY_MANAGER_MODEL, IdentityManagerModel))
+#define IDENTITY_MANAGER_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IDENTITY_MANAGER_MODEL, IdentityManagerModelClass))
+#define IS_IDENTITY_MANAGER_MODEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IDENTITY_MANAGER_MODEL))
+#define IS_IDENTITY_MANAGER_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IDENTITY_MANAGER_MODEL))
+#define IDENTITY_MANAGER_MODEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IDENTITY_MANAGER_MODEL, IdentityManagerModelClass))
+
+typedef struct _IdentityManagerModel IdentityManagerModel;
+typedef struct _IdentityManagerModelClass IdentityManagerModelClass;
+
 #define TYPE_IDENTITY_MANAGER_VIEW (identity_manager_view_get_type ())
 #define IDENTITY_MANAGER_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IDENTITY_MANAGER_VIEW, IdentityManagerView))
 #define IDENTITY_MANAGER_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IDENTITY_MANAGER_VIEW, IdentityManagerViewClass))
@@ -39,9 +95,6 @@ typedef struct _IdCardClass IdCardClass;
 
 typedef struct _IdentityManagerView IdentityManagerView;
 typedef struct _IdentityManagerViewClass IdentityManagerViewClass;
-#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
-#define _g_free0(var) (var = (g_free (var), NULL))
-typedef struct _Block2Data Block2Data;
 
 typedef void (*ReturnIdentityCallback) (IdentityRequest* request, void* user_data);
 struct _IdentityRequest {
@@ -50,9 +103,10 @@ struct _IdentityRequest {
        IdCard* id_card;
        gboolean complete;
        gboolean select_default;
-       char* nai;
-       char* password;
-       char* service;
+       gchar* nai;
+       gchar* password;
+       gchar* service;
+       GSList* candidates;
 };
 
 struct _IdentityRequestClass {
@@ -60,18 +114,25 @@ struct _IdentityRequestClass {
 };
 
 struct _IdentityRequestPrivate {
-       IdentityManagerView* main_window;
+       IdentityManagerApp* parent_app;
        ReturnIdentityCallback callback;
        gpointer callback_target;
        GDestroyNotify callback_target_destroy_notify;
 };
 
-struct _Block2Data {
-       int _ref_count_;
-       IdentityRequest * self;
-       ReturnIdentityCallback cb;
-       gpointer cb_target;
-       GDestroyNotify cb_target_destroy_notify;
+struct _IdentityManagerApp {
+       GTypeInstance parent_instance;
+       volatile int ref_count;
+       IdentityManagerAppPrivate * priv;
+       IdentityManagerModel* model;
+       IdCard* default_id_card;
+       gboolean explicitly_launched;
+       IdentityManagerView* view;
+};
+
+struct _IdentityManagerAppClass {
+       GTypeClass parent_class;
+       void (*finalize) (IdentityManagerApp *self);
 };
 
 
@@ -79,219 +140,583 @@ static gpointer identity_request_parent_class = NULL;
 
 GType identity_request_get_type (void) G_GNUC_CONST;
 GType id_card_get_type (void) G_GNUC_CONST;
-GType identity_manager_view_get_type (void) G_GNUC_CONST;
+gpointer identity_manager_app_ref (gpointer instance);
+void identity_manager_app_unref (gpointer instance);
+GParamSpec* param_spec_identity_manager_app (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_identity_manager_app (GValue* value, gpointer v_object);
+void value_take_identity_manager_app (GValue* value, gpointer v_object);
+gpointer value_get_identity_manager_app (const GValue* value);
+GType identity_manager_app_get_type (void) G_GNUC_CONST;
 #define IDENTITY_REQUEST_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_IDENTITY_REQUEST, IdentityRequestPrivate))
 enum  {
        IDENTITY_REQUEST_DUMMY_PROPERTY
 };
-IdentityRequest* identity_request_new (IdentityManagerView* main_window, const char* nai, const char* password, const char* service);
-IdentityRequest* identity_request_construct (GType object_type, IdentityManagerView* main_window, const char* nai, const char* password, const char* service);
-IdentityRequest* identity_request_new_default (IdentityManagerView* main_window);
-IdentityRequest* identity_request_construct_default (GType object_type, IdentityManagerView* main_window);
+static void _g_object_unref0_ (gpointer var);
+static void _g_slist_free__g_object_unref0_ (GSList* self);
+IdentityRequest* identity_request_new (IdentityManagerApp* app, const gchar* nai, const gchar* password, const gchar* service);
+IdentityRequest* identity_request_construct (GType object_type, IdentityManagerApp* app, const gchar* nai, const gchar* password, const gchar* service);
+IdentityRequest* identity_request_new_default (IdentityManagerApp* app);
+IdentityRequest* identity_request_construct_default (GType object_type, IdentityManagerApp* app);
 void identity_request_set_callback (IdentityRequest* self, ReturnIdentityCallback cb, void* cb_target, GDestroyNotify cb_target_destroy_notify);
-static void _lambda0_ (IdentityRequest* IdCard, Block2Data* _data2_);
-static void __lambda0__return_identity_callback (IdentityRequest* request, gpointer self);
-static Block2Data* block2_data_ref (Block2Data* _data2_);
-static void block2_data_unref (Block2Data* _data2_);
 gboolean identity_request_execute (IdentityRequest* self);
-void identity_manager_view_select_identity (IdentityManagerView* self, IdentityRequest* request);
+void identity_manager_app_select_identity (IdentityManagerApp* self, IdentityRequest* request);
 void identity_request_return_identity (IdentityRequest* self, IdCard* id_card);
+gchar** id_card_get_services (IdCard* self, int* result_length1);
+void id_card_set_services (IdCard* self, gchar** value, int value_length1);
+GType identity_manager_model_get_type (void) G_GNUC_CONST;
+GType identity_manager_view_get_type (void) G_GNUC_CONST;
+IdCard* identity_manager_model_update_card (IdentityManagerModel* self, IdCard* card);
 static void identity_request_finalize (GObject* obj);
+static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
+static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);
+
 
+static void _g_object_unref0_ (gpointer var) {
+#line 43 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       (var == NULL) ? NULL : (var = (g_object_unref (var), NULL));
+#line 178 "moonshot-identity-request.c"
+}
 
 
-static gpointer _g_object_ref0 (gpointer self) {
-       return self ? g_object_ref (self) : NULL;
+static void _g_slist_free__g_object_unref0_ (GSList* self) {
+#line 43 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       g_slist_foreach (self, (GFunc) _g_object_unref0_, NULL);
+#line 43 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       g_slist_free (self);
+#line 187 "moonshot-identity-request.c"
 }
 
 
-#line 15 "moonshot-identity-request.vala"
-IdentityRequest* identity_request_construct (GType object_type, IdentityManagerView* main_window, const char* nai, const char* password, const char* service) {
-#line 111 "moonshot-identity-request.c"
+static gpointer _identity_manager_app_ref0 (gpointer self) {
+#line 52 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       return self ? identity_manager_app_ref (self) : NULL;
+#line 194 "moonshot-identity-request.c"
+}
+
+
+IdentityRequest* identity_request_construct (GType object_type, IdentityManagerApp* app, const gchar* nai, const gchar* password, const gchar* service) {
        IdentityRequest * self = NULL;
-       IdentityManagerView* _tmp0_;
-       char* _tmp1_;
-       char* _tmp2_;
-       char* _tmp3_;
-#line 15 "moonshot-identity-request.vala"
-       g_return_val_if_fail (main_window != NULL, NULL);
-#line 15 "moonshot-identity-request.vala"
+       IdentityManagerApp* _tmp0_ = NULL;
+       IdentityManagerApp* _tmp1_ = NULL;
+       const gchar* _tmp2_ = NULL;
+       gchar* _tmp3_ = NULL;
+       const gchar* _tmp4_ = NULL;
+       gchar* _tmp5_ = NULL;
+       const gchar* _tmp6_ = NULL;
+       gchar* _tmp7_ = NULL;
+#line 47 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       g_return_val_if_fail (app != NULL, NULL);
+#line 47 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
        g_return_val_if_fail (nai != NULL, NULL);
-#line 15 "moonshot-identity-request.vala"
+#line 47 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
        g_return_val_if_fail (password != NULL, NULL);
-#line 15 "moonshot-identity-request.vala"
+#line 47 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
        g_return_val_if_fail (service != NULL, NULL);
-#line 15 "moonshot-identity-request.vala"
+#line 47 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
        self = (IdentityRequest*) g_object_new (object_type, NULL);
-#line 20 "moonshot-identity-request.vala"
-       self->priv->main_window = (_tmp0_ = _g_object_ref0 (main_window), _g_object_unref0 (self->priv->main_window), _tmp0_);
-#line 21 "moonshot-identity-request.vala"
-       self->nai = (_tmp1_ = g_strdup (nai), _g_free0 (self->nai), _tmp1_);
-#line 22 "moonshot-identity-request.vala"
-       self->password = (_tmp2_ = g_strdup (password), _g_free0 (self->password), _tmp2_);
-#line 23 "moonshot-identity-request.vala"
-       self->service = (_tmp3_ = g_strdup (service), _g_free0 (self->service), _tmp3_);
-#line 135 "moonshot-identity-request.c"
+#line 52 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       _tmp0_ = app;
+#line 52 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       _tmp1_ = _identity_manager_app_ref0 (_tmp0_);
+#line 52 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       _identity_manager_app_unref0 (self->priv->parent_app);
+#line 52 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       self->priv->parent_app = _tmp1_;
+#line 53 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       _tmp2_ = nai;
+#line 53 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       _tmp3_ = g_strdup (_tmp2_);
+#line 53 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       _g_free0 (self->nai);
+#line 53 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       self->nai = _tmp3_;
+#line 54 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       _tmp4_ = password;
+#line 54 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       _tmp5_ = g_strdup (_tmp4_);
+#line 54 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       _g_free0 (self->password);
+#line 54 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       self->password = _tmp5_;
+#line 55 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       _tmp6_ = service;
+#line 55 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       _tmp7_ = g_strdup (_tmp6_);
+#line 55 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       _g_free0 (self->service);
+#line 55 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       self->service = _tmp7_;
+#line 47 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
        return self;
+#line 252 "moonshot-identity-request.c"
 }
 
 
-#line 15 "moonshot-identity-request.vala"
-IdentityRequest* identity_request_new (IdentityManagerView* main_window, const char* nai, const char* password, const char* service) {
-#line 15 "moonshot-identity-request.vala"
-       return identity_request_construct (TYPE_IDENTITY_REQUEST, main_window, nai, password, service);
-#line 144 "moonshot-identity-request.c"
+IdentityRequest* identity_request_new (IdentityManagerApp* app, const gchar* nai, const gchar* password, const gchar* service) {
+#line 47 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       return identity_request_construct (TYPE_IDENTITY_REQUEST, app, nai, password, service);
+#line 259 "moonshot-identity-request.c"
 }
 
 
-#line 26 "moonshot-identity-request.vala"
-IdentityRequest* identity_request_construct_default (GType object_type, IdentityManagerView* main_window) {
-#line 150 "moonshot-identity-request.c"
+IdentityRequest* identity_request_construct_default (GType object_type, IdentityManagerApp* app) {
        IdentityRequest * self = NULL;
-       IdentityManagerView* _tmp0_;
-#line 26 "moonshot-identity-request.vala"
-       g_return_val_if_fail (main_window != NULL, NULL);
-#line 26 "moonshot-identity-request.vala"
+       IdentityManagerApp* _tmp0_ = NULL;
+       IdentityManagerApp* _tmp1_ = NULL;
+#line 58 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       g_return_val_if_fail (app != NULL, NULL);
+#line 58 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
        self = (IdentityRequest*) g_object_new (object_type, NULL);
-#line 28 "moonshot-identity-request.vala"
-       self->priv->main_window = (_tmp0_ = _g_object_ref0 (main_window), _g_object_unref0 (self->priv->main_window), _tmp0_);
-#line 29 "moonshot-identity-request.vala"
+#line 60 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       _tmp0_ = app;
+#line 60 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       _tmp1_ = _identity_manager_app_ref0 (_tmp0_);
+#line 60 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       _identity_manager_app_unref0 (self->priv->parent_app);
+#line 60 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       self->priv->parent_app = _tmp1_;
+#line 61 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
        self->select_default = TRUE;
-#line 161 "moonshot-identity-request.c"
+#line 58 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
        return self;
+#line 283 "moonshot-identity-request.c"
 }
 
 
-#line 26 "moonshot-identity-request.vala"
-IdentityRequest* identity_request_new_default (IdentityManagerView* main_window) {
-#line 26 "moonshot-identity-request.vala"
-       return identity_request_construct_default (TYPE_IDENTITY_REQUEST, main_window);
-#line 170 "moonshot-identity-request.c"
-}
-
-
-#line 37 "moonshot-identity-request.vala"
-static void _lambda0_ (IdentityRequest* IdCard, Block2Data* _data2_) {
-#line 176 "moonshot-identity-request.c"
-       IdentityRequest * self;
-       self = _data2_->self;
-#line 37 "moonshot-identity-request.vala"
-       g_return_if_fail (IdCard != NULL);
-#line 37 "moonshot-identity-request.vala"
-       _data2_->cb (IdCard, _data2_->cb_target);
-#line 183 "moonshot-identity-request.c"
-}
-
-
-#line 37 "moonshot-identity-request.vala"
-static void __lambda0__return_identity_callback (IdentityRequest* request, gpointer self) {
-#line 189 "moonshot-identity-request.c"
-       _lambda0_ (request, self);
-}
-
-
-static Block2Data* block2_data_ref (Block2Data* _data2_) {
-       g_atomic_int_inc (&_data2_->_ref_count_);
-       return _data2_;
-}
-
-
-static void block2_data_unref (Block2Data* _data2_) {
-       if (g_atomic_int_dec_and_test (&_data2_->_ref_count_)) {
-               _g_object_unref0 (_data2_->self);
-               (_data2_->cb_target_destroy_notify == NULL) ? NULL : (_data2_->cb_target_destroy_notify (_data2_->cb_target), NULL);
-               _data2_->cb = NULL;
-               _data2_->cb_target = NULL;
-               _data2_->cb_target_destroy_notify = NULL;
-               g_slice_free (Block2Data, _data2_);
-       }
+IdentityRequest* identity_request_new_default (IdentityManagerApp* app) {
+#line 58 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       return identity_request_construct_default (TYPE_IDENTITY_REQUEST, app);
+#line 290 "moonshot-identity-request.c"
 }
 
 
-#line 32 "moonshot-identity-request.vala"
 void identity_request_set_callback (IdentityRequest* self, ReturnIdentityCallback cb, void* cb_target, GDestroyNotify cb_target_destroy_notify) {
-#line 214 "moonshot-identity-request.c"
-       Block2Data* _data2_;
-       ReturnIdentityCallback _tmp0_;
-#line 32 "moonshot-identity-request.vala"
+       ReturnIdentityCallback _tmp0_ = NULL;
+       void* _tmp0__target = NULL;
+       GDestroyNotify _tmp0__target_destroy_notify = NULL;
+#line 64 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
        g_return_if_fail (self != NULL);
-#line 219 "moonshot-identity-request.c"
-       _data2_ = g_slice_new0 (Block2Data);
-       _data2_->_ref_count_ = 1;
-       _data2_->self = g_object_ref (self);
-       _data2_->cb = cb;
-       _data2_->cb_target = cb_target;
-       _data2_->cb_target_destroy_notify = cb_target_destroy_notify;
-#line 37 "moonshot-identity-request.vala"
-       self->priv->callback = (_tmp0_ = __lambda0__return_identity_callback, ((self->priv->callback_target_destroy_notify == NULL) ? NULL : (self->priv->callback_target_destroy_notify (self->priv->callback_target), NULL), self->priv->callback = NULL, self->priv->callback_target = NULL, self->priv->callback_target_destroy_notify = NULL), self->priv->callback_target = block2_data_ref (_data2_), self->priv->callback_target_destroy_notify = block2_data_unref, _tmp0_);
-#line 228 "moonshot-identity-request.c"
-       block2_data_unref (_data2_);
+#line 67 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       _tmp0_ = cb;
+#line 67 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       _tmp0__target = cb_target;
+#line 67 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       _tmp0__target_destroy_notify = cb_target_destroy_notify;
+#line 67 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       cb_target_destroy_notify = NULL;
+#line 67 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       (self->priv->callback_target_destroy_notify == NULL) ? NULL : (self->priv->callback_target_destroy_notify (self->priv->callback_target), NULL);
+#line 67 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       self->priv->callback = NULL;
+#line 67 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       self->priv->callback_target = NULL;
+#line 67 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       self->priv->callback_target_destroy_notify = NULL;
+#line 67 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       self->priv->callback = _tmp0_;
+#line 67 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       self->priv->callback_target = _tmp0__target;
+#line 67 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       self->priv->callback_target_destroy_notify = _tmp0__target_destroy_notify;
+#line 64 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       (cb_target_destroy_notify == NULL) ? NULL : (cb_target_destroy_notify (cb_target), NULL);
+#line 64 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       cb = NULL;
+#line 64 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       cb_target = NULL;
+#line 64 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       cb_target_destroy_notify = NULL;
+#line 330 "moonshot-identity-request.c"
 }
 
 
-#line 41 "moonshot-identity-request.vala"
 gboolean identity_request_execute (IdentityRequest* self) {
-#line 235 "moonshot-identity-request.c"
        gboolean result = FALSE;
-#line 41 "moonshot-identity-request.vala"
+       IdentityManagerApp* _tmp0_ = NULL;
+#line 73 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
        g_return_val_if_fail (self != NULL, FALSE);
-#line 42 "moonshot-identity-request.vala"
-       identity_manager_view_select_identity (self->priv->main_window, self);
-#line 241 "moonshot-identity-request.c"
+#line 74 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       _tmp0_ = self->priv->parent_app;
+#line 74 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       identity_manager_app_select_identity (_tmp0_, self);
+#line 79 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
        result = FALSE;
-#line 47 "moonshot-identity-request.vala"
+#line 79 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
        return result;
-#line 245 "moonshot-identity-request.c"
+#line 347 "moonshot-identity-request.c"
+}
+
+
+static gpointer _g_object_ref0 (gpointer self) {
+#line 83 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       return self ? g_object_ref (self) : NULL;
+#line 354 "moonshot-identity-request.c"
 }
 
 
-#line 50 "moonshot-identity-request.vala"
 void identity_request_return_identity (IdentityRequest* self, IdCard* id_card) {
-#line 251 "moonshot-identity-request.c"
-       IdCard* _tmp0_;
-#line 50 "moonshot-identity-request.vala"
+       IdCard* _tmp0_ = NULL;
+       IdCard* _tmp1_ = NULL;
+       gboolean _tmp2_ = FALSE;
+       gboolean _tmp3_ = FALSE;
+       IdCard* _tmp4_ = NULL;
+       ReturnIdentityCallback _tmp46_ = NULL;
+       void* _tmp46__target = NULL;
+       ReturnIdentityCallback _tmp47_ = NULL;
+       void* _tmp47__target = NULL;
+#line 82 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
        g_return_if_fail (self != NULL);
-#line 51 "moonshot-identity-request.vala"
-       g_return_if_fail (self->priv->callback != NULL);
-#line 53 "moonshot-identity-request.vala"
-       self->id_card = (_tmp0_ = _g_object_ref0 (id_card), _g_object_unref0 (self->id_card), _tmp0_);
-#line 54 "moonshot-identity-request.vala"
+#line 83 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       _tmp0_ = id_card;
+#line 83 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 83 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       _g_object_unref0 (self->id_card);
+#line 83 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       self->id_card = _tmp1_;
+#line 84 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
        self->complete = TRUE;
-#line 56 "moonshot-identity-request.vala"
-       self->priv->callback (self, self->priv->callback_target);
-#line 263 "moonshot-identity-request.c"
+#line 87 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       _tmp4_ = id_card;
+#line 87 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       if (_tmp4_ != NULL) {
+#line 384 "moonshot-identity-request.c"
+               const gchar* _tmp5_ = NULL;
+#line 87 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+               _tmp5_ = self->service;
+#line 87 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+               _tmp3_ = _tmp5_ != NULL;
+#line 390 "moonshot-identity-request.c"
+       } else {
+#line 87 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+               _tmp3_ = FALSE;
+#line 394 "moonshot-identity-request.c"
+       }
+#line 87 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       if (_tmp3_) {
+#line 398 "moonshot-identity-request.c"
+               const gchar* _tmp6_ = NULL;
+#line 87 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+               _tmp6_ = self->service;
+#line 87 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+               _tmp2_ = g_strcmp0 (_tmp6_, "") != 0;
+#line 404 "moonshot-identity-request.c"
+       } else {
+#line 87 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+               _tmp2_ = FALSE;
+#line 408 "moonshot-identity-request.c"
+       }
+#line 87 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       if (_tmp2_) {
+#line 412 "moonshot-identity-request.c"
+               gboolean duplicate_service = FALSE;
+               IdCard* _tmp7_ = NULL;
+               gchar** _tmp8_ = NULL;
+               gint _tmp8__length1 = 0;
+               gchar** _tmp9_ = NULL;
+               gint _tmp9__length1 = 0;
+               gboolean _tmp13_ = FALSE;
+#line 89 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+               duplicate_service = FALSE;
+#line 91 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+               _tmp7_ = id_card;
+#line 91 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+               _tmp8_ = id_card_get_services (_tmp7_, &_tmp8__length1);
+#line 91 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+               _tmp9_ = _tmp8_;
+#line 91 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+               _tmp9__length1 = _tmp8__length1;
+#line 430 "moonshot-identity-request.c"
+               {
+                       gchar** service_collection = NULL;
+                       gint service_collection_length1 = 0;
+                       gint _service_collection_size_ = 0;
+                       gint service_it = 0;
+#line 91 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                       service_collection = _tmp9_;
+#line 91 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                       service_collection_length1 = _tmp9__length1;
+#line 91 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                       for (service_it = 0; service_it < _tmp9__length1; service_it = service_it + 1) {
+#line 442 "moonshot-identity-request.c"
+                               gchar* _tmp10_ = NULL;
+                               gchar* service = NULL;
+#line 91 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                               _tmp10_ = g_strdup (service_collection[service_it]);
+#line 91 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                               service = _tmp10_;
+#line 449 "moonshot-identity-request.c"
+                               {
+                                       const gchar* _tmp11_ = NULL;
+                                       const gchar* _tmp12_ = NULL;
+#line 93 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                                       _tmp11_ = service;
+#line 93 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                                       _tmp12_ = self->service;
+#line 93 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                                       if (g_strcmp0 (_tmp11_, _tmp12_) == 0) {
+#line 94 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                                               duplicate_service = TRUE;
+#line 461 "moonshot-identity-request.c"
+                                       }
+#line 91 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                                       _g_free0 (service);
+#line 465 "moonshot-identity-request.c"
+                               }
+                       }
+               }
+#line 96 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+               _tmp13_ = duplicate_service;
+#line 96 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+               if (_tmp13_ == FALSE) {
+#line 473 "moonshot-identity-request.c"
+                       gchar** services = NULL;
+                       IdCard* _tmp14_ = NULL;
+                       gchar** _tmp15_ = NULL;
+                       gint _tmp15__length1 = 0;
+                       gchar** _tmp16_ = NULL;
+                       gint _tmp16__length1 = 0;
+                       gchar** _tmp17_ = NULL;
+                       gint services_length1 = 0;
+                       gint _services_size_ = 0;
+                       gchar** _tmp33_ = NULL;
+                       gint _tmp33__length1 = 0;
+                       IdCard* _tmp34_ = NULL;
+                       gchar** _tmp35_ = NULL;
+                       gint _tmp35__length1 = 0;
+                       gchar** _tmp36_ = NULL;
+                       gint _tmp36__length1 = 0;
+                       const gchar* _tmp37_ = NULL;
+                       gchar* _tmp38_ = NULL;
+                       gchar* _tmp39_ = NULL;
+                       IdCard* _tmp40_ = NULL;
+                       gchar** _tmp41_ = NULL;
+                       gint _tmp41__length1 = 0;
+                       IdentityManagerApp* _tmp42_ = NULL;
+                       IdentityManagerModel* _tmp43_ = NULL;
+                       IdCard* _tmp44_ = NULL;
+                       IdCard* _tmp45_ = NULL;
+#line 98 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                       _tmp14_ = id_card;
+#line 98 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                       _tmp15_ = id_card_get_services (_tmp14_, &_tmp15__length1);
+#line 98 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                       _tmp16_ = _tmp15_;
+#line 98 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                       _tmp16__length1 = _tmp15__length1;
+#line 98 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                       _tmp17_ = g_new0 (gchar*, (_tmp16__length1 + 1) + 1);
+#line 98 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                       services = _tmp17_;
+#line 98 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                       services_length1 = _tmp16__length1 + 1;
+#line 98 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                       _services_size_ = services_length1;
+#line 516 "moonshot-identity-request.c"
+                       {
+                               gint i = 0;
+#line 100 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                               i = 0;
+#line 521 "moonshot-identity-request.c"
+                               {
+                                       gboolean _tmp18_ = FALSE;
+#line 100 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                                       _tmp18_ = TRUE;
+#line 100 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                                       while (TRUE) {
+#line 528 "moonshot-identity-request.c"
+                                               gint _tmp20_ = 0;
+                                               IdCard* _tmp21_ = NULL;
+                                               gchar** _tmp22_ = NULL;
+                                               gint _tmp22__length1 = 0;
+                                               gchar** _tmp23_ = NULL;
+                                               gint _tmp23__length1 = 0;
+                                               gchar** _tmp24_ = NULL;
+                                               gint _tmp24__length1 = 0;
+                                               gint _tmp25_ = 0;
+                                               IdCard* _tmp26_ = NULL;
+                                               gchar** _tmp27_ = NULL;
+                                               gint _tmp27__length1 = 0;
+                                               gchar** _tmp28_ = NULL;
+                                               gint _tmp28__length1 = 0;
+                                               gint _tmp29_ = 0;
+                                               const gchar* _tmp30_ = NULL;
+                                               gchar* _tmp31_ = NULL;
+                                               gchar* _tmp32_ = NULL;
+#line 100 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                                               if (!_tmp18_) {
+#line 549 "moonshot-identity-request.c"
+                                                       gint _tmp19_ = 0;
+#line 100 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                                                       _tmp19_ = i;
+#line 100 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                                                       i = _tmp19_ + 1;
+#line 555 "moonshot-identity-request.c"
+                                               }
+#line 100 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                                               _tmp18_ = FALSE;
+#line 100 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                                               _tmp20_ = i;
+#line 100 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                                               _tmp21_ = id_card;
+#line 100 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                                               _tmp22_ = id_card_get_services (_tmp21_, &_tmp22__length1);
+#line 100 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                                               _tmp23_ = _tmp22_;
+#line 100 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                                               _tmp23__length1 = _tmp22__length1;
+#line 100 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                                               if (!(_tmp20_ < _tmp23__length1)) {
+#line 100 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                                                       break;
+#line 573 "moonshot-identity-request.c"
+                                               }
+#line 101 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                                               _tmp24_ = services;
+#line 101 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                                               _tmp24__length1 = services_length1;
+#line 101 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                                               _tmp25_ = i;
+#line 101 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                                               _tmp26_ = id_card;
+#line 101 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                                               _tmp27_ = id_card_get_services (_tmp26_, &_tmp27__length1);
+#line 101 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                                               _tmp28_ = _tmp27_;
+#line 101 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                                               _tmp28__length1 = _tmp27__length1;
+#line 101 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                                               _tmp29_ = i;
+#line 101 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                                               _tmp30_ = _tmp28_[_tmp29_];
+#line 101 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                                               _tmp31_ = g_strdup (_tmp30_);
+#line 101 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                                               _g_free0 (_tmp24_[_tmp25_]);
+#line 101 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                                               _tmp24_[_tmp25_] = _tmp31_;
+#line 101 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                                               _tmp32_ = _tmp24_[_tmp25_];
+#line 601 "moonshot-identity-request.c"
+                                       }
+                               }
+                       }
+#line 103 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                       _tmp33_ = services;
+#line 103 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                       _tmp33__length1 = services_length1;
+#line 103 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                       _tmp34_ = id_card;
+#line 103 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                       _tmp35_ = id_card_get_services (_tmp34_, &_tmp35__length1);
+#line 103 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                       _tmp36_ = _tmp35_;
+#line 103 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                       _tmp36__length1 = _tmp35__length1;
+#line 103 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                       _tmp37_ = self->service;
+#line 103 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                       _tmp38_ = g_strdup (_tmp37_);
+#line 103 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                       _g_free0 (_tmp33_[_tmp36__length1]);
+#line 103 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                       _tmp33_[_tmp36__length1] = _tmp38_;
+#line 103 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                       _tmp39_ = _tmp33_[_tmp36__length1];
+#line 104 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                       _tmp40_ = id_card;
+#line 104 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                       _tmp41_ = services;
+#line 104 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                       _tmp41__length1 = services_length1;
+#line 104 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                       id_card_set_services (_tmp40_, _tmp41_, _tmp41__length1);
+#line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                       _tmp42_ = self->priv->parent_app;
+#line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                       _tmp43_ = _tmp42_->model;
+#line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                       _tmp44_ = id_card;
+#line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                       _tmp45_ = identity_manager_model_update_card (_tmp43_, _tmp44_);
+#line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                       _g_object_unref0 (self->id_card);
+#line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                       self->id_card = _tmp45_;
+#line 96 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+                       services = (_vala_array_free (services, services_length1, (GDestroyNotify) g_free), NULL);
+#line 649 "moonshot-identity-request.c"
+               }
+       }
+#line 110 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       _tmp46_ = self->priv->callback;
+#line 110 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       _tmp46__target = self->priv->callback_target;
+#line 110 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       g_return_if_fail (_tmp46_ != NULL);
+#line 111 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       _tmp47_ = self->priv->callback;
+#line 111 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       _tmp47__target = self->priv->callback_target;
+#line 111 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       _tmp47_ (self, _tmp47__target);
+#line 664 "moonshot-identity-request.c"
 }
 
 
 static void identity_request_class_init (IdentityRequestClass * klass) {
+#line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
        identity_request_parent_class = g_type_class_peek_parent (klass);
+#line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
        g_type_class_add_private (klass, sizeof (IdentityRequestPrivate));
+#line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
        G_OBJECT_CLASS (klass)->finalize = identity_request_finalize;
+#line 675 "moonshot-identity-request.c"
 }
 
 
 static void identity_request_instance_init (IdentityRequest * self) {
+#line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
        self->priv = IDENTITY_REQUEST_GET_PRIVATE (self);
+#line 35 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
        self->id_card = NULL;
+#line 36 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
        self->complete = FALSE;
+#line 37 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
        self->select_default = FALSE;
+#line 45 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
        self->priv->callback = NULL;
+#line 690 "moonshot-identity-request.c"
 }
 
 
 static void identity_request_finalize (GObject* obj) {
        IdentityRequest * self;
-       self = IDENTITY_REQUEST (obj);
+#line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_IDENTITY_REQUEST, IdentityRequest);
+#line 35 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
        _g_object_unref0 (self->id_card);
-       _g_object_unref0 (self->priv->main_window);
+#line 39 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       _identity_manager_app_unref0 (self->priv->parent_app);
+#line 40 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
        _g_free0 (self->nai);
+#line 41 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
        _g_free0 (self->password);
+#line 42 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
        _g_free0 (self->service);
+#line 43 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
+       __g_slist_free__g_object_unref0_0 (self->candidates);
+#line 45 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
        (self->priv->callback_target_destroy_notify == NULL) ? NULL : (self->priv->callback_target_destroy_notify (self->priv->callback_target), NULL);
+#line 45 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
        self->priv->callback = NULL;
+#line 45 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
        self->priv->callback_target = NULL;
+#line 45 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
        self->priv->callback_target_destroy_notify = NULL;
+#line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-request.vala"
        G_OBJECT_CLASS (identity_request_parent_class)->finalize (obj);
+#line 720 "moonshot-identity-request.c"
 }
 
 
@@ -307,5 +732,22 @@ GType identity_request_get_type (void) {
 }
 
 
+static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
+       if ((array != NULL) && (destroy_func != NULL)) {
+               int i;
+               for (i = 0; i < array_length; i = i + 1) {
+                       if (((gpointer*) array)[i] != NULL) {
+                               destroy_func (((gpointer*) array)[i]);
+                       }
+               }
+       }
+}
+
+
+static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
+       _vala_array_destroy (array, array_length, destroy_func);
+       g_free (array);
+}
+