static IdeProjectItem * ide_project_files_find_child (IdeProjectItem *item, const gchar *child) { GSequence *children; GSequenceIter *iter; g_assert (IDE_IS_PROJECT_ITEM (item)); g_assert (child); children = ide_project_item_get_children (item); if (!children) return NULL; for (iter = g_sequence_get_begin_iter (children); !g_sequence_iter_is_end (iter); iter = g_sequence_iter_next (iter)) { IdeProjectItem *item = g_sequence_get (iter); if (IDE_IS_PROJECT_FILE (item)) { IdeProjectFile *file = IDE_PROJECT_FILE (item); const gchar *name = ide_project_file_get_name (file); if (g_strcmp0 (name, child) == 0) return item; } } return NULL; }
static void ide_project_file_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { IdeProjectFile *self = IDE_PROJECT_FILE (object); switch (prop_id) { case PROP_FILE: g_value_set_object (value, ide_project_file_get_file (self)); break; case PROP_FILE_INFO: g_value_set_object (value, ide_project_file_get_file_info (self)); break; case PROP_IS_DIRECTORY: g_value_set_boolean (value, ide_project_file_get_is_directory (self)); break; case PROP_NAME: g_value_set_string (value, ide_project_file_get_name (self)); break; case PROP_PATH: g_value_set_string (value, ide_project_file_get_path (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } }