1 /* moonshot-server.c generated by valac 0.10.4, the Vala compiler
2 * generated from moonshot-server.vala, do not modify */
6 #include <glib-object.h>
13 #define TYPE_MOONSHOT_SERVER (moonshot_server_get_type ())
14 #define MOONSHOT_SERVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MOONSHOT_SERVER, MoonshotServer))
15 #define MOONSHOT_SERVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MOONSHOT_SERVER, MoonshotServerClass))
16 #define IS_MOONSHOT_SERVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MOONSHOT_SERVER))
17 #define IS_MOONSHOT_SERVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MOONSHOT_SERVER))
18 #define MOONSHOT_SERVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MOONSHOT_SERVER, MoonshotServerClass))
20 typedef struct _MoonshotServer MoonshotServer;
21 typedef struct _MoonshotServerClass MoonshotServerClass;
22 typedef struct _MoonshotServerPrivate MoonshotServerPrivate;
24 #define TYPE_IDENTITY_MANAGER_VIEW (identity_manager_view_get_type ())
25 #define IDENTITY_MANAGER_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IDENTITY_MANAGER_VIEW, IdentityManagerView))
26 #define IDENTITY_MANAGER_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IDENTITY_MANAGER_VIEW, IdentityManagerViewClass))
27 #define IS_IDENTITY_MANAGER_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IDENTITY_MANAGER_VIEW))
28 #define IS_IDENTITY_MANAGER_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IDENTITY_MANAGER_VIEW))
29 #define IDENTITY_MANAGER_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IDENTITY_MANAGER_VIEW, IdentityManagerViewClass))
31 typedef struct _IdentityManagerView IdentityManagerView;
32 typedef struct _IdentityManagerViewClass IdentityManagerViewClass;
33 #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
34 #define _g_free0(var) (var = (g_free (var), NULL))
36 #define TYPE_IDENTITY_REQUEST (identity_request_get_type ())
37 #define IDENTITY_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IDENTITY_REQUEST, IdentityRequest))
38 #define IDENTITY_REQUEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IDENTITY_REQUEST, IdentityRequestClass))
39 #define IS_IDENTITY_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IDENTITY_REQUEST))
40 #define IS_IDENTITY_REQUEST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IDENTITY_REQUEST))
41 #define IDENTITY_REQUEST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IDENTITY_REQUEST, IdentityRequestClass))
43 typedef struct _IdentityRequest IdentityRequest;
44 typedef struct _IdentityRequestClass IdentityRequestClass;
45 typedef struct _IdentityRequestPrivate IdentityRequestPrivate;
47 #define TYPE_ID_CARD (id_card_get_type ())
48 #define ID_CARD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ID_CARD, IdCard))
49 #define ID_CARD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ID_CARD, IdCardClass))
50 #define IS_ID_CARD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ID_CARD))
51 #define IS_ID_CARD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ID_CARD))
52 #define ID_CARD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ID_CARD, IdCardClass))
54 typedef struct _IdCard IdCard;
55 typedef struct _IdCardClass IdCardClass;
57 #define TYPE_TRUST_ANCHOR (trust_anchor_get_type ())
58 #define TRUST_ANCHOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TRUST_ANCHOR, TrustAnchor))
59 #define TRUST_ANCHOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TRUST_ANCHOR, TrustAnchorClass))
60 #define IS_TRUST_ANCHOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TRUST_ANCHOR))
61 #define IS_TRUST_ANCHOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TRUST_ANCHOR))
62 #define TRUST_ANCHOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TRUST_ANCHOR, TrustAnchorClass))
64 typedef struct _TrustAnchor TrustAnchor;
65 typedef struct _TrustAnchorClass TrustAnchorClass;
66 typedef struct _Block3Data Block3Data;
67 typedef struct _MoonshotServerGetIdentityData MoonshotServerGetIdentityData;
68 typedef struct _Block4Data Block4Data;
69 typedef struct _MoonshotServerGetDefaultIdentityData MoonshotServerGetDefaultIdentityData;
71 #define TYPE_RULE (rule_get_type ())
72 typedef struct _Rule Rule;
74 #define WEB_PROVISIONING_TYPE_PARSER (web_provisioning_parser_get_type ())
75 #define WEB_PROVISIONING_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WEB_PROVISIONING_TYPE_PARSER, WebProvisioningParser))
76 #define WEB_PROVISIONING_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WEB_PROVISIONING_TYPE_PARSER, WebProvisioningParserClass))
77 #define WEB_PROVISIONING_IS_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WEB_PROVISIONING_TYPE_PARSER))
78 #define WEB_PROVISIONING_IS_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WEB_PROVISIONING_TYPE_PARSER))
79 #define WEB_PROVISIONING_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WEB_PROVISIONING_TYPE_PARSER, WebProvisioningParserClass))
81 typedef struct _WebProvisioningParser WebProvisioningParser;
82 typedef struct _WebProvisioningParserClass WebProvisioningParserClass;
83 #define _web_provisioning_parser_unref0(var) ((var == NULL) ? NULL : (var = (web_provisioning_parser_unref (var), NULL)))
85 struct _MoonshotServer {
86 GObject parent_instance;
87 MoonshotServerPrivate * priv;
90 struct _MoonshotServerClass {
91 GObjectClass parent_class;
94 struct _MoonshotServerPrivate {
95 IdentityManagerView* main_window;
98 typedef void (*ReturnIdentityCallback) (IdentityRequest* request, void* user_data);
99 struct _IdentityRequest {
100 GObject parent_instance;
101 IdentityRequestPrivate * priv;
104 gboolean select_default;
110 struct _IdentityRequestClass {
111 GObjectClass parent_class;
116 MoonshotServer * self;
117 gpointer _async_data_;
120 struct _MoonshotServerGetIdentityData {
123 GSimpleAsyncResult* _async_result;
124 MoonshotServer* self;
130 char* server_certificate_hash;
131 char* ca_certificate;
132 char* subject_name_constraint;
133 char* subject_alt_name_constraint;
135 IdentityRequest* request;
160 MoonshotServer * self;
161 gpointer _async_data_;
164 struct _MoonshotServerGetDefaultIdentityData {
167 GSimpleAsyncResult* _async_result;
168 MoonshotServer* self;
171 char* server_certificate_hash;
172 char* ca_certificate;
173 char* subject_name_constraint;
174 char* subject_alt_name_constraint;
176 IdentityRequest* request;
200 char* always_confirm;
204 extern IdCard** web_provisioning_cards;
205 extern gint web_provisioning_cards_length1;
206 static gpointer moonshot_server_parent_class = NULL;
208 GType moonshot_server_get_type (void) G_GNUC_CONST;
209 guint moonshot_server_register_object (void* object, GDBusConnection* connection, const gchar* path, GError** error);
210 GType identity_manager_view_get_type (void) G_GNUC_CONST;
211 #define MOONSHOT_SERVER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_MOONSHOT_SERVER, MoonshotServerPrivate))
213 MOONSHOT_SERVER_DUMMY_PROPERTY
215 MoonshotServer* moonshot_server_new (GtkWindow* window);
216 MoonshotServer* moonshot_server_construct (GType object_type, GtkWindow* window);
217 static void moonshot_server_get_identity_data_free (gpointer _data);
218 static void moonshot_server_get_identity_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
219 void moonshot_server_get_identity (MoonshotServer* self, const char* nai, const char* password, const char* service, GAsyncReadyCallback _callback_, gpointer _user_data_);
220 gboolean moonshot_server_get_identity_finish (MoonshotServer* self, GAsyncResult* _res_, char** nai_out, char** password_out, char** server_certificate_hash, char** ca_certificate, char** subject_name_constraint, char** subject_alt_name_constraint);
221 static gboolean moonshot_server_get_identity_co (MoonshotServerGetIdentityData* data);
222 IdentityRequest* identity_request_new (IdentityManagerView* main_window, const char* nai, const char* password, const char* service);
223 IdentityRequest* identity_request_construct (GType object_type, IdentityManagerView* main_window, const char* nai, const char* password, const char* service);
224 GType identity_request_get_type (void) G_GNUC_CONST;
225 void identity_request_set_callback (IdentityRequest* self, ReturnIdentityCallback cb, void* cb_target, GDestroyNotify cb_target_destroy_notify);
226 static void _lambda4_ (IdentityRequest* IdentityRequest, Block3Data* _data3_);
227 static void __lambda4__return_identity_callback (IdentityRequest* request, gpointer self);
228 gboolean identity_request_execute (IdentityRequest* self);
229 GType id_card_get_type (void) G_GNUC_CONST;
230 const char* id_card_get_nai (IdCard* self);
231 const char* id_card_get_password (IdCard* self);
232 GType trust_anchor_get_type (void) G_GNUC_CONST;
233 TrustAnchor* id_card_get_trust_anchor (IdCard* self);
234 const char* trust_anchor_get_server_cert (TrustAnchor* self);
235 const char* trust_anchor_get_ca_cert (TrustAnchor* self);
236 const char* trust_anchor_get_subject (TrustAnchor* self);
237 const char* trust_anchor_get_subject_alt (TrustAnchor* self);
238 static Block3Data* block3_data_ref (Block3Data* _data3_);
239 static void block3_data_unref (Block3Data* _data3_);
240 static void moonshot_server_get_default_identity_data_free (gpointer _data);
241 static void moonshot_server_get_default_identity_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
242 void moonshot_server_get_default_identity (MoonshotServer* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
243 gboolean moonshot_server_get_default_identity_finish (MoonshotServer* self, GAsyncResult* _res_, char** nai_out, char** password_out, char** server_certificate_hash, char** ca_certificate, char** subject_name_constraint, char** subject_alt_name_constraint);
244 static gboolean moonshot_server_get_default_identity_co (MoonshotServerGetDefaultIdentityData* data);
245 IdentityRequest* identity_request_new_default (IdentityManagerView* main_window);
246 IdentityRequest* identity_request_construct_default (GType object_type, IdentityManagerView* main_window);
247 static void _lambda5_ (IdentityRequest* IdentityRequest, Block4Data* _data4_);
248 static void __lambda5__return_identity_callback (IdentityRequest* request, gpointer self);
249 static Block4Data* block4_data_ref (Block4Data* _data4_);
250 static void block4_data_unref (Block4Data* _data4_);
251 gboolean moonshot_server_install_id_card (MoonshotServer* self, const char* display_name, const char* user_name, const char* password, const char* realm, char** rules_patterns, int rules_patterns_length1, char** rules_always_confirm, int rules_always_confirm_length1, char** services, int services_length1, const char* ca_cert, const char* subject, const char* subject_alt, const char* server_cert);
252 IdCard* id_card_new (void);
253 IdCard* id_card_construct (GType object_type);
254 void id_card_set_display_name (IdCard* self, const char* value);
255 void id_card_set_username (IdCard* self, const char* value);
256 void id_card_set_password (IdCard* self, const char* value);
257 void id_card_set_issuer (IdCard* self, const char* value);
258 void id_card_set_services (IdCard* self, char** value, int value_length1);
259 void trust_anchor_set_ca_cert (TrustAnchor* self, const char* value);
260 void trust_anchor_set_subject (TrustAnchor* self, const char* value);
261 void trust_anchor_set_subject_alt (TrustAnchor* self, const char* value);
262 void trust_anchor_set_server_cert (TrustAnchor* self, const char* value);
263 GType rule_get_type (void) G_GNUC_CONST;
264 Rule* rule_dup (const Rule* self);
265 void rule_free (Rule* self);
266 void rule_copy (const Rule* self, Rule* dest);
267 void rule_destroy (Rule* self);
268 void id_card_set_rules (IdCard* self, Rule* value, int value_length1);
269 static void _vala_Rule_array_free (Rule* array, gint array_length);
270 Rule* id_card_get_rules (IdCard* self, int* result_length1);
271 gboolean identity_manager_view_add_identity (IdentityManagerView* self, IdCard* id_card);
272 gint moonshot_server_install_from_file (MoonshotServer* self, const char* file_name);
273 WebProvisioningParser* web_provisioning_parser_new (const char* path);
274 WebProvisioningParser* web_provisioning_parser_construct (GType object_type, const char* path);
275 gpointer web_provisioning_parser_ref (gpointer instance);
276 void web_provisioning_parser_unref (gpointer instance);
277 GParamSpec* web_provisioning_param_spec_parser (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
278 void web_provisioning_value_set_parser (GValue* value, gpointer v_object);
279 void web_provisioning_value_take_parser (GValue* value, gpointer v_object);
280 gpointer web_provisioning_value_get_parser (const GValue* value);
281 GType web_provisioning_parser_get_type (void) G_GNUC_CONST;
282 void web_provisioning_parser_parse (WebProvisioningParser* self);
283 const char* id_card_get_display_name (IdCard* self);
284 const char* id_card_get_username (IdCard* self);
285 const char* id_card_get_issuer (IdCard* self);
286 char** id_card_get_services (IdCard* self, int* result_length1);
287 static void moonshot_server_finalize (GObject* obj);
288 static void moonshot_server_dbus_interface_method_call (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* method_name, GVariant* parameters, GDBusMethodInvocation* invocation, gpointer user_data);
289 static void _dbus_moonshot_server_get_identity (MoonshotServer* self, GVariant* parameters, GDBusMethodInvocation* invocation);
290 static void _dbus_moonshot_server_get_identity_ready (GObject * source_object, GAsyncResult * _res_, gpointer * _user_data_);
291 static void _dbus_moonshot_server_get_default_identity (MoonshotServer* self, GVariant* parameters, GDBusMethodInvocation* invocation);
292 static void _dbus_moonshot_server_get_default_identity_ready (GObject * source_object, GAsyncResult * _res_, gpointer * _user_data_);
293 static void _dbus_moonshot_server_install_id_card (MoonshotServer* self, GVariant* parameters, GDBusMethodInvocation* invocation);
294 static void _dbus_moonshot_server_install_from_file (MoonshotServer* self, GVariant* parameters, GDBusMethodInvocation* invocation);
295 static GVariant* moonshot_server_dbus_interface_get_property (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GError** error, gpointer user_data);
296 static gboolean moonshot_server_dbus_interface_set_property (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GVariant* value, GError** error, gpointer user_data);
297 static void _moonshot_server_unregister_object (gpointer user_data);
298 static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
299 static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);
301 static const GDBusArgInfo _moonshot_server_dbus_arg_info_get_identity_nai = {-1, "nai", "s"};
302 static const GDBusArgInfo _moonshot_server_dbus_arg_info_get_identity_password = {-1, "password", "s"};
303 static const GDBusArgInfo _moonshot_server_dbus_arg_info_get_identity_service = {-1, "service", "s"};
304 static const GDBusArgInfo _moonshot_server_dbus_arg_info_get_identity_nai_out = {-1, "nai_out", "s"};
305 static const GDBusArgInfo _moonshot_server_dbus_arg_info_get_identity_password_out = {-1, "password_out", "s"};
306 static const GDBusArgInfo _moonshot_server_dbus_arg_info_get_identity_server_certificate_hash = {-1, "server_certificate_hash", "s"};
307 static const GDBusArgInfo _moonshot_server_dbus_arg_info_get_identity_ca_certificate = {-1, "ca_certificate", "s"};
308 static const GDBusArgInfo _moonshot_server_dbus_arg_info_get_identity_subject_name_constraint = {-1, "subject_name_constraint", "s"};
309 static const GDBusArgInfo _moonshot_server_dbus_arg_info_get_identity_subject_alt_name_constraint = {-1, "subject_alt_name_constraint", "s"};
310 static const GDBusArgInfo _moonshot_server_dbus_arg_info_get_identity_result = {-1, "result", "b"};
311 static const GDBusArgInfo * const _moonshot_server_dbus_arg_info_get_identity_in[] = {&_moonshot_server_dbus_arg_info_get_identity_nai, &_moonshot_server_dbus_arg_info_get_identity_password, &_moonshot_server_dbus_arg_info_get_identity_service, NULL};
312 static const GDBusArgInfo * const _moonshot_server_dbus_arg_info_get_identity_out[] = {&_moonshot_server_dbus_arg_info_get_identity_nai_out, &_moonshot_server_dbus_arg_info_get_identity_password_out, &_moonshot_server_dbus_arg_info_get_identity_server_certificate_hash, &_moonshot_server_dbus_arg_info_get_identity_ca_certificate, &_moonshot_server_dbus_arg_info_get_identity_subject_name_constraint, &_moonshot_server_dbus_arg_info_get_identity_subject_alt_name_constraint, &_moonshot_server_dbus_arg_info_get_identity_result, NULL};
313 static const GDBusMethodInfo _moonshot_server_dbus_method_info_get_identity = {-1, "GetIdentity", (GDBusArgInfo **) (&_moonshot_server_dbus_arg_info_get_identity_in), (GDBusArgInfo **) (&_moonshot_server_dbus_arg_info_get_identity_out)};
314 static const GDBusArgInfo _moonshot_server_dbus_arg_info_get_default_identity_nai_out = {-1, "nai_out", "s"};
315 static const GDBusArgInfo _moonshot_server_dbus_arg_info_get_default_identity_password_out = {-1, "password_out", "s"};
316 static const GDBusArgInfo _moonshot_server_dbus_arg_info_get_default_identity_server_certificate_hash = {-1, "server_certificate_hash", "s"};
317 static const GDBusArgInfo _moonshot_server_dbus_arg_info_get_default_identity_ca_certificate = {-1, "ca_certificate", "s"};
318 static const GDBusArgInfo _moonshot_server_dbus_arg_info_get_default_identity_subject_name_constraint = {-1, "subject_name_constraint", "s"};
319 static const GDBusArgInfo _moonshot_server_dbus_arg_info_get_default_identity_subject_alt_name_constraint = {-1, "subject_alt_name_constraint", "s"};
320 static const GDBusArgInfo _moonshot_server_dbus_arg_info_get_default_identity_result = {-1, "result", "b"};
321 static const GDBusArgInfo * const _moonshot_server_dbus_arg_info_get_default_identity_in[] = {NULL};
322 static const GDBusArgInfo * const _moonshot_server_dbus_arg_info_get_default_identity_out[] = {&_moonshot_server_dbus_arg_info_get_default_identity_nai_out, &_moonshot_server_dbus_arg_info_get_default_identity_password_out, &_moonshot_server_dbus_arg_info_get_default_identity_server_certificate_hash, &_moonshot_server_dbus_arg_info_get_default_identity_ca_certificate, &_moonshot_server_dbus_arg_info_get_default_identity_subject_name_constraint, &_moonshot_server_dbus_arg_info_get_default_identity_subject_alt_name_constraint, &_moonshot_server_dbus_arg_info_get_default_identity_result, NULL};
323 static const GDBusMethodInfo _moonshot_server_dbus_method_info_get_default_identity = {-1, "GetDefaultIdentity", (GDBusArgInfo **) (&_moonshot_server_dbus_arg_info_get_default_identity_in), (GDBusArgInfo **) (&_moonshot_server_dbus_arg_info_get_default_identity_out)};
324 static const GDBusArgInfo _moonshot_server_dbus_arg_info_install_id_card_display_name = {-1, "display_name", "s"};
325 static const GDBusArgInfo _moonshot_server_dbus_arg_info_install_id_card_user_name = {-1, "user_name", "s"};
326 static const GDBusArgInfo _moonshot_server_dbus_arg_info_install_id_card_password = {-1, "password", "s"};
327 static const GDBusArgInfo _moonshot_server_dbus_arg_info_install_id_card_realm = {-1, "realm", "s"};
328 static const GDBusArgInfo _moonshot_server_dbus_arg_info_install_id_card_rules_patterns = {-1, "rules_patterns", "as"};
329 static const GDBusArgInfo _moonshot_server_dbus_arg_info_install_id_card_rules_always_confirm = {-1, "rules_always_confirm", "as"};
330 static const GDBusArgInfo _moonshot_server_dbus_arg_info_install_id_card_services = {-1, "services", "as"};
331 static const GDBusArgInfo _moonshot_server_dbus_arg_info_install_id_card_ca_cert = {-1, "ca_cert", "s"};
332 static const GDBusArgInfo _moonshot_server_dbus_arg_info_install_id_card_subject = {-1, "subject", "s"};
333 static const GDBusArgInfo _moonshot_server_dbus_arg_info_install_id_card_subject_alt = {-1, "subject_alt", "s"};
334 static const GDBusArgInfo _moonshot_server_dbus_arg_info_install_id_card_server_cert = {-1, "server_cert", "s"};
335 static const GDBusArgInfo _moonshot_server_dbus_arg_info_install_id_card_result = {-1, "result", "b"};
336 static const GDBusArgInfo * const _moonshot_server_dbus_arg_info_install_id_card_in[] = {&_moonshot_server_dbus_arg_info_install_id_card_display_name, &_moonshot_server_dbus_arg_info_install_id_card_user_name, &_moonshot_server_dbus_arg_info_install_id_card_password, &_moonshot_server_dbus_arg_info_install_id_card_realm, &_moonshot_server_dbus_arg_info_install_id_card_rules_patterns, &_moonshot_server_dbus_arg_info_install_id_card_rules_always_confirm, &_moonshot_server_dbus_arg_info_install_id_card_services, &_moonshot_server_dbus_arg_info_install_id_card_ca_cert, &_moonshot_server_dbus_arg_info_install_id_card_subject, &_moonshot_server_dbus_arg_info_install_id_card_subject_alt, &_moonshot_server_dbus_arg_info_install_id_card_server_cert, NULL};
337 static const GDBusArgInfo * const _moonshot_server_dbus_arg_info_install_id_card_out[] = {&_moonshot_server_dbus_arg_info_install_id_card_result, NULL};
338 static const GDBusMethodInfo _moonshot_server_dbus_method_info_install_id_card = {-1, "InstallIdCard", (GDBusArgInfo **) (&_moonshot_server_dbus_arg_info_install_id_card_in), (GDBusArgInfo **) (&_moonshot_server_dbus_arg_info_install_id_card_out)};
339 static const GDBusArgInfo _moonshot_server_dbus_arg_info_install_from_file_file_name = {-1, "file_name", "s"};
340 static const GDBusArgInfo _moonshot_server_dbus_arg_info_install_from_file_result = {-1, "result", "i"};
341 static const GDBusArgInfo * const _moonshot_server_dbus_arg_info_install_from_file_in[] = {&_moonshot_server_dbus_arg_info_install_from_file_file_name, NULL};
342 static const GDBusArgInfo * const _moonshot_server_dbus_arg_info_install_from_file_out[] = {&_moonshot_server_dbus_arg_info_install_from_file_result, NULL};
343 static const GDBusMethodInfo _moonshot_server_dbus_method_info_install_from_file = {-1, "InstallFromFile", (GDBusArgInfo **) (&_moonshot_server_dbus_arg_info_install_from_file_in), (GDBusArgInfo **) (&_moonshot_server_dbus_arg_info_install_from_file_out)};
344 static const GDBusMethodInfo * const _moonshot_server_dbus_method_info[] = {&_moonshot_server_dbus_method_info_get_identity, &_moonshot_server_dbus_method_info_get_default_identity, &_moonshot_server_dbus_method_info_install_id_card, &_moonshot_server_dbus_method_info_install_from_file, NULL};
345 static const GDBusSignalInfo * const _moonshot_server_dbus_signal_info[] = {NULL};
346 static const GDBusPropertyInfo * const _moonshot_server_dbus_property_info[] = {NULL};
347 static const GDBusInterfaceInfo _moonshot_server_dbus_interface_info = {-1, "org.janet.Moonshot", (GDBusMethodInfo **) (&_moonshot_server_dbus_method_info), (GDBusSignalInfo **) (&_moonshot_server_dbus_signal_info), (GDBusPropertyInfo **) (&_moonshot_server_dbus_property_info)};
348 static const GDBusInterfaceVTable _moonshot_server_dbus_interface_vtable = {moonshot_server_dbus_interface_method_call, moonshot_server_dbus_interface_get_property, moonshot_server_dbus_interface_set_property};
351 static gpointer _g_object_ref0 (gpointer self) {
352 return self ? g_object_ref (self) : NULL;
356 #line 8 "moonshot-server.vala"
357 MoonshotServer* moonshot_server_construct (GType object_type, GtkWindow* window) {
358 #line 359 "moonshot-server.c"
359 MoonshotServer * self = NULL;
360 IdentityManagerView* _tmp0_;
361 #line 8 "moonshot-server.vala"
362 g_return_val_if_fail (window != NULL, NULL);
363 #line 8 "moonshot-server.vala"
364 self = (MoonshotServer*) g_object_new (object_type, NULL);
365 #line 10 "moonshot-server.vala"
366 self->priv->main_window = (_tmp0_ = _g_object_ref0 (IDENTITY_MANAGER_VIEW (window)), _g_object_unref0 (self->priv->main_window), _tmp0_);
367 #line 368 "moonshot-server.c"
372 #line 8 "moonshot-server.vala"
373 MoonshotServer* moonshot_server_new (GtkWindow* window) {
374 #line 8 "moonshot-server.vala"
375 return moonshot_server_construct (TYPE_MOONSHOT_SERVER, window);
376 #line 377 "moonshot-server.c"
380 static void moonshot_server_get_identity_data_free (gpointer _data) {
381 MoonshotServerGetIdentityData* data;
383 _g_free0 (data->nai);
384 _g_free0 (data->password);
385 _g_free0 (data->service);
386 g_object_unref (data->self);
387 g_slice_free (MoonshotServerGetIdentityData, data);
391 void moonshot_server_get_identity (MoonshotServer* self, const char* nai, const char* password, const char* service, GAsyncReadyCallback _callback_, gpointer _user_data_) {
392 MoonshotServerGetIdentityData* _data_;
393 _data_ = g_slice_new0 (MoonshotServerGetIdentityData);
394 _data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, moonshot_server_get_identity);
395 g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, moonshot_server_get_identity_data_free);
396 _data_->self = g_object_ref (self);
397 _data_->nai = g_strdup (nai);
398 _data_->password = g_strdup (password);
399 _data_->service = g_strdup (service);
400 moonshot_server_get_identity_co (_data_);
404 gboolean moonshot_server_get_identity_finish (MoonshotServer* self, GAsyncResult* _res_, char** nai_out, char** password_out, char** server_certificate_hash, char** ca_certificate, char** subject_name_constraint, char** subject_alt_name_constraint) {
406 MoonshotServerGetIdentityData* _data_;
407 _data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
408 *nai_out = _data_->nai_out;
409 _data_->nai_out = NULL;
410 *password_out = _data_->password_out;
411 _data_->password_out = NULL;
412 *server_certificate_hash = _data_->server_certificate_hash;
413 _data_->server_certificate_hash = NULL;
414 *ca_certificate = _data_->ca_certificate;
415 _data_->ca_certificate = NULL;
416 *subject_name_constraint = _data_->subject_name_constraint;
417 _data_->subject_name_constraint = NULL;
418 *subject_alt_name_constraint = _data_->subject_alt_name_constraint;
419 _data_->subject_alt_name_constraint = NULL;
420 result = _data_->result;
425 static void moonshot_server_get_identity_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
426 MoonshotServerGetIdentityData* data;
429 moonshot_server_get_identity_co (data);
433 #line 27 "moonshot-server.vala"
434 static void _lambda4_ (IdentityRequest* IdentityRequest, Block3Data* _data3_) {
435 #line 436 "moonshot-server.c"
436 MoonshotServer * self;
437 self = _data3_->self;
438 #line 27 "moonshot-server.vala"
439 g_return_if_fail (IdentityRequest != NULL);
440 #line 27 "moonshot-server.vala"
441 moonshot_server_get_identity_co (_data3_->_async_data_);
442 #line 443 "moonshot-server.c"
446 #line 27 "moonshot-server.vala"
447 static void __lambda4__return_identity_callback (IdentityRequest* request, gpointer self) {
448 #line 449 "moonshot-server.c"
449 _lambda4_ (request, self);
453 static Block3Data* block3_data_ref (Block3Data* _data3_) {
454 g_atomic_int_inc (&_data3_->_ref_count_);
459 static void block3_data_unref (Block3Data* _data3_) {
460 if (g_atomic_int_dec_and_test (&_data3_->_ref_count_)) {
461 _g_object_unref0 (_data3_->self);
462 g_slice_free (Block3Data, _data3_);
467 static gboolean moonshot_server_get_identity_co (MoonshotServerGetIdentityData* data) {
468 switch (data->_state_) {
472 g_assert_not_reached ();
477 data->_data3_ = g_slice_new0 (Block3Data);
478 data->_data3_->_ref_count_ = 1;
479 data->_data3_->self = g_object_ref (data->self);
480 data->_data3_->_async_data_ = data;
481 data->request = identity_request_new (data->self->priv->main_window, data->nai, data->password, data->service);
482 #line 27 "moonshot-server.vala"
483 identity_request_set_callback (data->request, __lambda4__return_identity_callback, block3_data_ref (data->_data3_), block3_data_unref);
484 #line 28 "moonshot-server.vala"
485 identity_request_execute (data->request);
486 #line 487 "moonshot-server.c"
491 #line 31 "moonshot-server.vala"
492 data->nai_out = (data->_tmp0_ = g_strdup (""), _g_free0 (data->nai_out), data->_tmp0_);
493 #line 32 "moonshot-server.vala"
494 data->password_out = (data->_tmp1_ = g_strdup (""), _g_free0 (data->password_out), data->_tmp1_);
495 #line 33 "moonshot-server.vala"
496 data->server_certificate_hash = (data->_tmp2_ = g_strdup (""), _g_free0 (data->server_certificate_hash), data->_tmp2_);
497 #line 34 "moonshot-server.vala"
498 data->ca_certificate = (data->_tmp3_ = g_strdup (""), _g_free0 (data->ca_certificate), data->_tmp3_);
499 #line 35 "moonshot-server.vala"
500 data->subject_name_constraint = (data->_tmp4_ = g_strdup (""), _g_free0 (data->subject_name_constraint), data->_tmp4_);
501 #line 36 "moonshot-server.vala"
502 data->subject_alt_name_constraint = (data->_tmp5_ = g_strdup (""), _g_free0 (data->subject_alt_name_constraint), data->_tmp5_);
503 #line 504 "moonshot-server.c"
504 data->id_card = _g_object_ref0 (data->request->id_card);
505 #line 40 "moonshot-server.vala"
506 if (data->id_card != NULL) {
507 #line 41 "moonshot-server.vala"
508 data->nai_out = (data->_tmp6_ = g_strdup (id_card_get_nai (data->id_card)), _g_free0 (data->nai_out), data->_tmp6_);
509 #line 42 "moonshot-server.vala"
510 data->password_out = (data->_tmp7_ = g_strdup (id_card_get_password (data->id_card)), _g_free0 (data->password_out), data->_tmp7_);
511 #line 44 "moonshot-server.vala"
512 data->server_certificate_hash = (data->_tmp8_ = g_strdup (trust_anchor_get_server_cert (id_card_get_trust_anchor (data->id_card))), _g_free0 (data->server_certificate_hash), data->_tmp8_);
513 #line 45 "moonshot-server.vala"
514 data->ca_certificate = (data->_tmp9_ = g_strdup (trust_anchor_get_ca_cert (id_card_get_trust_anchor (data->id_card))), _g_free0 (data->ca_certificate), data->_tmp9_);
515 #line 46 "moonshot-server.vala"
516 data->subject_name_constraint = (data->_tmp10_ = g_strdup (trust_anchor_get_subject (id_card_get_trust_anchor (data->id_card))), _g_free0 (data->subject_name_constraint), data->_tmp10_);
517 #line 47 "moonshot-server.vala"
518 data->subject_alt_name_constraint = (data->_tmp11_ = g_strdup (trust_anchor_get_subject_alt (id_card_get_trust_anchor (data->id_card))), _g_free0 (data->subject_alt_name_constraint), data->_tmp11_);
519 #line 49 "moonshot-server.vala"
520 if (data->nai_out == NULL) {
521 #line 50 "moonshot-server.vala"
522 data->nai_out = (data->_tmp12_ = g_strdup (""), _g_free0 (data->nai_out), data->_tmp12_);
523 #line 524 "moonshot-server.c"
525 #line 51 "moonshot-server.vala"
526 if (data->password_out == NULL) {
527 #line 52 "moonshot-server.vala"
528 data->password_out = (data->_tmp13_ = g_strdup (""), _g_free0 (data->password_out), data->_tmp13_);
529 #line 530 "moonshot-server.c"
531 #line 53 "moonshot-server.vala"
532 if (data->server_certificate_hash == NULL) {
533 #line 54 "moonshot-server.vala"
534 data->server_certificate_hash = (data->_tmp14_ = g_strdup (""), _g_free0 (data->server_certificate_hash), data->_tmp14_);
535 #line 536 "moonshot-server.c"
537 #line 55 "moonshot-server.vala"
538 if (data->ca_certificate == NULL) {
539 #line 56 "moonshot-server.vala"
540 data->ca_certificate = (data->_tmp15_ = g_strdup (""), _g_free0 (data->ca_certificate), data->_tmp15_);
541 #line 542 "moonshot-server.c"
543 #line 57 "moonshot-server.vala"
544 if (data->subject_name_constraint == NULL) {
545 #line 58 "moonshot-server.vala"
546 data->subject_name_constraint = (data->_tmp16_ = g_strdup (""), _g_free0 (data->subject_name_constraint), data->_tmp16_);
547 #line 548 "moonshot-server.c"
549 #line 59 "moonshot-server.vala"
550 if (data->subject_alt_name_constraint == NULL) {
551 #line 60 "moonshot-server.vala"
552 data->subject_alt_name_constraint = (data->_tmp17_ = g_strdup (""), _g_free0 (data->subject_alt_name_constraint), data->_tmp17_);
553 #line 554 "moonshot-server.c"
556 _g_object_unref0 (data->id_card);
557 _g_object_unref0 (data->request);
558 block3_data_unref (data->_data3_);
560 if (data->_state_ == 0) {
561 g_simple_async_result_complete_in_idle (data->_async_result);
563 g_simple_async_result_complete (data->_async_result);
565 g_object_unref (data->_async_result);
569 data->result = FALSE;
570 _g_object_unref0 (data->id_card);
571 _g_object_unref0 (data->request);
572 block3_data_unref (data->_data3_);
574 if (data->_state_ == 0) {
575 g_simple_async_result_complete_in_idle (data->_async_result);
577 g_simple_async_result_complete (data->_async_result);
579 g_object_unref (data->_async_result);
582 _g_object_unref0 (data->id_card);
583 _g_object_unref0 (data->request);
584 block3_data_unref (data->_data3_);
586 if (data->_state_ == 0) {
587 g_simple_async_result_complete_in_idle (data->_async_result);
589 g_simple_async_result_complete (data->_async_result);
591 g_object_unref (data->_async_result);
597 static void moonshot_server_get_default_identity_data_free (gpointer _data) {
598 MoonshotServerGetDefaultIdentityData* data;
600 g_object_unref (data->self);
601 g_slice_free (MoonshotServerGetDefaultIdentityData, data);
605 void moonshot_server_get_default_identity (MoonshotServer* self, GAsyncReadyCallback _callback_, gpointer _user_data_) {
606 MoonshotServerGetDefaultIdentityData* _data_;
607 _data_ = g_slice_new0 (MoonshotServerGetDefaultIdentityData);
608 _data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, moonshot_server_get_default_identity);
609 g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, moonshot_server_get_default_identity_data_free);
610 _data_->self = g_object_ref (self);
611 moonshot_server_get_default_identity_co (_data_);
615 gboolean moonshot_server_get_default_identity_finish (MoonshotServer* self, GAsyncResult* _res_, char** nai_out, char** password_out, char** server_certificate_hash, char** ca_certificate, char** subject_name_constraint, char** subject_alt_name_constraint) {
617 MoonshotServerGetDefaultIdentityData* _data_;
618 _data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
619 *nai_out = _data_->nai_out;
620 _data_->nai_out = NULL;
621 *password_out = _data_->password_out;
622 _data_->password_out = NULL;
623 *server_certificate_hash = _data_->server_certificate_hash;
624 _data_->server_certificate_hash = NULL;
625 *ca_certificate = _data_->ca_certificate;
626 _data_->ca_certificate = NULL;
627 *subject_name_constraint = _data_->subject_name_constraint;
628 _data_->subject_name_constraint = NULL;
629 *subject_alt_name_constraint = _data_->subject_alt_name_constraint;
630 _data_->subject_alt_name_constraint = NULL;
631 result = _data_->result;
636 static void moonshot_server_get_default_identity_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
637 MoonshotServerGetDefaultIdentityData* data;
640 moonshot_server_get_default_identity_co (data);
644 #line 76 "moonshot-server.vala"
645 static void _lambda5_ (IdentityRequest* IdentityRequest, Block4Data* _data4_) {
646 #line 647 "moonshot-server.c"
647 MoonshotServer * self;
648 self = _data4_->self;
649 #line 76 "moonshot-server.vala"
650 g_return_if_fail (IdentityRequest != NULL);
651 #line 76 "moonshot-server.vala"
652 moonshot_server_get_default_identity_co (_data4_->_async_data_);
653 #line 654 "moonshot-server.c"
657 #line 76 "moonshot-server.vala"
658 static void __lambda5__return_identity_callback (IdentityRequest* request, gpointer self) {
659 #line 660 "moonshot-server.c"
660 _lambda5_ (request, self);
664 static Block4Data* block4_data_ref (Block4Data* _data4_) {
665 g_atomic_int_inc (&_data4_->_ref_count_);
670 static void block4_data_unref (Block4Data* _data4_) {
671 if (g_atomic_int_dec_and_test (&_data4_->_ref_count_)) {
672 _g_object_unref0 (_data4_->self);
673 g_slice_free (Block4Data, _data4_);
678 static gboolean moonshot_server_get_default_identity_co (MoonshotServerGetDefaultIdentityData* data) {
679 switch (data->_state_) {
683 g_assert_not_reached ();
688 data->_data4_ = g_slice_new0 (Block4Data);
689 data->_data4_->_ref_count_ = 1;
690 data->_data4_->self = g_object_ref (data->self);
691 data->_data4_->_async_data_ = data;
692 data->request = identity_request_new_default (data->self->priv->main_window);
693 #line 76 "moonshot-server.vala"
694 identity_request_set_callback (data->request, __lambda5__return_identity_callback, block4_data_ref (data->_data4_), block4_data_unref);
695 #line 77 "moonshot-server.vala"
696 identity_request_execute (data->request);
697 #line 698 "moonshot-server.c"
702 #line 80 "moonshot-server.vala"
703 data->nai_out = (data->_tmp0_ = g_strdup (""), _g_free0 (data->nai_out), data->_tmp0_);
704 #line 81 "moonshot-server.vala"
705 data->password_out = (data->_tmp1_ = g_strdup (""), _g_free0 (data->password_out), data->_tmp1_);
706 #line 82 "moonshot-server.vala"
707 data->server_certificate_hash = (data->_tmp2_ = g_strdup (""), _g_free0 (data->server_certificate_hash), data->_tmp2_);
708 #line 83 "moonshot-server.vala"
709 data->ca_certificate = (data->_tmp3_ = g_strdup (""), _g_free0 (data->ca_certificate), data->_tmp3_);
710 #line 84 "moonshot-server.vala"
711 data->subject_name_constraint = (data->_tmp4_ = g_strdup (""), _g_free0 (data->subject_name_constraint), data->_tmp4_);
712 #line 85 "moonshot-server.vala"
713 data->subject_alt_name_constraint = (data->_tmp5_ = g_strdup (""), _g_free0 (data->subject_alt_name_constraint), data->_tmp5_);
714 #line 87 "moonshot-server.vala"
715 if (data->request->id_card != NULL) {
716 #line 89 "moonshot-server.vala"
717 data->nai_out = (data->_tmp6_ = g_strdup (id_card_get_nai (data->request->id_card)), _g_free0 (data->nai_out), data->_tmp6_);
718 #line 90 "moonshot-server.vala"
719 data->password_out = (data->_tmp7_ = g_strdup (id_card_get_password (data->request->id_card)), _g_free0 (data->password_out), data->_tmp7_);
720 #line 92 "moonshot-server.vala"
721 data->server_certificate_hash = (data->_tmp8_ = g_strdup (trust_anchor_get_server_cert (id_card_get_trust_anchor (data->request->id_card))), _g_free0 (data->server_certificate_hash), data->_tmp8_);
722 #line 93 "moonshot-server.vala"
723 data->ca_certificate = (data->_tmp9_ = g_strdup (trust_anchor_get_ca_cert (id_card_get_trust_anchor (data->request->id_card))), _g_free0 (data->ca_certificate), data->_tmp9_);
724 #line 94 "moonshot-server.vala"
725 data->subject_name_constraint = (data->_tmp10_ = g_strdup (trust_anchor_get_subject (id_card_get_trust_anchor (data->request->id_card))), _g_free0 (data->subject_name_constraint), data->_tmp10_);
726 #line 95 "moonshot-server.vala"
727 data->subject_alt_name_constraint = (data->_tmp11_ = g_strdup (trust_anchor_get_subject_alt (id_card_get_trust_anchor (data->request->id_card))), _g_free0 (data->subject_alt_name_constraint), data->_tmp11_);
728 #line 97 "moonshot-server.vala"
729 if (data->nai_out == NULL) {
730 #line 98 "moonshot-server.vala"
731 data->nai_out = (data->_tmp12_ = g_strdup (""), _g_free0 (data->nai_out), data->_tmp12_);
732 #line 733 "moonshot-server.c"
734 #line 99 "moonshot-server.vala"
735 if (data->password_out == NULL) {
736 #line 100 "moonshot-server.vala"
737 data->password_out = (data->_tmp13_ = g_strdup (""), _g_free0 (data->password_out), data->_tmp13_);
738 #line 739 "moonshot-server.c"
740 #line 101 "moonshot-server.vala"
741 if (data->server_certificate_hash == NULL) {
742 #line 102 "moonshot-server.vala"
743 data->server_certificate_hash = (data->_tmp14_ = g_strdup (""), _g_free0 (data->server_certificate_hash), data->_tmp14_);
744 #line 745 "moonshot-server.c"
746 #line 103 "moonshot-server.vala"
747 if (data->ca_certificate == NULL) {
748 #line 104 "moonshot-server.vala"
749 data->ca_certificate = (data->_tmp15_ = g_strdup (""), _g_free0 (data->ca_certificate), data->_tmp15_);
750 #line 751 "moonshot-server.c"
752 #line 105 "moonshot-server.vala"
753 if (data->subject_name_constraint == NULL) {
754 #line 106 "moonshot-server.vala"
755 data->subject_name_constraint = (data->_tmp16_ = g_strdup (""), _g_free0 (data->subject_name_constraint), data->_tmp16_);
756 #line 757 "moonshot-server.c"
758 #line 107 "moonshot-server.vala"
759 if (data->subject_alt_name_constraint == NULL) {
760 #line 108 "moonshot-server.vala"
761 data->subject_alt_name_constraint = (data->_tmp17_ = g_strdup (""), _g_free0 (data->subject_alt_name_constraint), data->_tmp17_);
762 #line 763 "moonshot-server.c"
765 _g_object_unref0 (data->request);
766 block4_data_unref (data->_data4_);
768 if (data->_state_ == 0) {
769 g_simple_async_result_complete_in_idle (data->_async_result);
771 g_simple_async_result_complete (data->_async_result);
773 g_object_unref (data->_async_result);
777 data->result = FALSE;
778 _g_object_unref0 (data->request);
779 block4_data_unref (data->_data4_);
781 if (data->_state_ == 0) {
782 g_simple_async_result_complete_in_idle (data->_async_result);
784 g_simple_async_result_complete (data->_async_result);
786 g_object_unref (data->_async_result);
789 _g_object_unref0 (data->request);
790 block4_data_unref (data->_data4_);
792 if (data->_state_ == 0) {
793 g_simple_async_result_complete_in_idle (data->_async_result);
795 g_simple_async_result_complete (data->_async_result);
797 g_object_unref (data->_async_result);
803 static void _vala_Rule_array_free (Rule* array, gint array_length) {
806 for (i = 0; i < array_length; i = i + 1) {
807 rule_destroy (&array[i]);
814 #line 116 "moonshot-server.vala"
815 gboolean moonshot_server_install_id_card (MoonshotServer* self, const char* display_name, const char* user_name, const char* password, const char* realm, char** rules_patterns, int rules_patterns_length1, char** rules_always_confirm, int rules_always_confirm_length1, char** services, int services_length1, const char* ca_cert, const char* subject, const char* subject_alt, const char* server_cert) {
816 #line 817 "moonshot-server.c"
817 gboolean result = FALSE;
820 #line 116 "moonshot-server.vala"
821 g_return_val_if_fail (self != NULL, FALSE);
822 #line 116 "moonshot-server.vala"
823 g_return_val_if_fail (display_name != NULL, FALSE);
824 #line 116 "moonshot-server.vala"
825 g_return_val_if_fail (user_name != NULL, FALSE);
826 #line 128 "moonshot-server.vala"
827 idcard = id_card_new ();
828 #line 130 "moonshot-server.vala"
829 id_card_set_display_name (idcard, display_name);
830 #line 131 "moonshot-server.vala"
831 id_card_set_username (idcard, user_name);
832 #line 132 "moonshot-server.vala"
833 id_card_set_password (idcard, password);
834 #line 133 "moonshot-server.vala"
835 id_card_set_issuer (idcard, realm);
836 #line 134 "moonshot-server.vala"
838 #line 134 "moonshot-server.vala"
839 id_card_set_services (idcard, _tmp0_, services_length1);
840 #line 135 "moonshot-server.vala"
841 trust_anchor_set_ca_cert (id_card_get_trust_anchor (idcard), ca_cert);
842 #line 136 "moonshot-server.vala"
843 trust_anchor_set_subject (id_card_get_trust_anchor (idcard), subject);
844 #line 137 "moonshot-server.vala"
845 trust_anchor_set_subject_alt (id_card_get_trust_anchor (idcard), subject_alt);
846 #line 138 "moonshot-server.vala"
847 trust_anchor_set_server_cert (id_card_get_trust_anchor (idcard), server_cert);
848 #line 140 "moonshot-server.vala"
849 if (rules_patterns_length1 == rules_always_confirm_length1) {
850 #line 851 "moonshot-server.c"
854 #line 142 "moonshot-server.vala"
855 _tmp2_ = (_tmp1_ = g_new0 (Rule, rules_patterns_length1), _tmp1__length1 = rules_patterns_length1, _tmp1_);
856 #line 142 "moonshot-server.vala"
857 id_card_set_rules (idcard, _tmp2_, rules_patterns_length1);
858 #line 859 "moonshot-server.c"
859 _tmp1_ = (_vala_Rule_array_free (_tmp1_, _tmp1__length1), NULL);
862 #line 144 "moonshot-server.vala"
864 #line 865 "moonshot-server.c"
867 #line 144 "moonshot-server.vala"
869 #line 144 "moonshot-server.vala"
871 #line 872 "moonshot-server.c"
879 #line 144 "moonshot-server.vala"
881 #line 144 "moonshot-server.vala"
883 #line 884 "moonshot-server.c"
885 #line 144 "moonshot-server.vala"
887 #line 144 "moonshot-server.vala"
889 #line 144 "moonshot-server.vala"
891 #line 892 "moonshot-server.c"
893 #line 146 "moonshot-server.vala"
894 _tmp6_ = &id_card_get_rules (idcard, &_tmp5_)[i].pattern;
895 #line 146 "moonshot-server.vala"
896 (*_tmp6_) = (_tmp7_ = g_strdup (rules_patterns[i]), _g_free0 ((*_tmp6_)), _tmp7_);
897 #line 147 "moonshot-server.vala"
898 _tmp9_ = &id_card_get_rules (idcard, &_tmp8_)[i].always_confirm;
899 #line 147 "moonshot-server.vala"
900 (*_tmp9_) = (_tmp10_ = g_strdup (rules_always_confirm[i]), _g_free0 ((*_tmp9_)), _tmp10_);
901 #line 902 "moonshot-server.c"
906 result = identity_manager_view_add_identity (self->priv->main_window, idcard);
907 _g_object_unref0 (idcard);
908 #line 151 "moonshot-server.vala"
910 #line 911 "moonshot-server.c"
914 #line 155 "moonshot-server.vala"
915 gint moonshot_server_install_from_file (MoonshotServer* self, const char* file_name) {
916 #line 917 "moonshot-server.c"
918 WebProvisioningParser* webp;
920 gint installed_cards;
921 #line 155 "moonshot-server.vala"
922 g_return_val_if_fail (self != NULL, 0);
923 #line 155 "moonshot-server.vala"
924 g_return_val_if_fail (file_name != NULL, 0);
925 #line 157 "moonshot-server.vala"
926 webp = web_provisioning_parser_new (file_name);
927 #line 159 "moonshot-server.vala"
928 web_provisioning_parser_parse (webp);
929 #line 160 "moonshot-server.vala"
931 #line 161 "moonshot-server.vala"
933 #line 934 "moonshot-server.c"
935 IdCard** card_collection;
936 int card_collection_length1;
938 #line 162 "moonshot-server.vala"
939 card_collection = web_provisioning_cards;
940 #line 941 "moonshot-server.c"
941 card_collection_length1 = web_provisioning_cards_length1;
942 for (card_it = 0; card_it < web_provisioning_cards_length1; card_it = card_it + 1) {
944 card = _g_object_ref0 (card_collection[card_it]);
946 gint rules_patterns_length1;
947 gint _rules_patterns_size_;
949 char** _tmp0_ = NULL;
950 char** rules_patterns;
951 gint rules_always_confirm_length1;
952 gint _rules_always_confirm_size_;
954 char** _tmp2_ = NULL;
955 char** rules_always_confirm;
958 rules_patterns = (_tmp1_ = (_tmp0_ = g_new0 (char*, 0 + 1), _tmp0_), rules_patterns_length1 = 0, _rules_patterns_size_ = rules_patterns_length1, _tmp1_);
959 rules_always_confirm = (_tmp3_ = (_tmp2_ = g_new0 (char*, 0 + 1), _tmp2_), rules_always_confirm_length1 = 0, _rules_always_confirm_size_ = rules_always_confirm_length1, _tmp3_);
960 #line 167 "moonshot-server.vala"
962 #line 963 "moonshot-server.c"
968 #line 169 "moonshot-server.vala"
970 #line 170 "moonshot-server.vala"
971 rules_patterns = (_tmp6_ = g_new0 (char*, _tmp5_ + 1), rules_patterns = (_vala_array_free (rules_patterns, rules_patterns_length1, (GDestroyNotify) g_free), NULL), rules_patterns_length1 = _tmp5_, _rules_patterns_size_ = rules_patterns_length1, _tmp6_);
972 #line 171 "moonshot-server.vala"
973 rules_always_confirm = (_tmp8_ = g_new0 (char*, _tmp7_ + 1), rules_always_confirm = (_vala_array_free (rules_always_confirm, rules_always_confirm_length1, (GDestroyNotify) g_free), NULL), rules_always_confirm_length1 = _tmp7_, _rules_always_confirm_size_ = rules_always_confirm_length1, _tmp8_);
974 #line 975 "moonshot-server.c"
978 int r_collection_length1;
980 #line 172 "moonshot-server.vala"
981 r_collection = id_card_get_rules (card, &_tmp9_);
982 #line 983 "moonshot-server.c"
983 r_collection_length1 = _tmp9_;
984 for (r_it = 0; r_it < _tmp9_; r_it = r_it + 1) {
987 r = (rule_copy (&r_collection[r_it], &_tmp12_), _tmp12_);
991 #line 174 "moonshot-server.vala"
992 rules_patterns[i] = (_tmp10_ = g_strdup (r.pattern), _g_free0 (rules_patterns[i]), _tmp10_);
993 #line 175 "moonshot-server.vala"
994 rules_always_confirm[i] = (_tmp11_ = g_strdup (r.always_confirm), _g_free0 (rules_always_confirm[i]), _tmp11_);
995 #line 176 "moonshot-server.vala"
997 #line 998 "moonshot-server.c"
1003 #line 180 "moonshot-server.vala"
1004 _result_ = moonshot_server_install_id_card (self, id_card_get_display_name (card), id_card_get_username (card), id_card_get_password (card), id_card_get_issuer (card), rules_patterns, rules_patterns_length1, rules_always_confirm, rules_always_confirm_length1, id_card_get_services (card, &_tmp13_), _tmp13_, trust_anchor_get_ca_cert (id_card_get_trust_anchor (card)), trust_anchor_get_subject (id_card_get_trust_anchor (card)), trust_anchor_get_subject_alt (id_card_get_trust_anchor (card)), trust_anchor_get_server_cert (id_card_get_trust_anchor (card)));
1005 #line 191 "moonshot-server.vala"
1007 #line 192 "moonshot-server.vala"
1009 #line 1010 "moonshot-server.c"
1011 rules_always_confirm = (_vala_array_free (rules_always_confirm, rules_always_confirm_length1, (GDestroyNotify) g_free), NULL);
1012 rules_patterns = (_vala_array_free (rules_patterns, rules_patterns_length1, (GDestroyNotify) g_free), NULL);
1013 _g_object_unref0 (card);
1017 result = installed_cards;
1018 _web_provisioning_parser_unref0 (webp);
1019 #line 195 "moonshot-server.vala"
1021 #line 1022 "moonshot-server.c"
1025 static void moonshot_server_class_init (MoonshotServerClass * klass) {
1026 moonshot_server_parent_class = g_type_class_peek_parent (klass);
1027 g_type_class_add_private (klass, sizeof (MoonshotServerPrivate));
1028 G_OBJECT_CLASS (klass)->finalize = moonshot_server_finalize;
1032 static void moonshot_server_instance_init (MoonshotServer * self) {
1033 self->priv = MOONSHOT_SERVER_GET_PRIVATE (self);
1037 static void moonshot_server_finalize (GObject* obj) {
1038 MoonshotServer * self;
1039 self = MOONSHOT_SERVER (obj);
1040 _g_object_unref0 (self->priv->main_window);
1041 G_OBJECT_CLASS (moonshot_server_parent_class)->finalize (obj);
1045 GType moonshot_server_get_type (void) {
1046 static volatile gsize moonshot_server_type_id__volatile = 0;
1047 if (g_once_init_enter (&moonshot_server_type_id__volatile)) {
1048 static const GTypeInfo g_define_type_info = { sizeof (MoonshotServerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) moonshot_server_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MoonshotServer), 0, (GInstanceInitFunc) moonshot_server_instance_init, NULL };
1049 GType moonshot_server_type_id;
1050 moonshot_server_type_id = g_type_register_static (G_TYPE_OBJECT, "MoonshotServer", &g_define_type_info, 0);
1051 g_once_init_leave (&moonshot_server_type_id__volatile, moonshot_server_type_id);
1053 return moonshot_server_type_id__volatile;
1057 static void _dbus_moonshot_server_get_identity (MoonshotServer* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
1060 char* password = NULL;
1062 char* service = NULL;
1064 GVariantIter _arguments_iter;
1065 g_variant_iter_init (&_arguments_iter, parameters);
1066 _tmp0_ = g_variant_iter_next_value (&_arguments_iter);
1067 nai = g_variant_dup_string (_tmp0_, NULL);
1068 g_variant_unref (_tmp0_);
1069 _tmp1_ = g_variant_iter_next_value (&_arguments_iter);
1070 password = g_variant_dup_string (_tmp1_, NULL);
1071 g_variant_unref (_tmp1_);
1072 _tmp2_ = g_variant_iter_next_value (&_arguments_iter);
1073 service = g_variant_dup_string (_tmp2_, NULL);
1074 g_variant_unref (_tmp2_);
1075 moonshot_server_get_identity (self, nai, password, service, (GAsyncReadyCallback) _dbus_moonshot_server_get_identity_ready, g_object_ref (invocation));
1077 _g_free0 (password);
1082 static void _dbus_moonshot_server_get_identity_ready (GObject * source_object, GAsyncResult * _res_, gpointer * _user_data_) {
1083 GDBusMethodInvocation * invocation;
1085 char* nai_out = NULL;
1086 char* password_out = NULL;
1087 char* server_certificate_hash = NULL;
1088 char* ca_certificate = NULL;
1089 char* subject_name_constraint = NULL;
1090 char* subject_alt_name_constraint = NULL;
1093 GVariantBuilder _reply_builder;
1094 invocation = _user_data_;
1096 result = moonshot_server_get_identity_finish ((MoonshotServer*) source_object, _res_, &nai_out, &password_out, &server_certificate_hash, &ca_certificate, &subject_name_constraint, &subject_alt_name_constraint);
1097 g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
1098 g_variant_builder_add_value (&_reply_builder, g_variant_new_string (nai_out));
1100 g_variant_builder_add_value (&_reply_builder, g_variant_new_string (password_out));
1101 _g_free0 (password_out);
1102 g_variant_builder_add_value (&_reply_builder, g_variant_new_string (server_certificate_hash));
1103 _g_free0 (server_certificate_hash);
1104 g_variant_builder_add_value (&_reply_builder, g_variant_new_string (ca_certificate));
1105 _g_free0 (ca_certificate);
1106 g_variant_builder_add_value (&_reply_builder, g_variant_new_string (subject_name_constraint));
1107 _g_free0 (subject_name_constraint);
1108 g_variant_builder_add_value (&_reply_builder, g_variant_new_string (subject_alt_name_constraint));
1109 _g_free0 (subject_alt_name_constraint);
1110 g_variant_builder_add_value (&_reply_builder, g_variant_new_boolean (result));
1111 _reply = g_variant_builder_end (&_reply_builder);
1112 g_dbus_method_invocation_return_value (invocation, _reply);
1113 g_object_unref (invocation);
1114 g_variant_unref (_reply);
1118 static void _dbus_moonshot_server_get_default_identity (MoonshotServer* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
1119 GVariantIter _arguments_iter;
1120 g_variant_iter_init (&_arguments_iter, parameters);
1121 moonshot_server_get_default_identity (self, (GAsyncReadyCallback) _dbus_moonshot_server_get_default_identity_ready, g_object_ref (invocation));
1125 static void _dbus_moonshot_server_get_default_identity_ready (GObject * source_object, GAsyncResult * _res_, gpointer * _user_data_) {
1126 GDBusMethodInvocation * invocation;
1128 char* nai_out = NULL;
1129 char* password_out = NULL;
1130 char* server_certificate_hash = NULL;
1131 char* ca_certificate = NULL;
1132 char* subject_name_constraint = NULL;
1133 char* subject_alt_name_constraint = NULL;
1136 GVariantBuilder _reply_builder;
1137 invocation = _user_data_;
1139 result = moonshot_server_get_default_identity_finish ((MoonshotServer*) source_object, _res_, &nai_out, &password_out, &server_certificate_hash, &ca_certificate, &subject_name_constraint, &subject_alt_name_constraint);
1140 g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
1141 g_variant_builder_add_value (&_reply_builder, g_variant_new_string (nai_out));
1143 g_variant_builder_add_value (&_reply_builder, g_variant_new_string (password_out));
1144 _g_free0 (password_out);
1145 g_variant_builder_add_value (&_reply_builder, g_variant_new_string (server_certificate_hash));
1146 _g_free0 (server_certificate_hash);
1147 g_variant_builder_add_value (&_reply_builder, g_variant_new_string (ca_certificate));
1148 _g_free0 (ca_certificate);
1149 g_variant_builder_add_value (&_reply_builder, g_variant_new_string (subject_name_constraint));
1150 _g_free0 (subject_name_constraint);
1151 g_variant_builder_add_value (&_reply_builder, g_variant_new_string (subject_alt_name_constraint));
1152 _g_free0 (subject_alt_name_constraint);
1153 g_variant_builder_add_value (&_reply_builder, g_variant_new_boolean (result));
1154 _reply = g_variant_builder_end (&_reply_builder);
1155 g_dbus_method_invocation_return_value (invocation, _reply);
1156 g_object_unref (invocation);
1157 g_variant_unref (_reply);
1161 static void _dbus_moonshot_server_install_id_card (MoonshotServer* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
1163 char* display_name = NULL;
1165 char* user_name = NULL;
1167 char* password = NULL;
1171 char** rules_patterns = NULL;
1172 int rules_patterns_length1;
1178 GVariantIter _tmp9_;
1180 char** rules_always_confirm = NULL;
1181 int rules_always_confirm_length1;
1186 int _tmp12__length1;
1187 GVariantIter _tmp13_;
1189 char** services = NULL;
1190 int services_length1;
1195 int _tmp16__length1;
1196 GVariantIter _tmp17_;
1198 char* ca_cert = NULL;
1200 char* subject = NULL;
1202 char* subject_alt = NULL;
1204 char* server_cert = NULL;
1207 GVariantIter _arguments_iter;
1209 GVariantBuilder _reply_builder;
1211 g_variant_iter_init (&_arguments_iter, parameters);
1212 _tmp3_ = g_variant_iter_next_value (&_arguments_iter);
1213 display_name = g_variant_dup_string (_tmp3_, NULL);
1214 g_variant_unref (_tmp3_);
1215 _tmp4_ = g_variant_iter_next_value (&_arguments_iter);
1216 user_name = g_variant_dup_string (_tmp4_, NULL);
1217 g_variant_unref (_tmp4_);
1218 _tmp5_ = g_variant_iter_next_value (&_arguments_iter);
1219 password = g_variant_dup_string (_tmp5_, NULL);
1220 g_variant_unref (_tmp5_);
1221 _tmp6_ = g_variant_iter_next_value (&_arguments_iter);
1222 realm = g_variant_dup_string (_tmp6_, NULL);
1223 g_variant_unref (_tmp6_);
1224 rules_patterns_length1 = 0;
1225 _tmp7_ = g_variant_iter_next_value (&_arguments_iter);
1226 _tmp8_ = g_new (char*, 5);
1230 g_variant_iter_init (&_tmp9_, _tmp7_);
1231 for (; _tmp10_ = g_variant_iter_next_value (&_tmp9_); _tmp8__length1++) {
1232 if (_tmp8__size == _tmp8__length) {
1233 _tmp8__size = 2 * _tmp8__size;
1234 _tmp8_ = g_renew (char*, _tmp8_, _tmp8__size + 1);
1236 _tmp8_[_tmp8__length++] = g_variant_dup_string (_tmp10_, NULL);
1237 g_variant_unref (_tmp10_);
1239 rules_patterns_length1 = _tmp8__length1;
1240 _tmp8_[_tmp8__length] = NULL;
1241 rules_patterns = _tmp8_;
1242 g_variant_unref (_tmp7_);
1243 rules_always_confirm_length1 = 0;
1244 _tmp11_ = g_variant_iter_next_value (&_arguments_iter);
1245 _tmp12_ = g_new (char*, 5);
1248 _tmp12__length1 = 0;
1249 g_variant_iter_init (&_tmp13_, _tmp11_);
1250 for (; _tmp14_ = g_variant_iter_next_value (&_tmp13_); _tmp12__length1++) {
1251 if (_tmp12__size == _tmp12__length) {
1252 _tmp12__size = 2 * _tmp12__size;
1253 _tmp12_ = g_renew (char*, _tmp12_, _tmp12__size + 1);
1255 _tmp12_[_tmp12__length++] = g_variant_dup_string (_tmp14_, NULL);
1256 g_variant_unref (_tmp14_);
1258 rules_always_confirm_length1 = _tmp12__length1;
1259 _tmp12_[_tmp12__length] = NULL;
1260 rules_always_confirm = _tmp12_;
1261 g_variant_unref (_tmp11_);
1262 services_length1 = 0;
1263 _tmp15_ = g_variant_iter_next_value (&_arguments_iter);
1264 _tmp16_ = g_new (char*, 5);
1267 _tmp16__length1 = 0;
1268 g_variant_iter_init (&_tmp17_, _tmp15_);
1269 for (; _tmp18_ = g_variant_iter_next_value (&_tmp17_); _tmp16__length1++) {
1270 if (_tmp16__size == _tmp16__length) {
1271 _tmp16__size = 2 * _tmp16__size;
1272 _tmp16_ = g_renew (char*, _tmp16_, _tmp16__size + 1);
1274 _tmp16_[_tmp16__length++] = g_variant_dup_string (_tmp18_, NULL);
1275 g_variant_unref (_tmp18_);
1277 services_length1 = _tmp16__length1;
1278 _tmp16_[_tmp16__length] = NULL;
1280 g_variant_unref (_tmp15_);
1281 _tmp19_ = g_variant_iter_next_value (&_arguments_iter);
1282 ca_cert = g_variant_dup_string (_tmp19_, NULL);
1283 g_variant_unref (_tmp19_);
1284 _tmp20_ = g_variant_iter_next_value (&_arguments_iter);
1285 subject = g_variant_dup_string (_tmp20_, NULL);
1286 g_variant_unref (_tmp20_);
1287 _tmp21_ = g_variant_iter_next_value (&_arguments_iter);
1288 subject_alt = g_variant_dup_string (_tmp21_, NULL);
1289 g_variant_unref (_tmp21_);
1290 _tmp22_ = g_variant_iter_next_value (&_arguments_iter);
1291 server_cert = g_variant_dup_string (_tmp22_, NULL);
1292 g_variant_unref (_tmp22_);
1293 result = moonshot_server_install_id_card (self, display_name, user_name, password, realm, rules_patterns, rules_patterns_length1, rules_always_confirm, rules_always_confirm_length1, services, services_length1, ca_cert, subject, subject_alt, server_cert);
1294 g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
1295 _g_free0 (display_name);
1296 _g_free0 (user_name);
1297 _g_free0 (password);
1299 rules_patterns = (_vala_array_free (rules_patterns, rules_patterns_length1, (GDestroyNotify) g_free), NULL);
1300 rules_always_confirm = (_vala_array_free (rules_always_confirm, rules_always_confirm_length1, (GDestroyNotify) g_free), NULL);
1301 services = (_vala_array_free (services, services_length1, (GDestroyNotify) g_free), NULL);
1304 _g_free0 (subject_alt);
1305 _g_free0 (server_cert);
1306 g_variant_builder_add_value (&_reply_builder, g_variant_new_boolean (result));
1307 _reply = g_variant_builder_end (&_reply_builder);
1308 g_dbus_method_invocation_return_value (invocation, _reply);
1312 static void _dbus_moonshot_server_install_from_file (MoonshotServer* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
1314 char* file_name = NULL;
1317 GVariantIter _arguments_iter;
1319 GVariantBuilder _reply_builder;
1321 g_variant_iter_init (&_arguments_iter, parameters);
1322 _tmp23_ = g_variant_iter_next_value (&_arguments_iter);
1323 file_name = g_variant_dup_string (_tmp23_, NULL);
1324 g_variant_unref (_tmp23_);
1325 result = moonshot_server_install_from_file (self, file_name);
1326 g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
1327 _g_free0 (file_name);
1328 g_variant_builder_add_value (&_reply_builder, g_variant_new_int32 (result));
1329 _reply = g_variant_builder_end (&_reply_builder);
1330 g_dbus_method_invocation_return_value (invocation, _reply);
1334 static void moonshot_server_dbus_interface_method_call (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* method_name, GVariant* parameters, GDBusMethodInvocation* invocation, gpointer user_data) {
1339 if (strcmp (method_name, "GetIdentity") == 0) {
1340 _dbus_moonshot_server_get_identity (object, parameters, invocation);
1341 } else if (strcmp (method_name, "GetDefaultIdentity") == 0) {
1342 _dbus_moonshot_server_get_default_identity (object, parameters, invocation);
1343 } else if (strcmp (method_name, "InstallIdCard") == 0) {
1344 _dbus_moonshot_server_install_id_card (object, parameters, invocation);
1345 } else if (strcmp (method_name, "InstallFromFile") == 0) {
1346 _dbus_moonshot_server_install_from_file (object, parameters, invocation);
1351 static GVariant* moonshot_server_dbus_interface_get_property (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GError** error, gpointer user_data) {
1360 static gboolean moonshot_server_dbus_interface_set_property (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GVariant* value, GError** error, gpointer user_data) {
1369 guint moonshot_server_register_object (gpointer object, GDBusConnection* connection, const gchar* path, GError** error) {
1372 data = g_new (gpointer, 3);
1373 data[0] = g_object_ref (object);
1374 data[1] = g_object_ref (connection);
1375 data[2] = g_strdup (path);
1376 result = g_dbus_connection_register_object (connection, path, &_moonshot_server_dbus_interface_info, &_moonshot_server_dbus_interface_vtable, data, _moonshot_server_unregister_object, error);
1384 static void _moonshot_server_unregister_object (gpointer user_data) {
1387 g_object_unref (data[0]);
1388 g_object_unref (data[1]);
1394 static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
1395 if ((array != NULL) && (destroy_func != NULL)) {
1397 for (i = 0; i < array_length; i = i + 1) {
1398 if (((gpointer*) array)[i] != NULL) {
1399 destroy_func (((gpointer*) array)[i]);
1406 static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
1407 _vala_array_destroy (array, array_length, destroy_func);