void *update_casts(void *casts) { int i; int res; GtkListStore *store; GtkTreeIter iter; feed** feeds = NULL; feeds = get_feeds(FEED_FILE); assert(feeds != NULL); store = gtk_list_store_new(COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); for(i = 0; feeds[i] != NULL; i++) { #ifdef DEBUG printf("Fetching: %s\n", feeds[i]->address); printf("Basename: %s\n", basename(feeds[i]->address)); #endif res = http_download(feeds[i]->address, "/tmp/podfetcher_feed"); if(res != 0) continue; parse_feed("/tmp/podfetcher_feed", feeds[i]); gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, FEED_TITLE, (gchar *)feeds[i]->title, FEED_AUTHOR, (gchar *)feeds[i]->image, -1); } gtk_tree_view_set_model(GTK_TREE_VIEW(casts), GTK_TREE_MODEL(store)); g_object_unref(store); pthread_exit(0); }
void parse_objects(hbc::json_pull& parser, int level) { hbc::json_enumeration* enumerator = parser.object_elements(); while (enumerator->has_more_elements()) { const char* key = enumerator->next_element(); if (strcmp(key, "feed") == 0) { parse_feed(parser, 1); } else if (strcmp(key, "version") == 0) { printf("version[%s]\n", parser.get_string_value()); } else if (strcmp(key, "encoding") == 0) { printf("encoding[%s]\n", parser.get_string_value()); } } free(enumerator); }