static void rygel_external_container_update_container (RygelExternalContainer* self, GError** error) {
#line 794 "rygel-external-container.c"
	char** _tmp1_;
	gint _obj_paths_size_;
	gint obj_paths_length1;
	gint _tmp0_;
	char** obj_paths;
#line 170 "rygel-external-container.vala"
	g_return_if_fail (self != NULL);
#line 171 "rygel-external-container.vala"
	gee_abstract_collection_clear ((GeeAbstractCollection*) self->priv->containers);
#line 804 "rygel-external-container.c"
	obj_paths = (_tmp1_ = rygel_external_media_container_get_containers (self->actual_container, &_tmp0_), obj_paths_length1 = _tmp0_, _obj_paths_size_ = obj_paths_length1, _tmp1_);
	{
		char** obj_path_collection;
		int obj_path_collection_length1;
		int obj_path_it;
#line 174 "rygel-external-container.vala"
		obj_path_collection = obj_paths;
#line 812 "rygel-external-container.c"
		obj_path_collection_length1 = obj_paths_length1;
		for (obj_path_it = 0; obj_path_it < obj_paths_length1; obj_path_it = obj_path_it + 1) {
			char* obj_path;
			obj_path = g_strdup (obj_path_collection[obj_path_it]);
			{
				char* _tmp2_;
				RygelExternalContainer* _tmp3_;
				RygelExternalContainer* container;
#line 175 "rygel-external-container.vala"
				container = (_tmp3_ = rygel_external_container_new (_tmp2_ = g_strconcat ("container:", (const char*) obj_path, NULL), self->service_name, obj_path, self->host_ip, self), _g_free0 (_tmp2_), _tmp3_);
#line 181 "rygel-external-container.vala"
				gee_abstract_collection_add ((GeeAbstractCollection*) self->priv->containers, container);
#line 825 "rygel-external-container.c"
				_g_free0 (obj_path);
				_g_object_unref0 (container);
			}
		}
	}
#line 184 "rygel-external-container.vala"
	((RygelMediaContainer*) self)->child_count = gee_collection_get_size ((GeeCollection*) self->priv->containers) + ((gint) rygel_external_media_container_get_item_count (self->actual_container));
#line 833 "rygel-external-container.c"
	obj_paths = (_vala_array_free (obj_paths, obj_paths_length1, (GDestroyNotify) g_free), NULL);
}
static void specific_items_manager_on_root_changed (SpecificItemsManager* self, GObject* newroot) {
	GObject* _tmp0_;
	DbusmenuClient* _tmp19_;
	DbusmenuMenuitem* _tmp20_ = NULL;
	DbusmenuMenuitem* _tmp21_;
	DbusmenuMenuitem* root;
	DbusmenuMenuitem* _tmp22_;
	DbusmenuMenuitem* _tmp23_;
	DbusmenuMenuitem* _tmp24_;
	GList* _tmp25_ = NULL;
	GList* _tmp26_ = NULL;
	GList* children;
	GList* _tmp27_;
	g_return_if_fail (self != NULL);
	_tmp0_ = newroot;
	if (_tmp0_ == NULL) {
		GeeArrayList* _tmp15_;
		GeeArrayList* _tmp16_;
		gint _tmp17_;
		gint _tmp18_;
		g_debug ("specific-items-manager.vala:70: root disappeared -remove proxyitems");
		{
			GeeArrayList* _tmp1_;
			GeeArrayList* _tmp2_;
			GeeArrayList* _p_list;
			GeeArrayList* _tmp3_;
			gint _tmp4_;
			gint _tmp5_;
			gint _p_size;
			gint _p_index;
			_tmp1_ = self->priv->_proxy_items;
			_tmp2_ = _g_object_ref0 (_tmp1_);
			_p_list = _tmp2_;
			_tmp3_ = _p_list;
			_tmp4_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp3_);
			_tmp5_ = _tmp4_;
			_p_size = _tmp5_;
			_p_index = -1;
			while (TRUE) {
				gint _tmp6_;
				gint _tmp7_;
				gint _tmp8_;
				GeeArrayList* _tmp9_;
				gint _tmp10_;
				gpointer _tmp11_ = NULL;
				DbusmenuMenuitemProxy* p;
				PlayerController* _tmp12_;
				DbusmenuMenuitem* _tmp13_;
				DbusmenuMenuitemProxy* _tmp14_;
				_tmp6_ = _p_index;
				_p_index = _tmp6_ + 1;
				_tmp7_ = _p_index;
				_tmp8_ = _p_size;
				if (!(_tmp7_ < _tmp8_)) {
					break;
				}
				_tmp9_ = _p_list;
				_tmp10_ = _p_index;
				_tmp11_ = gee_abstract_list_get ((GeeAbstractList*) _tmp9_, _tmp10_);
				p = (DbusmenuMenuitemProxy*) _tmp11_;
				_tmp12_ = self->priv->_owner;
				_tmp13_ = _tmp12_->root_menu;
				_tmp14_ = p;
				dbusmenu_menuitem_child_delete (_tmp13_, (DbusmenuMenuitem*) _tmp14_);
				_g_object_unref0 (p);
			}
			_g_object_unref0 (_p_list);
		}
		_tmp15_ = self->priv->_proxy_items;
		gee_abstract_collection_clear ((GeeAbstractCollection*) _tmp15_);
		_tmp16_ = self->priv->_proxy_items;
		_tmp17_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp16_);
		_tmp18_ = _tmp17_;
		g_debug ("specific-items-manager.vala:75: array list size is now %i", _tmp18_);
		return;
	}
	_tmp19_ = self->priv->client;
	_tmp20_ = dbusmenu_client_get_root (_tmp19_);
	_tmp21_ = _g_object_ref0 (_tmp20_);
	root = _tmp21_;
	_tmp22_ = root;
	g_signal_connect_object (_tmp22_, "child-added", (GCallback) _specific_items_manager_on_child_added_dbusmenu_menuitem_child_added, self, 0);
	_tmp23_ = root;
	g_signal_connect_object (_tmp23_, "child-removed", (GCallback) _specific_items_manager_on_child_removed_dbusmenu_menuitem_child_removed, self, 0);
	_tmp24_ = root;
	_tmp25_ = dbusmenu_menuitem_get_children (_tmp24_);
	_tmp26_ = g_list_copy (_tmp25_);
	children = _tmp26_;
	_tmp27_ = children;
	{
		GList* child_collection = NULL;
		GList* child_it = NULL;
		child_collection = _tmp27_;
		for (child_it = child_collection; child_it != NULL; child_it = child_it->next) {
			void* child = NULL;
			child = child_it->data;
			{
				gint _tmp28_ = 0;
				gint pos;
				void* _tmp29_;
				DbusmenuMenuitem* item;
				DbusmenuMenuitem* _tmp30_;
				DbusmenuMenuitemProxy* _tmp31_;
				DbusmenuMenuitemProxy* proxy;
				GeeArrayList* _tmp32_;
				DbusmenuMenuitemProxy* _tmp33_;
				DbusmenuMenuitem* _tmp34_;
				const gchar* _tmp35_ = NULL;
				PlayerController* _tmp36_;
				DbusmenuMenuitem* _tmp37_;
				DbusmenuMenuitemProxy* _tmp38_;
				gint _tmp39_;
				_tmp28_ = specific_items_manager_figure_out_positioning (self);
				pos = _tmp28_;
				_tmp29_ = child;
				item = DBUSMENU_MENUITEM (_tmp29_);
				_tmp30_ = item;
				_tmp31_ = dbusmenu_menuitem_proxy_new (_tmp30_);
				proxy = _tmp31_;
				_tmp32_ = self->priv->_proxy_items;
				_tmp33_ = proxy;
				gee_abstract_collection_add ((GeeAbstractCollection*) _tmp32_, _tmp33_);
				_tmp34_ = item;
				_tmp35_ = dbusmenu_menuitem_property_get (_tmp34_, DBUSMENU_MENUITEM_PROP_LABEL);
				g_debug ("specific-items-manager.vala:92: Proxy item of label = %s added to coll" \
"ection", _tmp35_);
				_tmp36_ = self->priv->_owner;
				_tmp37_ = _tmp36_->root_menu;
				_tmp38_ = proxy;
				_tmp39_ = pos;
				dbusmenu_menuitem_child_add_position (_tmp37_, (DbusmenuMenuitem*) _tmp38_, (guint) _tmp39_);
				_g_object_unref0 (proxy);
			}
		}
	}
	_g_list_free0 (children);
	_g_object_unref0 (root);
}
示例#3
0
static gboolean rygel_mediathek_rss_container_parse_response (RygelMediathekRssContainer* self, const char* data, gsize length) {
#line 178 "rygel-mediathek-rss-container.c"
	gboolean result = FALSE;
	GError * _inner_error_;
	gboolean ret;
	xmlDoc* doc;
#line 52 "rygel-mediathek-rss-container.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 52 "rygel-mediathek-rss-container.vala"
	g_return_val_if_fail (data != NULL, FALSE);
#line 187 "rygel-mediathek-rss-container.c"
	_inner_error_ = NULL;
#line 53 "rygel-mediathek-rss-container.vala"
	ret = FALSE;
#line 54 "rygel-mediathek-rss-container.vala"
	doc = xmlParseMemory (data, (gint) length);
#line 55 "rygel-mediathek-rss-container.vala"
	if (doc != NULL) {
#line 195 "rygel-mediathek-rss-container.c"
		xmlXPathContext* ctx;
		xmlXPathObject* xpo;
		gboolean _tmp0_ = FALSE;
#line 56 "rygel-mediathek-rss-container.vala"
		gee_abstract_collection_clear ((GeeAbstractCollection*) ((RygelSimpleContainer*) self)->children);
#line 57 "rygel-mediathek-rss-container.vala"
		((RygelMediaContainer*) self)->child_count = 0;
#line 59 "rygel-mediathek-rss-container.vala"
		ctx = xmlXPathNewContext (doc);
#line 60 "rygel-mediathek-rss-container.vala"
		xpo = xmlXPathEval ("/rss/channel/title", ctx);
#line 61 "rygel-mediathek-rss-container.vala"
		if (xpo->type == XPATH_NODESET) {
#line 62 "rygel-mediathek-rss-container.vala"
			_tmp0_ = xmlXPathNodeSetGetLength (xpo->nodesetval) > 0;
#line 211 "rygel-mediathek-rss-container.c"
		} else {
#line 61 "rygel-mediathek-rss-container.vala"
			_tmp0_ = FALSE;
#line 215 "rygel-mediathek-rss-container.c"
		}
#line 61 "rygel-mediathek-rss-container.vala"
		if (_tmp0_) {
#line 219 "rygel-mediathek-rss-container.c"
			char* _tmp1_;
#line 64 "rygel-mediathek-rss-container.vala"
			rygel_media_object_set_title ((RygelMediaObject*) self, _tmp1_ = xmlNodeGetContent (xmlXPathNodeSetItem (xpo->nodesetval, 0)));
#line 223 "rygel-mediathek-rss-container.c"
			_g_free0 (_tmp1_);
		}
#line 67 "rygel-mediathek-rss-container.vala"
		xpo = xmlXPathEval ("/rss/channel/item", ctx);
#line 68 "rygel-mediathek-rss-container.vala"
		if (xpo->type == XPATH_NODESET) {
#line 230 "rygel-mediathek-rss-container.c"
			{
				gint i;
#line 69 "rygel-mediathek-rss-container.vala"
				i = 0;
#line 235 "rygel-mediathek-rss-container.c"
				{
					gboolean _tmp2_;
#line 69 "rygel-mediathek-rss-container.vala"
					_tmp2_ = TRUE;
#line 69 "rygel-mediathek-rss-container.vala"
					while (TRUE) {
#line 242 "rygel-mediathek-rss-container.c"
						xmlNode* node;
#line 69 "rygel-mediathek-rss-container.vala"
						if (!_tmp2_) {
#line 69 "rygel-mediathek-rss-container.vala"
							i++;
#line 248 "rygel-mediathek-rss-container.c"
						}
#line 69 "rygel-mediathek-rss-container.vala"
						_tmp2_ = FALSE;
#line 69 "rygel-mediathek-rss-container.vala"
						if (!(i < xmlXPathNodeSetGetLength (xpo->nodesetval))) {
#line 69 "rygel-mediathek-rss-container.vala"
							break;
#line 256 "rygel-mediathek-rss-container.c"
						}
#line 70 "rygel-mediathek-rss-container.vala"
						node = xmlXPathNodeSetItem (xpo->nodesetval, i);
#line 260 "rygel-mediathek-rss-container.c"
						{
							RygelMediathekVideoItem* item;
#line 73 "rygel-mediathek-rss-container.vala"
							item = rygel_mediathek_video_item_create_from_xml ((RygelMediaContainer*) self, node, &_inner_error_);
#line 265 "rygel-mediathek-rss-container.c"
							if (_inner_error_ != NULL) {
								if (_inner_error_->domain == RYGEL_MEDIATHEK_VIDEO_ITEM_ERROR) {
									goto __catch3_rygel_mediathek_video_item_error;
								}
								_xmlXPathFreeContext0 (ctx);
								g_critical ("file %s: line %d: unexpected 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 FALSE;
							}
#line 75 "rygel-mediathek-rss-container.vala"
							rygel_simple_container_add_child ((RygelSimpleContainer*) self, (RygelMediaObject*) item);
#line 76 "rygel-mediathek-rss-container.vala"
							ret = TRUE;
#line 279 "rygel-mediathek-rss-container.c"
							_g_object_unref0 (item);
						}
						goto __finally3;
						__catch3_rygel_mediathek_video_item_error:
						{
							GError * _error_;
							_error_ = _inner_error_;
							_inner_error_ = NULL;
							{
#line 79 "rygel-mediathek-rss-container.vala"
								g_warning (_ ("Error creating video item: %s"), _error_->message);
#line 291 "rygel-mediathek-rss-container.c"
								_g_error_free0 (_error_);
							}
						}
						__finally3:
						if (_inner_error_ != NULL) {
							_xmlXPathFreeContext0 (ctx);
							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 FALSE;
						}
					}
				}
			}
		} else {
#line 85 "rygel-mediathek-rss-container.vala"
			g_warning ("rygel-mediathek-rss-container.vala:85: %s", _ ("XPath query failed"));
#line 308 "rygel-mediathek-rss-container.c"
		}
#line 88 "rygel-mediathek-rss-container.vala"
		xmlFreeDoc (doc);
#line 89 "rygel-mediathek-rss-container.vala"
		rygel_media_container_updated ((RygelMediaContainer*) self);
#line 314 "rygel-mediathek-rss-container.c"
		_xmlXPathFreeContext0 (ctx);
	} else {
#line 92 "rygel-mediathek-rss-container.vala"
		g_warning ("rygel-mediathek-rss-container.vala:92: %s", _ ("Failed to parse doc"));
#line 319 "rygel-mediathek-rss-container.c"
	}
	result = ret;
#line 95 "rygel-mediathek-rss-container.vala"
	return result;
#line 324 "rygel-mediathek-rss-container.c"
}
示例#4
0
static void soy_fields_monopole_real_commit (soyfieldsField* base) {
	soyfieldsMonopole * self;
	GeeArrayList* _tmp90_ = NULL;
#line 51 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
	self = (soyfieldsMonopole*) base;
#line 227 "Monopole.c"
	{
		GeeArrayList* _other_list = NULL;
		GeeArrayList* _tmp0_ = NULL;
		GeeArrayList* _tmp1_ = NULL;
		gint _other_size = 0;
		GeeArrayList* _tmp2_ = NULL;
		gint _tmp3_ = 0;
		gint _tmp4_ = 0;
		gint _other_index = 0;
#line 52 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
		_tmp0_ = self->priv->_affected;
#line 52 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
		_tmp1_ = _g_object_ref0 (_tmp0_);
#line 52 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
		_other_list = _tmp1_;
#line 52 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
		_tmp2_ = _other_list;
#line 52 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
		_tmp3_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp2_);
#line 52 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
		_tmp4_ = _tmp3_;
#line 52 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
		_other_size = _tmp4_;
#line 52 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
		_other_index = -1;
#line 52 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
		while (TRUE) {
#line 255 "Monopole.c"
			gint _tmp5_ = 0;
			gint _tmp6_ = 0;
			gint _tmp7_ = 0;
			soybodiesBody* other = NULL;
			GeeArrayList* _tmp8_ = NULL;
			gint _tmp9_ = 0;
			gpointer _tmp10_ = NULL;
			gfloat xd = 0.0F;
			soybodiesBody* _tmp11_ = NULL;
			soyatomsPosition* _tmp12_ = NULL;
			soyatomsPosition* _tmp13_ = NULL;
			soyatomsPosition* _tmp14_ = NULL;
			gfloat _tmp15_ = 0.0F;
			gfloat _tmp16_ = 0.0F;
			soyatomsPosition* _tmp17_ = NULL;
			soyatomsPosition* _tmp18_ = NULL;
			soyatomsPosition* _tmp19_ = NULL;
			gfloat _tmp20_ = 0.0F;
			gfloat _tmp21_ = 0.0F;
			gfloat _tmp22_ = 0.0F;
			gfloat yd = 0.0F;
			soybodiesBody* _tmp23_ = NULL;
			soyatomsPosition* _tmp24_ = NULL;
			soyatomsPosition* _tmp25_ = NULL;
			soyatomsPosition* _tmp26_ = NULL;
			gfloat _tmp27_ = 0.0F;
			gfloat _tmp28_ = 0.0F;
			soyatomsPosition* _tmp29_ = NULL;
			soyatomsPosition* _tmp30_ = NULL;
			soyatomsPosition* _tmp31_ = NULL;
			gfloat _tmp32_ = 0.0F;
			gfloat _tmp33_ = 0.0F;
			gfloat _tmp34_ = 0.0F;
			gfloat zd = 0.0F;
			soybodiesBody* _tmp35_ = NULL;
			soyatomsPosition* _tmp36_ = NULL;
			soyatomsPosition* _tmp37_ = NULL;
			soyatomsPosition* _tmp38_ = NULL;
			gfloat _tmp39_ = 0.0F;
			gfloat _tmp40_ = 0.0F;
			soyatomsPosition* _tmp41_ = NULL;
			soyatomsPosition* _tmp42_ = NULL;
			soyatomsPosition* _tmp43_ = NULL;
			gfloat _tmp44_ = 0.0F;
			gfloat _tmp45_ = 0.0F;
			gfloat _tmp46_ = 0.0F;
			gfloat d2 = 0.0F;
			gfloat _tmp47_ = 0.0F;
			gfloat _tmp48_ = 0.0F;
			gfloat _tmp49_ = 0.0F;
			gfloat _tmp50_ = 0.0F;
			gfloat _tmp51_ = 0.0F;
			gfloat _tmp52_ = 0.0F;
			gfloat _tmp53_ = 0.0F;
#line 52 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp5_ = _other_index;
#line 52 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_other_index = _tmp5_ + 1;
#line 52 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp6_ = _other_index;
#line 52 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp7_ = _other_size;
#line 52 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			if (!(_tmp6_ < _tmp7_)) {
#line 52 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				break;
#line 322 "Monopole.c"
			}
#line 52 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp8_ = _other_list;
#line 52 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp9_ = _other_index;
#line 52 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp10_ = gee_abstract_list_get ((GeeAbstractList*) _tmp8_, _tmp9_);
#line 52 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			other = (soybodiesBody*) _tmp10_;
#line 53 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp11_ = other;
#line 53 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp12_ = soy_bodies_body_get_position (_tmp11_);
#line 53 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp13_ = _tmp12_;
#line 53 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp14_ = _tmp13_;
#line 53 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp15_ = soy_atoms_position_get_x (_tmp14_);
#line 53 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp16_ = _tmp15_;
#line 53 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp17_ = soy_bodies_body_get_position ((soybodiesBody*) self);
#line 53 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp18_ = _tmp17_;
#line 53 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp19_ = _tmp18_;
#line 53 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp20_ = soy_atoms_position_get_x (_tmp19_);
#line 53 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp21_ = _tmp20_;
#line 53 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp22_ = _tmp16_ - _tmp21_;
#line 53 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_g_object_unref0 (_tmp19_);
#line 53 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_g_object_unref0 (_tmp14_);
#line 53 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			xd = _tmp22_;
#line 54 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp23_ = other;
#line 54 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp24_ = soy_bodies_body_get_position (_tmp23_);
#line 54 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp25_ = _tmp24_;
#line 54 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp26_ = _tmp25_;
#line 54 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp27_ = soy_atoms_position_get_y (_tmp26_);
#line 54 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp28_ = _tmp27_;
#line 54 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp29_ = soy_bodies_body_get_position ((soybodiesBody*) self);
#line 54 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp30_ = _tmp29_;
#line 54 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp31_ = _tmp30_;
#line 54 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp32_ = soy_atoms_position_get_y (_tmp31_);
#line 54 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp33_ = _tmp32_;
#line 54 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp34_ = _tmp28_ - _tmp33_;
#line 54 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_g_object_unref0 (_tmp31_);
#line 54 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_g_object_unref0 (_tmp26_);
#line 54 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			yd = _tmp34_;
#line 55 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp35_ = other;
#line 55 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp36_ = soy_bodies_body_get_position (_tmp35_);
#line 55 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp37_ = _tmp36_;
#line 55 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp38_ = _tmp37_;
#line 55 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp39_ = soy_atoms_position_get_z (_tmp38_);
#line 55 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp40_ = _tmp39_;
#line 55 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp41_ = soy_bodies_body_get_position ((soybodiesBody*) self);
#line 55 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp42_ = _tmp41_;
#line 55 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp43_ = _tmp42_;
#line 55 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp44_ = soy_atoms_position_get_z (_tmp43_);
#line 55 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp45_ = _tmp44_;
#line 55 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp46_ = _tmp40_ - _tmp45_;
#line 55 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_g_object_unref0 (_tmp43_);
#line 55 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_g_object_unref0 (_tmp38_);
#line 55 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			zd = _tmp46_;
#line 58 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp47_ = xd;
#line 58 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp48_ = xd;
#line 58 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp49_ = yd;
#line 58 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp50_ = yd;
#line 58 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp51_ = zd;
#line 58 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp52_ = zd;
#line 58 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			d2 = ((_tmp47_ * _tmp48_) + (_tmp49_ * _tmp50_)) + (_tmp51_ * _tmp52_);
#line 59 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_tmp53_ = d2;
#line 59 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			if (_tmp53_ != ((gfloat) 0)) {
#line 440 "Monopole.c"
				gfloat d = 0.0F;
				gfloat _tmp54_ = 0.0F;
				gfloat _tmp55_ = 0.0F;
				gfloat mm2 = 0.0F;
				soybodiesBody* _tmp56_ = NULL;
				gfloat _tmp57_ = 0.0F;
				gfloat _tmp58_ = 0.0F;
				soybodiesBody* _tmp59_ = NULL;
				gfloat _tmp60_ = 0.0F;
				soybodiesBody* _tmp61_ = NULL;
				GeeHashMap* _tmp62_ = NULL;
				GeeHashMap* _tmp63_ = NULL;
				GeeHashMap* _tmp64_ = NULL;
				gboolean _tmp65_ = FALSE;
				gboolean _tmp66_ = FALSE;
				gfloat f = 0.0F;
				gfloat _tmp73_ = 0.0F;
				gfloat _tmp74_ = 0.0F;
				gfloat _tmp75_ = 0.0F;
				gfloat _tmp76_ = 0.0F;
				gfloat _tmp77_ = 0.0F;
				gfloat _tmp78_ = 0.0F;
				gfloat _tmp79_ = 0.0F;
				soybodiesBody* _tmp80_ = NULL;
				gfloat _tmp81_ = 0.0F;
				gfloat _tmp82_ = 0.0F;
				gfloat _tmp83_ = 0.0F;
				gfloat _tmp84_ = 0.0F;
				gfloat _tmp85_ = 0.0F;
				gfloat _tmp86_ = 0.0F;
				gfloat _tmp87_ = 0.0F;
				gfloat _tmp88_ = 0.0F;
				gfloat _tmp89_ = 0.0F;
#line 60 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				_tmp54_ = d2;
#line 60 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				_tmp55_ = sqrtf (_tmp54_);
#line 60 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				d = _tmp55_;
#line 62 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				_tmp56_ = other;
#line 62 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				_tmp57_ = soy_bodies_body_get_density (_tmp56_);
#line 62 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				_tmp58_ = _tmp57_;
#line 62 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				_tmp59_ = other;
#line 62 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				_tmp60_ = soy_bodies_body_volume (_tmp59_);
#line 62 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				mm2 = _tmp58_ * _tmp60_;
#line 63 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				_tmp61_ = other;
#line 63 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				_tmp62_ = soy_bodies_body_get_tags (_tmp61_);
#line 63 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				_tmp63_ = _tmp62_;
#line 63 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				_tmp64_ = _tmp63_;
#line 63 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				_tmp65_ = gee_abstract_map_has_key ((GeeAbstractMap*) _tmp64_, "bmass");
#line 63 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				_tmp66_ = _tmp65_;
#line 63 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				_g_object_unref0 (_tmp64_);
#line 63 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				if (_tmp66_) {
#line 508 "Monopole.c"
					soybodiesBody* _tmp67_ = NULL;
					GeeHashMap* _tmp68_ = NULL;
					GeeHashMap* _tmp69_ = NULL;
					GeeHashMap* _tmp70_ = NULL;
					gpointer _tmp71_ = NULL;
					gfloat* _tmp72_ = NULL;
#line 64 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
					_tmp67_ = other;
#line 64 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
					_tmp68_ = soy_bodies_body_get_tags (_tmp67_);
#line 64 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
					_tmp69_ = _tmp68_;
#line 64 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
					_tmp70_ = _tmp69_;
#line 64 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
					_tmp71_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp70_, "bmass");
#line 64 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
					_tmp72_ = (gfloat*) _tmp71_;
#line 64 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
					mm2 = *_tmp72_;
#line 64 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
					_g_free0 (_tmp72_);
#line 64 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
					_g_object_unref0 (_tmp70_);
#line 533 "Monopole.c"
				}
