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 gboolean 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", "b"};
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 MoonshotServer* moonshot_server_construct (GType object_type, GtkWindow* window) {
357 MoonshotServer * self = NULL;
358 IdentityManagerView* _tmp0_;
359 g_return_val_if_fail (window != NULL, NULL);
360 self = (MoonshotServer*) g_object_new (object_type, NULL);
361 self->priv->main_window = (_tmp0_ = _g_object_ref0 (IDENTITY_MANAGER_VIEW (window)), _g_object_unref0 (self->priv->main_window), _tmp0_);
366 MoonshotServer* moonshot_server_new (GtkWindow* window) {
367 return moonshot_server_construct (TYPE_MOONSHOT_SERVER, window);
371 static void moonshot_server_get_identity_data_free (gpointer _data) {
372 MoonshotServerGetIdentityData* data;
374 _g_free0 (data->nai);
375 _g_free0 (data->password);
376 _g_free0 (data->service);
377 g_object_unref (data->self);
378 g_slice_free (MoonshotServerGetIdentityData, data);
382 void moonshot_server_get_identity (MoonshotServer* self, const char* nai, const char* password, const char* service, GAsyncReadyCallback _callback_, gpointer _user_data_) {
383 MoonshotServerGetIdentityData* _data_;
384 _data_ = g_slice_new0 (MoonshotServerGetIdentityData);
385 _data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, moonshot_server_get_identity);
386 g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, moonshot_server_get_identity_data_free);
387 _data_->self = g_object_ref (self);
388 _data_->nai = g_strdup (nai);
389 _data_->password = g_strdup (password);
390 _data_->service = g_strdup (service);
391 moonshot_server_get_identity_co (_data_);
395 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) {
397 MoonshotServerGetIdentityData* _data_;
398 _data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
399 *nai_out = _data_->nai_out;
400 _data_->nai_out = NULL;
401 *password_out = _data_->password_out;
402 _data_->password_out = NULL;
403 *server_certificate_hash = _data_->server_certificate_hash;
404 _data_->server_certificate_hash = NULL;
405 *ca_certificate = _data_->ca_certificate;
406 _data_->ca_certificate = NULL;
407 *subject_name_constraint = _data_->subject_name_constraint;
408 _data_->subject_name_constraint = NULL;
409 *subject_alt_name_constraint = _data_->subject_alt_name_constraint;
410 _data_->subject_alt_name_constraint = NULL;
411 result = _data_->result;
416 static void moonshot_server_get_identity_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
417 MoonshotServerGetIdentityData* data;
420 moonshot_server_get_identity_co (data);
424 static void _lambda4_ (IdentityRequest* IdentityRequest, Block3Data* _data3_) {
425 MoonshotServer * self;
426 self = _data3_->self;
427 g_return_if_fail (IdentityRequest != NULL);
428 moonshot_server_get_identity_co (_data3_->_async_data_);
432 static void __lambda4__return_identity_callback (IdentityRequest* request, gpointer self) {
433 _lambda4_ (request, self);
437 static Block3Data* block3_data_ref (Block3Data* _data3_) {
438 g_atomic_int_inc (&_data3_->_ref_count_);
443 static void block3_data_unref (Block3Data* _data3_) {
444 if (g_atomic_int_dec_and_test (&_data3_->_ref_count_)) {
445 _g_object_unref0 (_data3_->self);
446 g_slice_free (Block3Data, _data3_);
451 static gboolean moonshot_server_get_identity_co (MoonshotServerGetIdentityData* data) {
452 switch (data->_state_) {
456 g_assert_not_reached ();
461 data->_data3_ = g_slice_new0 (Block3Data);
462 data->_data3_->_ref_count_ = 1;
463 data->_data3_->self = g_object_ref (data->self);
464 data->_data3_->_async_data_ = data;
465 data->request = identity_request_new (data->self->priv->main_window, data->nai, data->password, data->service);
466 identity_request_set_callback (data->request, __lambda4__return_identity_callback, block3_data_ref (data->_data3_), block3_data_unref);
467 identity_request_execute (data->request);
472 data->nai_out = (data->_tmp0_ = g_strdup (""), _g_free0 (data->nai_out), data->_tmp0_);
473 data->password_out = (data->_tmp1_ = g_strdup (""), _g_free0 (data->password_out), data->_tmp1_);
474 data->server_certificate_hash = (data->_tmp2_ = g_strdup (""), _g_free0 (data->server_certificate_hash), data->_tmp2_);
475 data->ca_certificate = (data->_tmp3_ = g_strdup (""), _g_free0 (data->ca_certificate), data->_tmp3_);
476 data->subject_name_constraint = (data->_tmp4_ = g_strdup (""), _g_free0 (data->subject_name_constraint), data->_tmp4_);
477 data->subject_alt_name_constraint = (data->_tmp5_ = g_strdup (""), _g_free0 (data->subject_alt_name_constraint), data->_tmp5_);
478 data->id_card = _g_object_ref0 (data->request->id_card);
479 if (data->id_card != NULL) {
480 data->nai_out = (data->_tmp6_ = g_strdup (id_card_get_nai (data->id_card)), _g_free0 (data->nai_out), data->_tmp6_);
481 data->password_out = (data->_tmp7_ = g_strdup (id_card_get_password (data->id_card)), _g_free0 (data->password_out), data->_tmp7_);
482 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_);
483 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_);
484 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_);
485 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_);
486 if (data->nai_out == NULL) {
487 data->nai_out = (data->_tmp12_ = g_strdup (""), _g_free0 (data->nai_out), data->_tmp12_);
489 if (data->password_out == NULL) {
490 data->password_out = (data->_tmp13_ = g_strdup (""), _g_free0 (data->password_out), data->_tmp13_);
492 if (data->server_certificate_hash == NULL) {
493 data->server_certificate_hash = (data->_tmp14_ = g_strdup (""), _g_free0 (data->server_certificate_hash), data->_tmp14_);
495 if (data->ca_certificate == NULL) {
496 data->ca_certificate = (data->_tmp15_ = g_strdup (""), _g_free0 (data->ca_certificate), data->_tmp15_);
498 if (data->subject_name_constraint == NULL) {
499 data->subject_name_constraint = (data->_tmp16_ = g_strdup (""), _g_free0 (data->subject_name_constraint), data->_tmp16_);
501 if (data->subject_alt_name_constraint == NULL) {
502 data->subject_alt_name_constraint = (data->_tmp17_ = g_strdup (""), _g_free0 (data->subject_alt_name_constraint), data->_tmp17_);
505 _g_object_unref0 (data->id_card);
506 _g_object_unref0 (data->request);
507 block3_data_unref (data->_data3_);
509 if (data->_state_ == 0) {
510 g_simple_async_result_complete_in_idle (data->_async_result);
512 g_simple_async_result_complete (data->_async_result);
514 g_object_unref (data->_async_result);
518 data->result = FALSE;
519 _g_object_unref0 (data->id_card);
520 _g_object_unref0 (data->request);
521 block3_data_unref (data->_data3_);
523 if (data->_state_ == 0) {
524 g_simple_async_result_complete_in_idle (data->_async_result);
526 g_simple_async_result_complete (data->_async_result);
528 g_object_unref (data->_async_result);
531 _g_object_unref0 (data->id_card);
532 _g_object_unref0 (data->request);
533 block3_data_unref (data->_data3_);
535 if (data->_state_ == 0) {
536 g_simple_async_result_complete_in_idle (data->_async_result);
538 g_simple_async_result_complete (data->_async_result);
540 g_object_unref (data->_async_result);
546 static void moonshot_server_get_default_identity_data_free (gpointer _data) {
547 MoonshotServerGetDefaultIdentityData* data;
549 g_object_unref (data->self);
550 g_slice_free (MoonshotServerGetDefaultIdentityData, data);
554 void moonshot_server_get_default_identity (MoonshotServer* self, GAsyncReadyCallback _callback_, gpointer _user_data_) {
555 MoonshotServerGetDefaultIdentityData* _data_;
556 _data_ = g_slice_new0 (MoonshotServerGetDefaultIdentityData);
557 _data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, moonshot_server_get_default_identity);
558 g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, moonshot_server_get_default_identity_data_free);
559 _data_->self = g_object_ref (self);
560 moonshot_server_get_default_identity_co (_data_);
564 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) {
566 MoonshotServerGetDefaultIdentityData* _data_;
567 _data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
568 *nai_out = _data_->nai_out;
569 _data_->nai_out = NULL;
570 *password_out = _data_->password_out;
571 _data_->password_out = NULL;
572 *server_certificate_hash = _data_->server_certificate_hash;
573 _data_->server_certificate_hash = NULL;
574 *ca_certificate = _data_->ca_certificate;
575 _data_->ca_certificate = NULL;
576 *subject_name_constraint = _data_->subject_name_constraint;
577 _data_->subject_name_constraint = NULL;
578 *subject_alt_name_constraint = _data_->subject_alt_name_constraint;
579 _data_->subject_alt_name_constraint = NULL;
580 result = _data_->result;
585 static void moonshot_server_get_default_identity_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
586 MoonshotServerGetDefaultIdentityData* data;
589 moonshot_server_get_default_identity_co (data);
593 static void _lambda5_ (IdentityRequest* IdentityRequest, Block4Data* _data4_) {
594 MoonshotServer * self;
595 self = _data4_->self;
596 g_return_if_fail (IdentityRequest != NULL);
597 moonshot_server_get_default_identity_co (_data4_->_async_data_);
601 static void __lambda5__return_identity_callback (IdentityRequest* request, gpointer self) {
602 _lambda5_ (request, self);
606 static Block4Data* block4_data_ref (Block4Data* _data4_) {
607 g_atomic_int_inc (&_data4_->_ref_count_);
612 static void block4_data_unref (Block4Data* _data4_) {
613 if (g_atomic_int_dec_and_test (&_data4_->_ref_count_)) {
614 _g_object_unref0 (_data4_->self);
615 g_slice_free (Block4Data, _data4_);
620 static gboolean moonshot_server_get_default_identity_co (MoonshotServerGetDefaultIdentityData* data) {
621 switch (data->_state_) {
625 g_assert_not_reached ();
630 data->_data4_ = g_slice_new0 (Block4Data);
631 data->_data4_->_ref_count_ = 1;
632 data->_data4_->self = g_object_ref (data->self);
633 data->_data4_->_async_data_ = data;
634 data->request = identity_request_new_default (data->self->priv->main_window);
635 identity_request_set_callback (data->request, __lambda5__return_identity_callback, block4_data_ref (data->_data4_), block4_data_unref);
636 identity_request_execute (data->request);
641 data->nai_out = (data->_tmp0_ = g_strdup (""), _g_free0 (data->nai_out), data->_tmp0_);
642 data->password_out = (data->_tmp1_ = g_strdup (""), _g_free0 (data->password_out), data->_tmp1_);
643 data->server_certificate_hash = (data->_tmp2_ = g_strdup (""), _g_free0 (data->server_certificate_hash), data->_tmp2_);
644 data->ca_certificate = (data->_tmp3_ = g_strdup (""), _g_free0 (data->ca_certificate), data->_tmp3_);
645 data->subject_name_constraint = (data->_tmp4_ = g_strdup (""), _g_free0 (data->subject_name_constraint), data->_tmp4_);
646 data->subject_alt_name_constraint = (data->_tmp5_ = g_strdup (""), _g_free0 (data->subject_alt_name_constraint), data->_tmp5_);
647 if (data->request->id_card != NULL) {
648 data->nai_out = (data->_tmp6_ = g_strdup (id_card_get_nai (data->request->id_card)), _g_free0 (data->nai_out), data->_tmp6_);
649 data->password_out = (data->_tmp7_ = g_strdup (id_card_get_password (data->request->id_card)), _g_free0 (data->password_out), data->_tmp7_);
650 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_);
651 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_);
652 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_);
653 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_);
654 if (data->nai_out == NULL) {
655 data->nai_out = (data->_tmp12_ = g_strdup (""), _g_free0 (data->nai_out), data->_tmp12_);
657 if (data->password_out == NULL) {
658 data->password_out = (data->_tmp13_ = g_strdup (""), _g_free0 (data->password_out), data->_tmp13_);
660 if (data->server_certificate_hash == NULL) {
661 data->server_certificate_hash = (data->_tmp14_ = g_strdup (""), _g_free0 (data->server_certificate_hash), data->_tmp14_);
663 if (data->ca_certificate == NULL) {
664 data->ca_certificate = (data->_tmp15_ = g_strdup (""), _g_free0 (data->ca_certificate), data->_tmp15_);
666 if (data->subject_name_constraint == NULL) {
667 data->subject_name_constraint = (data->_tmp16_ = g_strdup (""), _g_free0 (data->subject_name_constraint), data->_tmp16_);
669 if (data->subject_alt_name_constraint == NULL) {
670 data->subject_alt_name_constraint = (data->_tmp17_ = g_strdup (""), _g_free0 (data->subject_alt_name_constraint), data->_tmp17_);
673 _g_object_unref0 (data->request);
674 block4_data_unref (data->_data4_);
676 if (data->_state_ == 0) {
677 g_simple_async_result_complete_in_idle (data->_async_result);
679 g_simple_async_result_complete (data->_async_result);
681 g_object_unref (data->_async_result);
685 data->result = FALSE;
686 _g_object_unref0 (data->request);
687 block4_data_unref (data->_data4_);
689 if (data->_state_ == 0) {
690 g_simple_async_result_complete_in_idle (data->_async_result);
692 g_simple_async_result_complete (data->_async_result);
694 g_object_unref (data->_async_result);
697 _g_object_unref0 (data->request);
698 block4_data_unref (data->_data4_);
700 if (data->_state_ == 0) {
701 g_simple_async_result_complete_in_idle (data->_async_result);
703 g_simple_async_result_complete (data->_async_result);
705 g_object_unref (data->_async_result);
711 static void _vala_Rule_array_free (Rule* array, gint array_length) {
714 for (i = 0; i < array_length; i = i + 1) {
715 rule_destroy (&array[i]);
722 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) {
723 gboolean result = FALSE;
726 g_return_val_if_fail (self != NULL, FALSE);
727 g_return_val_if_fail (display_name != NULL, FALSE);
728 g_return_val_if_fail (user_name != NULL, FALSE);
729 g_return_val_if_fail (password != NULL, FALSE);
730 g_return_val_if_fail (realm != NULL, FALSE);
731 g_return_val_if_fail (ca_cert != NULL, FALSE);
732 g_return_val_if_fail (subject != NULL, FALSE);
733 g_return_val_if_fail (subject_alt != NULL, FALSE);
734 g_return_val_if_fail (server_cert != NULL, FALSE);
735 idcard = id_card_new ();
736 id_card_set_display_name (idcard, display_name);
737 id_card_set_username (idcard, user_name);
738 id_card_set_password (idcard, password);
739 id_card_set_issuer (idcard, realm);
741 id_card_set_services (idcard, _tmp0_, services_length1);
742 trust_anchor_set_ca_cert (id_card_get_trust_anchor (idcard), ca_cert);
743 trust_anchor_set_subject (id_card_get_trust_anchor (idcard), subject);
744 trust_anchor_set_subject_alt (id_card_get_trust_anchor (idcard), subject_alt);
745 trust_anchor_set_server_cert (id_card_get_trust_anchor (idcard), server_cert);
746 if (rules_patterns_length1 == rules_always_confirm_length1) {
750 _tmp2_ = (_tmp1_ = g_new0 (Rule, rules_patterns_length1), _tmp1__length1 = rules_patterns_length1, _tmp1_);
751 id_card_set_rules (idcard, _tmp2_, rules_patterns_length1);
752 _tmp1_ = (_vala_Rule_array_free (_tmp1_, _tmp1__length1), NULL);
774 _tmp6_ = &id_card_get_rules (idcard, &_tmp5_)[i].pattern;
775 (*_tmp6_) = (_tmp7_ = g_strdup (rules_patterns[i]), _g_free0 ((*_tmp6_)), _tmp7_);
776 _tmp9_ = &id_card_get_rules (idcard, &_tmp8_)[i].always_confirm;
777 (*_tmp9_) = (_tmp10_ = g_strdup (rules_always_confirm[i]), _g_free0 ((*_tmp9_)), _tmp10_);
782 result = identity_manager_view_add_identity (self->priv->main_window, idcard);
783 _g_object_unref0 (idcard);
788 gboolean moonshot_server_install_from_file (MoonshotServer* self, const char* file_name) {
789 gboolean result = FALSE;
790 WebProvisioningParser* webp;
792 g_return_val_if_fail (self != NULL, FALSE);
793 g_return_val_if_fail (file_name != NULL, FALSE);
794 webp = web_provisioning_parser_new (file_name);
795 web_provisioning_parser_parse (webp);
798 IdCard** card_collection;
799 int card_collection_length1;
801 card_collection = web_provisioning_cards;
802 card_collection_length1 = web_provisioning_cards_length1;
803 for (card_it = 0; card_it < web_provisioning_cards_length1; card_it = card_it + 1) {
805 card = _g_object_ref0 (card_collection[card_it]);
807 gint rules_patterns_length1;
808 gint _rules_patterns_size_;
810 char** _tmp0_ = NULL;
811 char** rules_patterns;
812 gint rules_always_confirm_length1;
813 gint _rules_always_confirm_size_;
815 char** _tmp2_ = NULL;
816 char** rules_always_confirm;
819 rules_patterns = (_tmp1_ = (_tmp0_ = g_new0 (char*, 0 + 1), _tmp0_), rules_patterns_length1 = 0, _rules_patterns_size_ = rules_patterns_length1, _tmp1_);
820 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_);
828 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_);
829 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_);
833 int r_collection_length1;
835 r_collection = id_card_get_rules (card, &_tmp9_);
836 r_collection_length1 = _tmp9_;
837 for (r_it = 0; r_it < _tmp9_; r_it = r_it + 1) {
840 r = (rule_copy (&r_collection[r_it], &_tmp12_), _tmp12_);
844 rules_patterns[i] = (_tmp10_ = g_strdup (r.pattern), _g_free0 (rules_patterns[i]), _tmp10_);
845 rules_always_confirm[i] = (_tmp11_ = g_strdup (r.always_confirm), _g_free0 (rules_always_confirm[i]), _tmp11_);
852 _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)));
853 rules_always_confirm = (_vala_array_free (rules_always_confirm, rules_always_confirm_length1, (GDestroyNotify) g_free), NULL);
854 rules_patterns = (_vala_array_free (rules_patterns, rules_patterns_length1, (GDestroyNotify) g_free), NULL);
855 _g_object_unref0 (card);
860 _web_provisioning_parser_unref0 (webp);
865 static void moonshot_server_class_init (MoonshotServerClass * klass) {
866 moonshot_server_parent_class = g_type_class_peek_parent (klass);
867 g_type_class_add_private (klass, sizeof (MoonshotServerPrivate));
868 G_OBJECT_CLASS (klass)->finalize = moonshot_server_finalize;
872 static void moonshot_server_instance_init (MoonshotServer * self) {
873 self->priv = MOONSHOT_SERVER_GET_PRIVATE (self);
877 static void moonshot_server_finalize (GObject* obj) {
878 MoonshotServer * self;
879 self = MOONSHOT_SERVER (obj);
880 _g_object_unref0 (self->priv->main_window);
881 G_OBJECT_CLASS (moonshot_server_parent_class)->finalize (obj);
885 GType moonshot_server_get_type (void) {
886 static volatile gsize moonshot_server_type_id__volatile = 0;
887 if (g_once_init_enter (&moonshot_server_type_id__volatile)) {
888 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 };
889 GType moonshot_server_type_id;
890 moonshot_server_type_id = g_type_register_static (G_TYPE_OBJECT, "MoonshotServer", &g_define_type_info, 0);
891 g_once_init_leave (&moonshot_server_type_id__volatile, moonshot_server_type_id);
893 return moonshot_server_type_id__volatile;
897 static void _dbus_moonshot_server_get_identity (MoonshotServer* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
900 char* password = NULL;
902 char* service = NULL;
904 GVariantIter _arguments_iter;
905 g_variant_iter_init (&_arguments_iter, parameters);
906 _tmp0_ = g_variant_iter_next_value (&_arguments_iter);
907 nai = g_variant_dup_string (_tmp0_, NULL);
908 g_variant_unref (_tmp0_);
909 _tmp1_ = g_variant_iter_next_value (&_arguments_iter);
910 password = g_variant_dup_string (_tmp1_, NULL);
911 g_variant_unref (_tmp1_);
912 _tmp2_ = g_variant_iter_next_value (&_arguments_iter);
913 service = g_variant_dup_string (_tmp2_, NULL);
914 g_variant_unref (_tmp2_);
915 moonshot_server_get_identity (self, nai, password, service, (GAsyncReadyCallback) _dbus_moonshot_server_get_identity_ready, g_object_ref (invocation));
922 static void _dbus_moonshot_server_get_identity_ready (GObject * source_object, GAsyncResult * _res_, gpointer * _user_data_) {
923 GDBusMethodInvocation * invocation;
925 char* nai_out = NULL;
926 char* password_out = NULL;
927 char* server_certificate_hash = NULL;
928 char* ca_certificate = NULL;
929 char* subject_name_constraint = NULL;
930 char* subject_alt_name_constraint = NULL;
933 GVariantBuilder _reply_builder;
934 invocation = _user_data_;
936 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);
937 g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
938 g_variant_builder_add_value (&_reply_builder, g_variant_new_string (nai_out));
940 g_variant_builder_add_value (&_reply_builder, g_variant_new_string (password_out));
941 _g_free0 (password_out);
942 g_variant_builder_add_value (&_reply_builder, g_variant_new_string (server_certificate_hash));
943 _g_free0 (server_certificate_hash);
944 g_variant_builder_add_value (&_reply_builder, g_variant_new_string (ca_certificate));
945 _g_free0 (ca_certificate);
946 g_variant_builder_add_value (&_reply_builder, g_variant_new_string (subject_name_constraint));
947 _g_free0 (subject_name_constraint);
948 g_variant_builder_add_value (&_reply_builder, g_variant_new_string (subject_alt_name_constraint));
949 _g_free0 (subject_alt_name_constraint);
950 g_variant_builder_add_value (&_reply_builder, g_variant_new_boolean (result));
951 _reply = g_variant_builder_end (&_reply_builder);
952 g_dbus_method_invocation_return_value (invocation, _reply);
953 g_object_unref (invocation);
954 g_variant_unref (_reply);
958 static void _dbus_moonshot_server_get_default_identity (MoonshotServer* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
959 GVariantIter _arguments_iter;
960 g_variant_iter_init (&_arguments_iter, parameters);
961 moonshot_server_get_default_identity (self, (GAsyncReadyCallback) _dbus_moonshot_server_get_default_identity_ready, g_object_ref (invocation));
965 static void _dbus_moonshot_server_get_default_identity_ready (GObject * source_object, GAsyncResult * _res_, gpointer * _user_data_) {
966 GDBusMethodInvocation * invocation;
968 char* nai_out = NULL;
969 char* password_out = NULL;
970 char* server_certificate_hash = NULL;
971 char* ca_certificate = NULL;
972 char* subject_name_constraint = NULL;
973 char* subject_alt_name_constraint = NULL;
976 GVariantBuilder _reply_builder;
977 invocation = _user_data_;
979 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);
980 g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
981 g_variant_builder_add_value (&_reply_builder, g_variant_new_string (nai_out));
983 g_variant_builder_add_value (&_reply_builder, g_variant_new_string (password_out));
984 _g_free0 (password_out);
985 g_variant_builder_add_value (&_reply_builder, g_variant_new_string (server_certificate_hash));
986 _g_free0 (server_certificate_hash);
987 g_variant_builder_add_value (&_reply_builder, g_variant_new_string (ca_certificate));
988 _g_free0 (ca_certificate);
989 g_variant_builder_add_value (&_reply_builder, g_variant_new_string (subject_name_constraint));
990 _g_free0 (subject_name_constraint);
991 g_variant_builder_add_value (&_reply_builder, g_variant_new_string (subject_alt_name_constraint));
992 _g_free0 (subject_alt_name_constraint);
993 g_variant_builder_add_value (&_reply_builder, g_variant_new_boolean (result));
994 _reply = g_variant_builder_end (&_reply_builder);
995 g_dbus_method_invocation_return_value (invocation, _reply);
996 g_object_unref (invocation);
997 g_variant_unref (_reply);
1001 static void _dbus_moonshot_server_install_id_card (MoonshotServer* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
1003 char* display_name = NULL;
1005 char* user_name = NULL;
1007 char* password = NULL;
1011 char** rules_patterns = NULL;
1012 int rules_patterns_length1;
1018 GVariantIter _tmp9_;
1020 char** rules_always_confirm = NULL;
1021 int rules_always_confirm_length1;
1026 int _tmp12__length1;
1027 GVariantIter _tmp13_;
1029 char** services = NULL;
1030 int services_length1;
1035 int _tmp16__length1;
1036 GVariantIter _tmp17_;
1038 char* ca_cert = NULL;
1040 char* subject = NULL;
1042 char* subject_alt = NULL;
1044 char* server_cert = NULL;
1047 GVariantIter _arguments_iter;
1049 GVariantBuilder _reply_builder;
1051 g_variant_iter_init (&_arguments_iter, parameters);
1052 _tmp3_ = g_variant_iter_next_value (&_arguments_iter);
1053 display_name = g_variant_dup_string (_tmp3_, NULL);
1054 g_variant_unref (_tmp3_);
1055 _tmp4_ = g_variant_iter_next_value (&_arguments_iter);
1056 user_name = g_variant_dup_string (_tmp4_, NULL);
1057 g_variant_unref (_tmp4_);
1058 _tmp5_ = g_variant_iter_next_value (&_arguments_iter);
1059 password = g_variant_dup_string (_tmp5_, NULL);
1060 g_variant_unref (_tmp5_);
1061 _tmp6_ = g_variant_iter_next_value (&_arguments_iter);
1062 realm = g_variant_dup_string (_tmp6_, NULL);
1063 g_variant_unref (_tmp6_);
1064 rules_patterns_length1 = 0;
1065 _tmp7_ = g_variant_iter_next_value (&_arguments_iter);
1066 _tmp8_ = g_new (char*, 5);
1070 g_variant_iter_init (&_tmp9_, _tmp7_);
1071 for (; _tmp10_ = g_variant_iter_next_value (&_tmp9_); _tmp8__length1++) {
1072 if (_tmp8__size == _tmp8__length) {
1073 _tmp8__size = 2 * _tmp8__size;
1074 _tmp8_ = g_renew (char*, _tmp8_, _tmp8__size + 1);
1076 _tmp8_[_tmp8__length++] = g_variant_dup_string (_tmp10_, NULL);
1077 g_variant_unref (_tmp10_);
1079 rules_patterns_length1 = _tmp8__length1;
1080 _tmp8_[_tmp8__length] = NULL;
1081 rules_patterns = _tmp8_;
1082 g_variant_unref (_tmp7_);
1083 rules_always_confirm_length1 = 0;
1084 _tmp11_ = g_variant_iter_next_value (&_arguments_iter);
1085 _tmp12_ = g_new (char*, 5);
1088 _tmp12__length1 = 0;
1089 g_variant_iter_init (&_tmp13_, _tmp11_);
1090 for (; _tmp14_ = g_variant_iter_next_value (&_tmp13_); _tmp12__length1++) {
1091 if (_tmp12__size == _tmp12__length) {
1092 _tmp12__size = 2 * _tmp12__size;
1093 _tmp12_ = g_renew (char*, _tmp12_, _tmp12__size + 1);
1095 _tmp12_[_tmp12__length++] = g_variant_dup_string (_tmp14_, NULL);
1096 g_variant_unref (_tmp14_);
1098 rules_always_confirm_length1 = _tmp12__length1;
1099 _tmp12_[_tmp12__length] = NULL;
1100 rules_always_confirm = _tmp12_;
1101 g_variant_unref (_tmp11_);
1102 services_length1 = 0;
1103 _tmp15_ = g_variant_iter_next_value (&_arguments_iter);
1104 _tmp16_ = g_new (char*, 5);
1107 _tmp16__length1 = 0;
1108 g_variant_iter_init (&_tmp17_, _tmp15_);
1109 for (; _tmp18_ = g_variant_iter_next_value (&_tmp17_); _tmp16__length1++) {
1110 if (_tmp16__size == _tmp16__length) {
1111 _tmp16__size = 2 * _tmp16__size;
1112 _tmp16_ = g_renew (char*, _tmp16_, _tmp16__size + 1);
1114 _tmp16_[_tmp16__length++] = g_variant_dup_string (_tmp18_, NULL);
1115 g_variant_unref (_tmp18_);
1117 services_length1 = _tmp16__length1;
1118 _tmp16_[_tmp16__length] = NULL;
1120 g_variant_unref (_tmp15_);
1121 _tmp19_ = g_variant_iter_next_value (&_arguments_iter);
1122 ca_cert = g_variant_dup_string (_tmp19_, NULL);
1123 g_variant_unref (_tmp19_);
1124 _tmp20_ = g_variant_iter_next_value (&_arguments_iter);
1125 subject = g_variant_dup_string (_tmp20_, NULL);
1126 g_variant_unref (_tmp20_);
1127 _tmp21_ = g_variant_iter_next_value (&_arguments_iter);
1128 subject_alt = g_variant_dup_string (_tmp21_, NULL);
1129 g_variant_unref (_tmp21_);
1130 _tmp22_ = g_variant_iter_next_value (&_arguments_iter);
1131 server_cert = g_variant_dup_string (_tmp22_, NULL);
1132 g_variant_unref (_tmp22_);
1133 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);
1134 g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
1135 _g_free0 (display_name);
1136 _g_free0 (user_name);
1137 _g_free0 (password);
1139 rules_patterns = (_vala_array_free (rules_patterns, rules_patterns_length1, (GDestroyNotify) g_free), NULL);
1140 rules_always_confirm = (_vala_array_free (rules_always_confirm, rules_always_confirm_length1, (GDestroyNotify) g_free), NULL);
1141 services = (_vala_array_free (services, services_length1, (GDestroyNotify) g_free), NULL);
1144 _g_free0 (subject_alt);
1145 _g_free0 (server_cert);
1146 g_variant_builder_add_value (&_reply_builder, g_variant_new_boolean (result));
1147 _reply = g_variant_builder_end (&_reply_builder);
1148 g_dbus_method_invocation_return_value (invocation, _reply);
1152 static void _dbus_moonshot_server_install_from_file (MoonshotServer* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
1154 char* file_name = NULL;
1157 GVariantIter _arguments_iter;
1159 GVariantBuilder _reply_builder;
1161 g_variant_iter_init (&_arguments_iter, parameters);
1162 _tmp23_ = g_variant_iter_next_value (&_arguments_iter);
1163 file_name = g_variant_dup_string (_tmp23_, NULL);
1164 g_variant_unref (_tmp23_);
1165 result = moonshot_server_install_from_file (self, file_name);
1166 g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
1167 _g_free0 (file_name);
1168 g_variant_builder_add_value (&_reply_builder, g_variant_new_boolean (result));
1169 _reply = g_variant_builder_end (&_reply_builder);
1170 g_dbus_method_invocation_return_value (invocation, _reply);
1174 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) {
1179 if (strcmp (method_name, "GetIdentity") == 0) {
1180 _dbus_moonshot_server_get_identity (object, parameters, invocation);
1181 } else if (strcmp (method_name, "GetDefaultIdentity") == 0) {
1182 _dbus_moonshot_server_get_default_identity (object, parameters, invocation);
1183 } else if (strcmp (method_name, "InstallIdCard") == 0) {
1184 _dbus_moonshot_server_install_id_card (object, parameters, invocation);
1185 } else if (strcmp (method_name, "InstallFromFile") == 0) {
1186 _dbus_moonshot_server_install_from_file (object, parameters, invocation);
1191 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) {
1200 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) {
1209 guint moonshot_server_register_object (gpointer object, GDBusConnection* connection, const gchar* path, GError** error) {
1212 data = g_new (gpointer, 3);
1213 data[0] = g_object_ref (object);
1214 data[1] = g_object_ref (connection);
1215 data[2] = g_strdup (path);
1216 result = g_dbus_connection_register_object (connection, path, &_moonshot_server_dbus_interface_info, &_moonshot_server_dbus_interface_vtable, data, _moonshot_server_unregister_object, error);
1224 static void _moonshot_server_unregister_object (gpointer user_data) {
1227 g_object_unref (data[0]);
1228 g_object_unref (data[1]);
1234 static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
1235 if ((array != NULL) && (destroy_func != NULL)) {
1237 for (i = 0; i < array_length; i = i + 1) {
1238 if (((gpointer*) array)[i] != NULL) {
1239 destroy_func (((gpointer*) array)[i]);
1246 static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
1247 _vala_array_destroy (array, array_length, destroy_func);