static void skk_map_file_load_map (SkkMapFile* self, GeeMap* map, JsonObject* object) { JsonObject* _tmp0_; GList* _tmp1_ = NULL; GList* keys; GList* _tmp2_; g_return_if_fail (self != NULL); g_return_if_fail (map != NULL); g_return_if_fail (object != NULL); _tmp0_ = object; _tmp1_ = json_object_get_members (_tmp0_); keys = _tmp1_; _tmp2_ = keys; { GList* key_collection = NULL; GList* key_it = NULL; key_collection = _tmp2_; for (key_it = key_collection; key_it != NULL; key_it = key_it->next) { const gchar* key = NULL; key = (const gchar*) key_it->data; { JsonObject* _tmp3_; const gchar* _tmp4_; JsonNode* _tmp5_ = NULL; JsonNode* _tmp6_; JsonNode* value; JsonNode* _tmp7_; JsonNodeType _tmp8_ = 0; _tmp3_ = object; _tmp4_ = key; _tmp5_ = json_object_get_member (_tmp3_, _tmp4_); _tmp6_ = __vala_JsonNode_copy0 (_tmp5_); value = _tmp6_; _tmp7_ = value; _tmp8_ = json_node_get_node_type (_tmp7_); if (_tmp8_ == JSON_NODE_NULL) { GeeMap* _tmp9_; const gchar* _tmp10_; _tmp9_ = map; _tmp10_ = key; gee_map_unset (_tmp9_, _tmp10_, NULL); } else { GeeMap* _tmp11_; const gchar* _tmp12_; JsonNode* _tmp13_; _tmp11_ = map; _tmp12_ = key; _tmp13_ = value; gee_map_set (_tmp11_, _tmp12_, _tmp13_); } __vala_JsonNode_free0 (value); } } } _g_list_free0 (keys); }
static void skk_map_file_load (SkkMapFile* self, const gchar* rule, const gchar* type, const gchar* name, GeeSet* included, GError** error) { const gchar* _tmp0_; SkkRuleMetadata* _tmp1_ = NULL; SkkRuleMetadata* metadata; SkkRuleMetadata* _tmp2_; SkkRuleMetadata* _tmp5_; const gchar* _tmp6_; const gchar* _tmp7_; const gchar* _tmp8_; gchar* _tmp9_; gchar* _tmp10_; gchar* _tmp11_ = NULL; gchar* _tmp12_; gchar* filename; const gchar* _tmp13_; gboolean _tmp14_ = FALSE; JsonParser* _tmp17_; JsonParser* parser; JsonParser* _tmp30_; JsonNode* _tmp31_ = NULL; JsonNode* _tmp32_; JsonNode* root; JsonNode* _tmp33_; JsonNodeType _tmp34_ = 0; JsonNode* _tmp36_; JsonObject* _tmp37_ = NULL; JsonObject* _tmp38_; JsonObject* object; JsonNode* member = NULL; JsonObject* _tmp39_; gboolean _tmp40_ = FALSE; JsonObject* _tmp83_; gboolean _tmp84_ = FALSE; GError * _inner_error_ = NULL; g_return_if_fail (self != NULL); g_return_if_fail (rule != NULL); g_return_if_fail (type != NULL); g_return_if_fail (name != NULL); g_return_if_fail (included != NULL); _tmp0_ = rule; _tmp1_ = skk_rule_find_rule (_tmp0_); metadata = _tmp1_; _tmp2_ = metadata; if (_tmp2_ == NULL) { const gchar* _tmp3_; GError* _tmp4_; _tmp3_ = rule; _tmp4_ = g_error_new (SKK_RULE_PARSE_ERROR, SKK_RULE_PARSE_ERROR_FAILED, "can't find rule %s", _tmp3_); _inner_error_ = _tmp4_; if (_inner_error_->domain == SKK_RULE_PARSE_ERROR) { g_propagate_error (error, _inner_error_); _skk_rule_metadata_free0 (metadata); return; } else { _skk_rule_metadata_free0 (metadata); g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); return; } } _tmp5_ = metadata; _tmp6_ = (*_tmp5_).base_dir; _tmp7_ = type; _tmp8_ = name; _tmp9_ = g_strconcat (_tmp8_, ".json", NULL); _tmp10_ = _tmp9_; _tmp11_ = g_build_filename (_tmp6_, _tmp7_, _tmp10_, NULL); _tmp12_ = _tmp11_; _g_free0 (_tmp10_); filename = _tmp12_; _tmp13_ = filename; _tmp14_ = g_file_test (_tmp13_, G_FILE_TEST_EXISTS); if (!_tmp14_) { const gchar* _tmp15_; GError* _tmp16_; _tmp15_ = filename; _tmp16_ = g_error_new (SKK_RULE_PARSE_ERROR, SKK_RULE_PARSE_ERROR_FAILED, "no such file %s", _tmp15_); _inner_error_ = _tmp16_; if (_inner_error_->domain == SKK_RULE_PARSE_ERROR) { g_propagate_error (error, _inner_error_); _g_free0 (filename); _skk_rule_metadata_free0 (metadata); return; } else { _g_free0 (filename); _skk_rule_metadata_free0 (metadata); g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); return; } } _tmp17_ = json_parser_new (); parser = _tmp17_; { JsonParser* _tmp18_; const gchar* _tmp19_; gboolean _tmp20_ = FALSE; gboolean _tmp21_; _tmp18_ = parser; _tmp19_ = filename; _tmp20_ = json_parser_load_from_file (_tmp18_, _tmp19_, &_inner_error_); _tmp21_ = _tmp20_; if (_inner_error_ != NULL) { goto __catch28_g_error; } if (!_tmp21_) { GError* _tmp22_; _tmp22_ = g_error_new_literal (SKK_RULE_PARSE_ERROR, SKK_RULE_PARSE_ERROR_FAILED, ""); _inner_error_ = _tmp22_; goto __catch28_g_error; } } goto __finally28; __catch28_g_error: { GError* e = NULL; const gchar* _tmp23_; GError* _tmp24_; const gchar* _tmp25_; gchar* _tmp26_ = NULL; gchar* _tmp27_; GError* _tmp28_; GError* _tmp29_; e = _inner_error_; _inner_error_ = NULL; _tmp23_ = filename; _tmp24_ = e; _tmp25_ = _tmp24_->message; _tmp26_ = g_strdup_printf ("can't load %s: %s", _tmp23_, _tmp25_); _tmp27_ = _tmp26_; _tmp28_ = g_error_new_literal (SKK_RULE_PARSE_ERROR, SKK_RULE_PARSE_ERROR_FAILED, _tmp27_); _tmp29_ = _tmp28_; _g_free0 (_tmp27_); _inner_error_ = _tmp29_; _g_error_free0 (e); goto __finally28; } __finally28: if (_inner_error_ != NULL) { if (_inner_error_->domain == SKK_RULE_PARSE_ERROR) { g_propagate_error (error, _inner_error_); _g_object_unref0 (parser); _g_free0 (filename); _skk_rule_metadata_free0 (metadata); return; } else { _g_object_unref0 (parser); _g_free0 (filename); _skk_rule_metadata_free0 (metadata); g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); return; } } _tmp30_ = parser; _tmp31_ = json_parser_get_root (_tmp30_); _tmp32_ = __vala_JsonNode_copy0 (_tmp31_); root = _tmp32_; _tmp33_ = root; _tmp34_ = json_node_get_node_type (_tmp33_); if (_tmp34_ != JSON_NODE_OBJECT) { GError* _tmp35_; _tmp35_ = g_error_new_literal (SKK_RULE_PARSE_ERROR, SKK_RULE_PARSE_ERROR_FAILED, "root element must be an object"); _inner_error_ = _tmp35_; if (_inner_error_->domain == SKK_RULE_PARSE_ERROR) { g_propagate_error (error, _inner_error_); __vala_JsonNode_free0 (root); _g_object_unref0 (parser); _g_free0 (filename); _skk_rule_metadata_free0 (metadata); return; } else { __vala_JsonNode_free0 (root); _g_object_unref0 (parser); _g_free0 (filename); _skk_rule_metadata_free0 (metadata); g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); return; } } _tmp36_ = root; _tmp37_ = json_node_get_object (_tmp36_); _tmp38_ = __vala_JsonObject_copy0 (_tmp37_); object = _tmp38_; _tmp39_ = object; _tmp40_ = json_object_has_member (_tmp39_, "include"); if (_tmp40_) { JsonObject* _tmp41_; JsonNode* _tmp42_ = NULL; JsonNode* _tmp43_; JsonNode* _tmp44_; JsonNodeType _tmp45_ = 0; JsonNode* _tmp47_; JsonArray* _tmp48_ = NULL; JsonArray* _tmp49_; JsonArray* include; JsonArray* _tmp50_; GList* _tmp51_ = NULL; GList* elements; GList* _tmp52_; _tmp41_ = object; _tmp42_ = json_object_get_member (_tmp41_, "include"); _tmp43_ = __vala_JsonNode_copy0 (_tmp42_); __vala_JsonNode_free0 (member); member = _tmp43_; _tmp44_ = member; _tmp45_ = json_node_get_node_type (_tmp44_); if (_tmp45_ != JSON_NODE_ARRAY) { GError* _tmp46_; _tmp46_ = g_error_new_literal (SKK_RULE_PARSE_ERROR, SKK_RULE_PARSE_ERROR_FAILED, "\"include\" element must be an array"); _inner_error_ = _tmp46_; if (_inner_error_->domain == SKK_RULE_PARSE_ERROR) { g_propagate_error (error, _inner_error_); __vala_JsonNode_free0 (member); __vala_JsonObject_free0 (object); __vala_JsonNode_free0 (root); _g_object_unref0 (parser); _g_free0 (filename); _skk_rule_metadata_free0 (metadata); return; } else { __vala_JsonNode_free0 (member); __vala_JsonObject_free0 (object); __vala_JsonNode_free0 (root); _g_object_unref0 (parser); _g_free0 (filename); _skk_rule_metadata_free0 (metadata); g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); return; } } _tmp47_ = member; _tmp48_ = json_node_get_array (_tmp47_); _tmp49_ = __vala_JsonArray_copy0 (_tmp48_); include = _tmp49_; _tmp50_ = include; _tmp51_ = json_array_get_elements (_tmp50_); elements = _tmp51_; _tmp52_ = elements; { GList* element_collection = NULL; GList* element_it = NULL; element_collection = _tmp52_; for (element_it = element_collection; element_it != NULL; element_it = element_it->next) { JsonNode* element = NULL; element = (JsonNode*) element_it->data; { JsonNode* _tmp53_; const gchar* _tmp54_ = NULL; gchar* _tmp55_; gchar* parent; GeeSet* _tmp56_; const gchar* _tmp57_; gboolean _tmp58_ = FALSE; const gchar* _tmp61_; gint _tmp62_ = 0; gint index; gint _tmp63_; GeeSet* _tmp81_; const gchar* _tmp82_; _tmp53_ = element; _tmp54_ = json_node_get_string (_tmp53_); _tmp55_ = g_strdup (_tmp54_); parent = _tmp55_; _tmp56_ = included; _tmp57_ = parent; _tmp58_ = gee_collection_contains ((GeeCollection*) _tmp56_, _tmp57_); if (_tmp58_) { const gchar* _tmp59_; GError* _tmp60_; _tmp59_ = parent; _tmp60_ = g_error_new (SKK_RULE_PARSE_ERROR, SKK_RULE_PARSE_ERROR_FAILED, "found circular include of %s", _tmp59_); _inner_error_ = _tmp60_; if (_inner_error_->domain == SKK_RULE_PARSE_ERROR) { g_propagate_error (error, _inner_error_); _g_free0 (parent); _g_list_free0 (elements); __vala_JsonArray_free0 (include); __vala_JsonNode_free0 (member); __vala_JsonObject_free0 (object); __vala_JsonNode_free0 (root); _g_object_unref0 (parser); _g_free0 (filename); _skk_rule_metadata_free0 (metadata); return; } else { _g_free0 (parent); _g_list_free0 (elements); __vala_JsonArray_free0 (include); __vala_JsonNode_free0 (member); __vala_JsonObject_free0 (object); __vala_JsonNode_free0 (root); _g_object_unref0 (parser); _g_free0 (filename); _skk_rule_metadata_free0 (metadata); g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); return; } } _tmp61_ = parent; _tmp62_ = string_index_of (_tmp61_, "/", 0); index = _tmp62_; _tmp63_ = index; if (_tmp63_ < 0) { const gchar* _tmp64_; const gchar* _tmp65_; const gchar* _tmp66_; GeeSet* _tmp67_; _tmp64_ = rule; _tmp65_ = type; _tmp66_ = parent; _tmp67_ = included; skk_map_file_load (self, _tmp64_, _tmp65_, _tmp66_, _tmp67_, &_inner_error_); if (_inner_error_ != NULL) { if (_inner_error_->domain == SKK_RULE_PARSE_ERROR) { g_propagate_error (error, _inner_error_); _g_free0 (parent); _g_list_free0 (elements); __vala_JsonArray_free0 (include); __vala_JsonNode_free0 (member); __vala_JsonObject_free0 (object); __vala_JsonNode_free0 (root); _g_object_unref0 (parser); _g_free0 (filename); _skk_rule_metadata_free0 (metadata); return; } else { _g_free0 (parent); _g_list_free0 (elements); __vala_JsonArray_free0 (include); __vala_JsonNode_free0 (member); __vala_JsonObject_free0 (object); __vala_JsonNode_free0 (root); _g_object_unref0 (parser); _g_free0 (filename); _skk_rule_metadata_free0 (metadata); g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); return; } } } else { const gchar* _tmp68_; gint _tmp69_; gchar* _tmp70_ = NULL; gchar* _tmp71_; const gchar* _tmp72_; const gchar* _tmp73_; gint _tmp74_; const gchar* _tmp75_; gint _tmp76_; gint _tmp77_; gchar* _tmp78_ = NULL; gchar* _tmp79_; GeeSet* _tmp80_; _tmp68_ = parent; _tmp69_ = index; _tmp70_ = string_slice (_tmp68_, (glong) 0, (glong) _tmp69_); _tmp71_ = _tmp70_; _tmp72_ = type; _tmp73_ = parent; _tmp74_ = index; _tmp75_ = parent; _tmp76_ = strlen (_tmp75_); _tmp77_ = _tmp76_; _tmp78_ = string_slice (_tmp73_, (glong) (_tmp74_ + 1), (glong) _tmp77_); _tmp79_ = _tmp78_; _tmp80_ = included; skk_map_file_load (self, _tmp71_, _tmp72_, _tmp79_, _tmp80_, &_inner_error_); _g_free0 (_tmp79_); _g_free0 (_tmp71_); if (_inner_error_ != NULL) { if (_inner_error_->domain == SKK_RULE_PARSE_ERROR) { g_propagate_error (error, _inner_error_); _g_free0 (parent); _g_list_free0 (elements); __vala_JsonArray_free0 (include); __vala_JsonNode_free0 (member); __vala_JsonObject_free0 (object); __vala_JsonNode_free0 (root); _g_object_unref0 (parser); _g_free0 (filename); _skk_rule_metadata_free0 (metadata); return; } else { _g_free0 (parent); _g_list_free0 (elements); __vala_JsonArray_free0 (include); __vala_JsonNode_free0 (member); __vala_JsonObject_free0 (object); __vala_JsonNode_free0 (root); _g_object_unref0 (parser); _g_free0 (filename); _skk_rule_metadata_free0 (metadata); g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); return; } } } _tmp81_ = included; _tmp82_ = parent; gee_collection_add ((GeeCollection*) _tmp81_, _tmp82_); _g_free0 (parent); } } } _g_list_free0 (elements); __vala_JsonArray_free0 (include); } _tmp83_ = object; _tmp84_ = json_object_has_member (_tmp83_, "define"); if (_tmp84_) { JsonObject* _tmp85_; JsonNode* _tmp86_ = NULL; JsonNode* _tmp87_; JsonNode* _tmp88_; JsonNodeType _tmp89_ = 0; JsonNode* _tmp91_; JsonObject* _tmp92_ = NULL; JsonObject* _tmp93_; JsonObject* define; JsonObject* _tmp94_; GList* _tmp95_ = NULL; GList* keys; GList* _tmp96_; _tmp85_ = object; _tmp86_ = json_object_get_member (_tmp85_, "define"); _tmp87_ = __vala_JsonNode_copy0 (_tmp86_); __vala_JsonNode_free0 (member); member = _tmp87_; _tmp88_ = member; _tmp89_ = json_node_get_node_type (_tmp88_); if (_tmp89_ != JSON_NODE_OBJECT) { GError* _tmp90_; _tmp90_ = g_error_new_literal (SKK_RULE_PARSE_ERROR, SKK_RULE_PARSE_ERROR_FAILED, "\"define\" element must be an object"); _inner_error_ = _tmp90_; if (_inner_error_->domain == SKK_RULE_PARSE_ERROR) { g_propagate_error (error, _inner_error_); __vala_JsonNode_free0 (member); __vala_JsonObject_free0 (object); __vala_JsonNode_free0 (root); _g_object_unref0 (parser); _g_free0 (filename); _skk_rule_metadata_free0 (metadata); return; } else { __vala_JsonNode_free0 (member); __vala_JsonObject_free0 (object); __vala_JsonNode_free0 (root); _g_object_unref0 (parser); _g_free0 (filename); _skk_rule_metadata_free0 (metadata); g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); return; } } _tmp91_ = member; _tmp92_ = json_node_get_object (_tmp91_); _tmp93_ = __vala_JsonObject_copy0 (_tmp92_); define = _tmp93_; _tmp94_ = define; _tmp95_ = json_object_get_members (_tmp94_); keys = _tmp95_; _tmp96_ = keys; { GList* key_collection = NULL; GList* key_it = NULL; key_collection = _tmp96_; for (key_it = key_collection; key_it != NULL; key_it = key_it->next) { const gchar* key = NULL; key = (const gchar*) key_it->data; { GeeMap* _tmp97_; const gchar* _tmp98_; gboolean _tmp99_ = FALSE; JsonObject* _tmp104_; const gchar* _tmp105_; JsonNode* _tmp106_ = NULL; JsonNode* _tmp107_; JsonNode* _tmp108_; JsonNodeType _tmp109_ = 0; GeeMap* _tmp111_; const gchar* _tmp112_; gpointer _tmp113_ = NULL; GeeMap* _tmp114_; JsonNode* _tmp115_; JsonObject* _tmp116_ = NULL; _tmp97_ = self->priv->maps; _tmp98_ = key; _tmp99_ = gee_map_has_key (_tmp97_, _tmp98_); if (!_tmp99_) { GeeHashMap* _tmp100_; GeeHashMap* map; GeeMap* _tmp101_; const gchar* _tmp102_; GeeHashMap* _tmp103_; _tmp100_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, json_node_get_type (), (GBoxedCopyFunc) _vala_JsonNode_copy, _vala_JsonNode_free, NULL, NULL, NULL); map = _tmp100_; _tmp101_ = self->priv->maps; _tmp102_ = key; _tmp103_ = map; gee_map_set (_tmp101_, _tmp102_, (GeeMap*) _tmp103_); _g_object_unref0 (map); } _tmp104_ = define; _tmp105_ = key; _tmp106_ = json_object_get_member (_tmp104_, _tmp105_); _tmp107_ = __vala_JsonNode_copy0 (_tmp106_); __vala_JsonNode_free0 (member); member = _tmp107_; _tmp108_ = member; _tmp109_ = json_node_get_node_type (_tmp108_); if (_tmp109_ != JSON_NODE_OBJECT) { GError* _tmp110_; _tmp110_ = g_error_new_literal (SKK_RULE_PARSE_ERROR, SKK_RULE_PARSE_ERROR_FAILED, "map element must be an object"); _inner_error_ = _tmp110_; if (_inner_error_->domain == SKK_RULE_PARSE_ERROR) { g_propagate_error (error, _inner_error_); _g_list_free0 (keys); __vala_JsonObject_free0 (define); __vala_JsonNode_free0 (member); __vala_JsonObject_free0 (object); __vala_JsonNode_free0 (root); _g_object_unref0 (parser); _g_free0 (filename); _skk_rule_metadata_free0 (metadata); return; } else { _g_list_free0 (keys); __vala_JsonObject_free0 (define); __vala_JsonNode_free0 (member); __vala_JsonObject_free0 (object); __vala_JsonNode_free0 (root); _g_object_unref0 (parser); _g_free0 (filename); _skk_rule_metadata_free0 (metadata); g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); return; } } _tmp111_ = self->priv->maps; _tmp112_ = key; _tmp113_ = gee_map_get (_tmp111_, _tmp112_); _tmp114_ = (GeeMap*) _tmp113_; _tmp115_ = member; _tmp116_ = json_node_get_object (_tmp115_); skk_map_file_load_map (self, _tmp114_, _tmp116_); _g_object_unref0 (_tmp114_); } } } _g_list_free0 (keys); __vala_JsonObject_free0 (define); } __vala_JsonNode_free0 (member); __vala_JsonObject_free0 (object); __vala_JsonNode_free0 (root); _g_object_unref0 (parser); _g_free0 (filename); _skk_rule_metadata_free0 (metadata); }
static void kkc_user_rule_write_files (KkcRuleMetadata* parent, const gchar* path, const gchar* name, GError** error) { JsonGenerator* generator = NULL; JsonGenerator* _tmp0_ = NULL; JsonGenerator* _tmp1_ = NULL; const gchar* _tmp2_ = NULL; JsonBuilder* metadata_builder = NULL; KkcRuleMetadata* _tmp3_ = NULL; const gchar* _tmp4_ = NULL; JsonBuilder* _tmp5_ = NULL; JsonGenerator* _tmp6_ = NULL; JsonBuilder* _tmp7_ = NULL; JsonNode* _tmp8_ = NULL; JsonNode* _tmp9_ = NULL; gchar* metadata_filename = NULL; const gchar* _tmp10_ = NULL; gchar* _tmp11_ = NULL; JsonGenerator* _tmp12_ = NULL; const gchar* _tmp13_ = NULL; gchar* keymap_path = NULL; const gchar* _tmp14_ = NULL; gchar* _tmp15_ = NULL; const gchar* _tmp16_ = NULL; GEnumClass* enum_class = NULL; GTypeClass* _tmp17_ = NULL; gchar* rom_kana_path = NULL; const gchar* _tmp46_ = NULL; gchar* _tmp47_ = NULL; const gchar* _tmp48_ = NULL; JsonBuilder* rom_kana_builder = NULL; KkcRuleMetadata* _tmp49_ = NULL; JsonBuilder* _tmp50_ = NULL; JsonGenerator* _tmp51_ = NULL; JsonBuilder* _tmp52_ = NULL; JsonNode* _tmp53_ = NULL; JsonNode* _tmp54_ = NULL; gchar* rom_kana_filename = NULL; const gchar* _tmp55_ = NULL; gchar* _tmp56_ = NULL; JsonGenerator* _tmp57_ = NULL; const gchar* _tmp58_ = NULL; GError * _inner_error_ = NULL; g_return_if_fail (parent != NULL); g_return_if_fail (path != NULL); g_return_if_fail (name != NULL); _tmp0_ = json_generator_new (); generator = _tmp0_; _tmp1_ = generator; json_generator_set_pretty (_tmp1_, TRUE); _tmp2_ = path; g_mkdir_with_parents (_tmp2_, 448); _tmp3_ = parent; _tmp4_ = name; _tmp5_ = kkc_user_rule_create_metadata (_tmp3_, _tmp4_); metadata_builder = _tmp5_; _tmp6_ = generator; _tmp7_ = metadata_builder; _tmp8_ = json_builder_get_root (_tmp7_); _tmp9_ = _tmp8_; json_generator_set_root (_tmp6_, _tmp9_); __vala_JsonNode_free0 (_tmp9_); _tmp10_ = path; _tmp11_ = g_build_filename (_tmp10_, "metadata.json", NULL); metadata_filename = _tmp11_; _tmp12_ = generator; _tmp13_ = metadata_filename; json_generator_to_file (_tmp12_, _tmp13_, &_inner_error_); if (G_UNLIKELY (_inner_error_ != NULL)) { g_propagate_error (error, _inner_error_); _g_free0 (metadata_filename); _g_object_unref0 (metadata_builder); _g_object_unref0 (generator); return; } _tmp14_ = path; _tmp15_ = g_build_filename (_tmp14_, "keymap", NULL); keymap_path = _tmp15_; _tmp16_ = keymap_path; g_mkdir_with_parents (_tmp16_, 448); _tmp17_ = g_type_class_ref (KKC_TYPE_INPUT_MODE); enum_class = (GEnumClass*) _tmp17_; { gint i = 0; GEnumClass* _tmp18_ = NULL; gint _tmp19_ = 0; _tmp18_ = enum_class; _tmp19_ = _tmp18_->minimum; i = _tmp19_; { gboolean _tmp20_ = FALSE; _tmp20_ = TRUE; while (TRUE) { gint _tmp22_ = 0; GEnumClass* _tmp23_ = NULL; gint _tmp24_ = 0; GEnumValue* enum_value = NULL; GEnumClass* _tmp25_ = NULL; gint _tmp26_ = 0; GEnumValue* _tmp27_ = NULL; GEnumValue* _tmp28_ = NULL; JsonBuilder* keymap_builder = NULL; KkcRuleMetadata* _tmp29_ = NULL; GEnumValue* _tmp30_ = NULL; const gchar* _tmp31_ = NULL; JsonBuilder* _tmp32_ = NULL; JsonGenerator* _tmp33_ = NULL; JsonBuilder* _tmp34_ = NULL; JsonNode* _tmp35_ = NULL; JsonNode* _tmp36_ = NULL; gchar* keymap_filename = NULL; const gchar* _tmp37_ = NULL; GEnumValue* _tmp38_ = NULL; const gchar* _tmp39_ = NULL; gchar* _tmp40_ = NULL; gchar* _tmp41_ = NULL; gchar* _tmp42_ = NULL; gchar* _tmp43_ = NULL; JsonGenerator* _tmp44_ = NULL; const gchar* _tmp45_ = NULL; if (!_tmp20_) { gint _tmp21_ = 0; _tmp21_ = i; i = _tmp21_ + 1; } _tmp20_ = FALSE; _tmp22_ = i; _tmp23_ = enum_class; _tmp24_ = _tmp23_->maximum; if (!(_tmp22_ <= _tmp24_)) { break; } _tmp25_ = enum_class; _tmp26_ = i; _tmp27_ = g_enum_get_value (_tmp25_, _tmp26_); _tmp28_ = __g_enum_value_dup0 (_tmp27_); enum_value = _tmp28_; _tmp29_ = parent; _tmp30_ = enum_value; _tmp31_ = (*_tmp30_).value_nick; _tmp32_ = kkc_user_rule_create_keymap (_tmp29_, _tmp31_, NULL); keymap_builder = _tmp32_; _tmp33_ = generator; _tmp34_ = keymap_builder; _tmp35_ = json_builder_get_root (_tmp34_); _tmp36_ = _tmp35_; json_generator_set_root (_tmp33_, _tmp36_); __vala_JsonNode_free0 (_tmp36_); _tmp37_ = keymap_path; _tmp38_ = enum_value; _tmp39_ = (*_tmp38_).value_nick; _tmp40_ = g_strdup_printf ("%s.json", _tmp39_); _tmp41_ = _tmp40_; _tmp42_ = g_build_filename (_tmp37_, _tmp41_, NULL); _tmp43_ = _tmp42_; _g_free0 (_tmp41_); keymap_filename = _tmp43_; _tmp44_ = generator; _tmp45_ = keymap_filename; json_generator_to_file (_tmp44_, _tmp45_, &_inner_error_); if (G_UNLIKELY (_inner_error_ != NULL)) { g_propagate_error (error, _inner_error_); _g_free0 (keymap_filename); _g_object_unref0 (keymap_builder); _g_free0 (enum_value); _g_type_class_unref0 (enum_class); _g_free0 (keymap_path); _g_free0 (metadata_filename); _g_object_unref0 (metadata_builder); _g_object_unref0 (generator); return; } _g_free0 (keymap_filename); _g_object_unref0 (keymap_builder); _g_free0 (enum_value); } } } _tmp46_ = path; _tmp47_ = g_build_filename (_tmp46_, "rom-kana", NULL); rom_kana_path = _tmp47_; _tmp48_ = rom_kana_path; g_mkdir_with_parents (_tmp48_, 448); _tmp49_ = parent; _tmp50_ = kkc_user_rule_create_rom_kana (_tmp49_, "default"); rom_kana_builder = _tmp50_; _tmp51_ = generator; _tmp52_ = rom_kana_builder; _tmp53_ = json_builder_get_root (_tmp52_); _tmp54_ = _tmp53_; json_generator_set_root (_tmp51_, _tmp54_); __vala_JsonNode_free0 (_tmp54_); _tmp55_ = rom_kana_path; _tmp56_ = g_build_filename (_tmp55_, "default.json", NULL); rom_kana_filename = _tmp56_; _tmp57_ = generator; _tmp58_ = rom_kana_filename; json_generator_to_file (_tmp57_, _tmp58_, &_inner_error_); if (G_UNLIKELY (_inner_error_ != NULL)) { g_propagate_error (error, _inner_error_); _g_free0 (rom_kana_filename); _g_object_unref0 (rom_kana_builder); _g_free0 (rom_kana_path); _g_type_class_unref0 (enum_class); _g_free0 (keymap_path); _g_free0 (metadata_filename); _g_object_unref0 (metadata_builder); _g_object_unref0 (generator); return; } _g_free0 (rom_kana_filename); _g_object_unref0 (rom_kana_builder); _g_free0 (rom_kana_path); _g_type_class_unref0 (enum_class); _g_free0 (keymap_path); _g_free0 (metadata_filename); _g_object_unref0 (metadata_builder); _g_object_unref0 (generator); }
/** * Save keymap for given input mode. * * @param input_mode input mode */ void kkc_user_rule_write (KkcUserRule* self, KkcInputMode input_mode, GError** error) { GEnumClass* enum_class = NULL; GTypeClass* _tmp0_ = NULL; gchar* keymap_name = NULL; KkcInputMode _tmp1_ = 0; GEnumValue* _tmp2_ = NULL; const gchar* _tmp3_ = NULL; gchar* _tmp4_ = NULL; gchar* keymap_path = NULL; const gchar* _tmp5_ = NULL; gchar* _tmp6_ = NULL; JsonGenerator* generator = NULL; JsonGenerator* _tmp7_ = NULL; JsonBuilder* builder = NULL; KkcRuleMetadata* _tmp8_ = NULL; KkcInputMode _tmp9_ = 0; KkcKeymap* _tmp10_ = NULL; KkcKeymap* _tmp11_ = NULL; JsonBuilder* _tmp12_ = NULL; JsonBuilder* _tmp13_ = NULL; JsonNode* _tmp14_ = NULL; JsonNode* _tmp15_ = NULL; gchar* filename = NULL; gchar* _tmp16_ = NULL; gchar* _tmp17_ = NULL; gchar* _tmp18_ = NULL; gchar* _tmp19_ = NULL; GError * _inner_error_ = NULL; g_return_if_fail (self != NULL); _tmp0_ = g_type_class_ref (KKC_TYPE_INPUT_MODE); enum_class = (GEnumClass*) _tmp0_; _tmp1_ = input_mode; _tmp2_ = g_enum_get_value (enum_class, (gint) _tmp1_); _tmp3_ = (*_tmp2_).value_nick; _tmp4_ = g_strdup (_tmp3_); keymap_name = _tmp4_; _tmp5_ = self->priv->path; _tmp6_ = g_build_filename (_tmp5_, "keymap", NULL); keymap_path = _tmp6_; g_mkdir_with_parents (keymap_path, 448); _tmp7_ = json_generator_new (); generator = _tmp7_; json_generator_set_pretty (generator, TRUE); _tmp8_ = self->priv->parent; _tmp9_ = input_mode; _tmp10_ = kkc_rule_get_keymap ((KkcRule*) self, _tmp9_); _tmp11_ = _tmp10_; _tmp12_ = kkc_user_rule_create_keymap (_tmp8_, keymap_name, _tmp11_); _tmp13_ = _tmp12_; _g_object_unref0 (_tmp11_); builder = _tmp13_; _tmp14_ = json_builder_get_root (builder); _tmp15_ = _tmp14_; json_generator_set_root (generator, _tmp15_); __vala_JsonNode_free0 (_tmp15_); _tmp16_ = g_strdup_printf ("%s.json", keymap_name); _tmp17_ = _tmp16_; _tmp18_ = g_build_filename (keymap_path, _tmp17_, NULL); _tmp19_ = _tmp18_; _g_free0 (_tmp17_); filename = _tmp19_; json_generator_to_file (generator, filename, &_inner_error_); if (G_UNLIKELY (_inner_error_ != NULL)) { g_propagate_error (error, _inner_error_); _g_free0 (filename); _g_object_unref0 (builder); _g_object_unref0 (generator); _g_free0 (keymap_path); _g_free0 (keymap_name); _g_type_class_unref0 (enum_class); return; } _g_free0 (filename); _g_object_unref0 (builder); _g_object_unref0 (generator); _g_free0 (keymap_path); _g_free0 (keymap_name); _g_type_class_unref0 (enum_class); }
static void docker_gui_get_containers (DockerGui* self, GtkListStore* listmodel) { GtkTreeIter iter = {0}; gchar* uri = NULL; gchar* _tmp0_ = NULL; SoupSession* session = NULL; SoupSession* _tmp1_ = NULL; SoupMessage* message = NULL; SoupMessage* _tmp2_ = NULL; JsonParser* parser = NULL; JsonParser* _tmp3_ = NULL; SoupMessageBody* _tmp4_ = NULL; SoupBuffer* _tmp5_ = NULL; SoupBuffer* _tmp6_ = NULL; guint8* _tmp7_ = NULL; gint _tmp7__length1 = 0; JsonArray* jsonContainers = NULL; JsonNode* _tmp8_ = NULL; JsonArray* _tmp9_ = NULL; JsonArray* _tmp10_ = NULL; JsonArray* _tmp11_ = NULL; GList* _tmp12_ = NULL; GError * _inner_error_ = NULL; g_return_if_fail (self != NULL); g_return_if_fail (listmodel != NULL); _tmp0_ = g_strdup ("http://localhost:5555/containers/json"); uri = _tmp0_; _tmp1_ = soup_session_new (); session = _tmp1_; _tmp2_ = soup_message_new ("GET", uri); message = _tmp2_; soup_session_send_message (session, message); _tmp3_ = json_parser_new (); parser = _tmp3_; _tmp4_ = message->response_body; _tmp5_ = soup_message_body_flatten (_tmp4_); _tmp6_ = _tmp5_; _tmp7_ = _tmp6_->data; _tmp7__length1 = (gint) _tmp6_->length; json_parser_load_from_data (parser, (const gchar*) _tmp7_, (gssize) (-1), &_inner_error_); __vala_SoupBuffer_free0 (_tmp6_); if (G_UNLIKELY (_inner_error_ != NULL)) { _g_object_unref0 (parser); _g_object_unref0 (message); _g_object_unref0 (session); _g_free0 (uri); g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); return; } _tmp8_ = json_parser_get_root (parser); _tmp9_ = json_node_get_array (_tmp8_); _tmp10_ = _json_array_ref0 (_tmp9_); jsonContainers = _tmp10_; _tmp11_ = jsonContainers; _tmp12_ = json_array_get_elements (_tmp11_); { GList* c_collection = NULL; GList* c_it = NULL; c_collection = _tmp12_; for (c_it = c_collection; c_it != NULL; c_it = c_it->next) { JsonNode* _tmp13_ = NULL; JsonNode* c = NULL; _tmp13_ = __vala_JsonNode_copy0 ((JsonNode*) c_it->data); c = _tmp13_; { JsonObject* o = NULL; JsonNode* _tmp14_ = NULL; JsonObject* _tmp15_ = NULL; JsonObject* _tmp16_ = NULL; gchar* Id = NULL; JsonObject* _tmp17_ = NULL; const gchar* _tmp18_ = NULL; gchar* _tmp19_ = NULL; gchar* Image = NULL; JsonObject* _tmp20_ = NULL; const gchar* _tmp21_ = NULL; gchar* _tmp22_ = NULL; FILE* _tmp23_ = NULL; const gchar* _tmp24_ = NULL; const gchar* _tmp25_ = NULL; GtkListStore* _tmp26_ = NULL; GtkTreeIter _tmp27_ = {0}; GtkListStore* _tmp28_ = NULL; GtkTreeIter _tmp29_ = {0}; const gchar* _tmp30_ = NULL; const gchar* _tmp31_ = NULL; _tmp14_ = c; _tmp15_ = json_node_get_object (_tmp14_); _tmp16_ = _json_object_ref0 (_tmp15_); o = _tmp16_; _tmp17_ = o; _tmp18_ = json_object_get_string_member (_tmp17_, "Id"); _tmp19_ = g_strdup (_tmp18_); Id = _tmp19_; _tmp20_ = o; _tmp21_ = json_object_get_string_member (_tmp20_, "Image"); _tmp22_ = g_strdup (_tmp21_); Image = _tmp22_; _tmp23_ = stdout; _tmp24_ = Id; _tmp25_ = Image; fprintf (_tmp23_, "%s - %s\n", _tmp24_, _tmp25_); _tmp26_ = listmodel; gtk_list_store_append (_tmp26_, &_tmp27_); iter = _tmp27_; _tmp28_ = listmodel; _tmp29_ = iter; _tmp30_ = Id; _tmp31_ = Image; gtk_list_store_set (_tmp28_, &_tmp29_, 0, _tmp30_, 1, _tmp31_, -1); _g_free0 (Image); _g_free0 (Id); _json_object_unref0 (o); __vala_JsonNode_free0 (c); } } _g_list_free0 (c_collection); } _json_array_unref0 (jsonContainers); _g_object_unref0 (parser); _g_object_unref0 (message); _g_object_unref0 (session); _g_free0 (uri); }