#line 66 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				_tmp73_ = soy_fields_monopole_get_multiplier (self);
#line 66 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				_tmp74_ = _tmp73_;
#line 66 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				_tmp75_ = soy_bodies_body_get_density ((soybodiesBody*) self);
#line 66 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				_tmp76_ = _tmp75_;
#line 66 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				_tmp77_ = soy_bodies_body_volume ((soybodiesBody*) self);
#line 66 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				_tmp78_ = mm2;
#line 66 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				_tmp79_ = d2;
#line 66 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				f = (((_tmp74_ * _tmp76_) * _tmp77_) * _tmp78_) / _tmp79_;
#line 68 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				_tmp80_ = other;
#line 68 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				_tmp81_ = f;
#line 68 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				_tmp82_ = xd;
#line 68 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				_tmp83_ = d;
#line 68 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				_tmp84_ = f;
#line 68 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				_tmp85_ = yd;
#line 68 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				_tmp86_ = d;
#line 68 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				_tmp87_ = f;
#line 68 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				_tmp88_ = zd;
#line 68 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				_tmp89_ = d;
#line 68 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
				soy_bodies_body_addForce (_tmp80_, (dReal) ((_tmp81_ * _tmp82_) / _tmp83_), (dReal) ((_tmp84_ * _tmp85_) / _tmp86_), (dReal) ((_tmp87_ * _tmp88_) / _tmp89_));
#line 573 "Monopole.c"
			}
#line 52 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
			_g_object_unref0 (other);
#line 577 "Monopole.c"
		}
#line 52 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
		_g_object_unref0 (_other_list);
#line 581 "Monopole.c"
	}
#line 69 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
	_tmp90_ = self->priv->_affected;
#line 69 "/home/jeff/Documents/libraries/libsoy/src/fields/Monopole.gs"
	gee_abstract_collection_clear ((GeeAbstractCollection*) _tmp90_);
#line 587 "Monopole.c"
}
示例#5
0
文件: Monopole.c 项目: RONNCC/pysoy
static void soy_fields_monopole_real_commit (soyfieldsField* base) {
	soyfieldsMonopole * self;
	GeeArrayList* _tmp91_;
	self = (soyfieldsMonopole*) base;
	{
		GeeArrayList* _tmp0_;
		GeeArrayList* _tmp1_;
		GeeArrayList* _other_list;
		GeeArrayList* _tmp2_;
		gint _tmp3_;
		gint _tmp4_;
		gint _other_size;
		gint _other_index;
		_tmp0_ = self->priv->_affected;
		_tmp1_ = _g_object_ref0 (_tmp0_);
		_other_list = _tmp1_;
		_tmp2_ = _other_list;
		_tmp3_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp2_);
		_tmp4_ = _tmp3_;
		_other_size = _tmp4_;
		_other_index = -1;
		while (TRUE) {
			gint _tmp5_;
			gint _tmp6_;
			gint _tmp7_;
			GeeArrayList* _tmp8_;
			gint _tmp9_;
			gpointer _tmp10_ = NULL;
			soybodiesBody* other;
			soybodiesBody* _tmp11_;
			soyatomsPosition* _tmp12_;
			soyatomsPosition* _tmp13_;
			soyatomsPosition* _tmp14_;
			gfloat _tmp15_;
			gfloat _tmp16_;
			soyatomsPosition* _tmp17_;
			soyatomsPosition* _tmp18_;
			soyatomsPosition* _tmp19_;
			gfloat _tmp20_;
			gfloat _tmp21_;
			gfloat _tmp22_;
			gfloat xd;
			soybodiesBody* _tmp23_;
			soyatomsPosition* _tmp24_;
			soyatomsPosition* _tmp25_;
			soyatomsPosition* _tmp26_;
			gfloat _tmp27_;
			gfloat _tmp28_;
			soyatomsPosition* _tmp29_;
			soyatomsPosition* _tmp30_;
			soyatomsPosition* _tmp31_;
			gfloat _tmp32_;
			gfloat _tmp33_;
			gfloat _tmp34_;
			gfloat yd;
			soybodiesBody* _tmp35_;
			soyatomsPosition* _tmp36_;
			soyatomsPosition* _tmp37_;
			soyatomsPosition* _tmp38_;
			gfloat _tmp39_;
			gfloat _tmp40_;
			soyatomsPosition* _tmp41_;
			soyatomsPosition* _tmp42_;
			soyatomsPosition* _tmp43_;
			gfloat _tmp44_;
			gfloat _tmp45_;
			gfloat _tmp46_;
			gfloat zd;
			gfloat _tmp47_;
			gfloat _tmp48_;
			gfloat _tmp49_;
			gfloat _tmp50_;
			gfloat _tmp51_;
			gfloat _tmp52_;
			gfloat d2;
			gfloat _tmp53_;
			_tmp5_ = _other_index;
			_other_index = _tmp5_ + 1;
			_tmp6_ = _other_index;
			_tmp7_ = _other_size;
			if (!(_tmp6_ < _tmp7_)) {
				break;
			}
			_tmp8_ = _other_list;
			_tmp9_ = _other_index;
			_tmp10_ = gee_abstract_list_get ((GeeAbstractList*) _tmp8_, _tmp9_);
			other = (soybodiesBody*) _tmp10_;
			_tmp11_ = other;
			_tmp12_ = soy_bodies_body_get_position (_tmp11_);
			_tmp13_ = _tmp12_;
			_tmp14_ = _tmp13_;
			_tmp15_ = soy_atoms_position_get_x (_tmp14_);
			_tmp16_ = _tmp15_;
			_tmp17_ = soy_bodies_body_get_position ((soybodiesBody*) self);
			_tmp18_ = _tmp17_;
			_tmp19_ = _tmp18_;
			_tmp20_ = soy_atoms_position_get_x (_tmp19_);
			_tmp21_ = _tmp20_;
			_tmp22_ = _tmp16_ - _tmp21_;
			_g_object_unref0 (_tmp19_);
			_g_object_unref0 (_tmp14_);
			xd = _tmp22_;
			_tmp23_ = other;
			_tmp24_ = soy_bodies_body_get_position (_tmp23_);
			_tmp25_ = _tmp24_;
			_tmp26_ = _tmp25_;
			_tmp27_ = soy_atoms_position_get_y (_tmp26_);
			_tmp28_ = _tmp27_;
			_tmp29_ = soy_bodies_body_get_position ((soybodiesBody*) self);
			_tmp30_ = _tmp29_;
			_tmp31_ = _tmp30_;
			_tmp32_ = soy_atoms_position_get_y (_tmp31_);
			_tmp33_ = _tmp32_;
			_tmp34_ = _tmp28_ - _tmp33_;
			_g_object_unref0 (_tmp31_);
			_g_object_unref0 (_tmp26_);
			yd = _tmp34_;
			_tmp35_ = other;
			_tmp36_ = soy_bodies_body_get_position (_tmp35_);
			_tmp37_ = _tmp36_;
			_tmp38_ = _tmp37_;
			_tmp39_ = soy_atoms_position_get_z (_tmp38_);
			_tmp40_ = _tmp39_;
			_tmp41_ = soy_bodies_body_get_position ((soybodiesBody*) self);
			_tmp42_ = _tmp41_;
			_tmp43_ = _tmp42_;
			_tmp44_ = soy_atoms_position_get_z (_tmp43_);
			_tmp45_ = _tmp44_;
			_tmp46_ = _tmp40_ - _tmp45_;
			_g_object_unref0 (_tmp43_);
			_g_object_unref0 (_tmp38_);
			zd = _tmp46_;
			_tmp47_ = xd;
			_tmp48_ = xd;
			_tmp49_ = yd;
			_tmp50_ = yd;
			_tmp51_ = zd;
			_tmp52_ = zd;
			d2 = ((_tmp47_ * _tmp48_) + (_tmp49_ * _tmp50_)) + (_tmp51_ * _tmp52_);
			_tmp53_ = d2;
			if (_tmp53_ != ((gfloat) 0)) {
				gfloat _tmp54_;
				gfloat _tmp55_ = 0.0F;
				gfloat d;
				soybodiesBody* _tmp56_;
				soyMass* _tmp57_;
				soyMass* _tmp58_;
				gfloat _tmp59_;
				gfloat _tmp60_;
				gfloat mm2;
				soybodiesBody* _tmp61_;
				GeeHashMap* _tmp62_;
				GeeHashMap* _tmp63_;
				GeeHashMap* _tmp64_;
				gboolean _tmp65_ = FALSE;
				gboolean _tmp66_;
				gfloat _tmp73_;
				gfloat _tmp74_;
				soyMass* _tmp75_;
				soyMass* _tmp76_;
				gfloat _tmp77_;
				gfloat _tmp78_;
				gfloat _tmp79_;
				gfloat _tmp80_;
				gfloat f;
				soybodiesBody* _tmp81_;
				gfloat _tmp82_;
				gfloat _tmp83_;
				gfloat _tmp84_;
				gfloat _tmp85_;
				gfloat _tmp86_;
				gfloat _tmp87_;
				gfloat _tmp88_;
				gfloat _tmp89_;
				gfloat _tmp90_;
				_tmp54_ = d2;
				_tmp55_ = sqrtf (_tmp54_);
				d = _tmp55_;
				_tmp56_ = other;
				_tmp57_ = soy_bodies_body_get_mass (_tmp56_);
				_tmp58_ = _tmp57_;
				_tmp59_ = soy_mass_get_mass (_tmp58_);
				_tmp60_ = _tmp59_;
				mm2 = _tmp60_;
				_tmp61_ = other;
				_tmp62_ = soy_bodies_body_get_tags (_tmp61_);
				_tmp63_ = _tmp62_;
				_tmp64_ = _tmp63_;
				_tmp65_ = gee_abstract_map_has_key ((GeeAbstractMap*) _tmp64_, "bmass");
				_tmp66_ = _tmp65_;
				_g_object_unref0 (_tmp64_);
				if (_tmp66_) {
					soybodiesBody* _tmp67_;
					GeeHashMap* _tmp68_;
					GeeHashMap* _tmp69_;
					GeeHashMap* _tmp70_;
					gpointer _tmp71_ = NULL;
					gfloat* _tmp72_;
					_tmp67_ = other;
					_tmp68_ = soy_bodies_body_get_tags (_tmp67_);
					_tmp69_ = _tmp68_;
					_tmp70_ = _tmp69_;
					_tmp71_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp70_, "bmass");
					_tmp72_ = (gfloat*) _tmp71_;
					mm2 = *_tmp72_;
					_g_free0 (_tmp72_);
					_g_object_unref0 (_tmp70_);
				}
				_tmp73_ = soy_fields_monopole_get_multiplier (self);
				_tmp74_ = _tmp73_;
				_tmp75_ = soy_bodies_body_get_mass ((soybodiesBody*) self);
				_tmp76_ = _tmp75_;
				_tmp77_ = soy_mass_get_mass (_tmp76_);
				_tmp78_ = _tmp77_;
				_tmp79_ = mm2;
				_tmp80_ = d2;
				f = ((_tmp74_ * _tmp78_) * _tmp79_) / _tmp80_;
				_tmp81_ = other;
				_tmp82_ = f;
				_tmp83_ = xd;
				_tmp84_ = d;
				_tmp85_ = f;
				_tmp86_ = yd;
				_tmp87_ = d;
				_tmp88_ = f;
				_tmp89_ = zd;
				_tmp90_ = d;
				soy_bodies_body_addForce (_tmp81_, (dReal) ((_tmp82_ * _tmp83_) / _tmp84_), (dReal) ((_tmp85_ * _tmp86_) / _tmp87_), (dReal) ((_tmp88_ * _tmp89_) / _tmp90_));
			}
			_g_object_unref0 (other);
		}
		_g_object_unref0 (_other_list);
	}
	_tmp91_ = self->priv->_affected;
	gee_abstract_collection_clear ((GeeAbstractCollection*) _tmp91_);
}