/* MOVIE / GET_TRAILERS */ tmdb_movie_trailers_t *tmdb_movie_trailers(const char *movie_id) { int result; char *url_str; net_data_t data; tmdb_request_ctx_t ctx; tmdb_movie_trailers_t *movie_trailers = NULL; init_data_chunk(&data); memset(&ctx, 0, sizeof(tmdb_request_ctx_t)); tmdb_ctx_set(&ctx, API_URL_F, NULL); tmdb_ctx_set(&ctx, API_HEADER_F, NULL); tmdb_ctx_set(&ctx, API_KEY_F, NULL); ctx.request_type.type = MOVIE_TRAILERS; tmdb_ctx_set(&ctx, MOVIE_ID, movie_id); url_str = tmdb_get_url_from_ctx(&ctx); result = nethelper_get(url_str, API_HEADER, &data); free(url_str); free_ctx(&ctx); if (!result) { header_process(&data); body_process(&data, MOVIE_TRAILERS_NUM_TOKENS, movie_trailers_parse, &movie_trailers); } free_data_chunk(&data); return movie_trailers; }
/* MOVIE / ALTERNATIVE TITLES */ tmdb_movie_t *tmdb_movie_alt_titles(const char *movie_id, const char *country) { int result; char *url_str; net_data_t data; tmdb_request_ctx_t ctx; tmdb_movie_t *info = NULL; init_data_chunk(&data); memset(&ctx, 0, sizeof(tmdb_request_ctx_t)); tmdb_ctx_set(&ctx, API_URL_F, NULL); tmdb_ctx_set(&ctx, API_HEADER_F, NULL); tmdb_ctx_set(&ctx, API_KEY_F, NULL); ctx.request_type.type = MOVIE_ALT_TITLES; tmdb_ctx_set(&ctx, MOVIE_ID, movie_id); if (country) tmdb_ctx_set(&ctx, COUNTRY, country); url_str = tmdb_get_url_from_ctx(&ctx); result = nethelper_get(url_str, API_HEADER, &data); free(url_str); free_ctx(&ctx); if (!result) { header_process(&data); body_process(&data, MOVIE_ALT_NUM_TOKENS, movie_alt_parse, &info); } free_data_chunk(&data); return info; }
/* GENRE / LIST */ tmdb_genre_t *tmdb_genre_list(const char *language) { int result; char *url_str; net_data_t data; tmdb_request_ctx_t ctx; tmdb_genre_t *genres = NULL; init_data_chunk(&data); memset(&ctx, 0, sizeof(tmdb_request_ctx_t)); tmdb_ctx_set(&ctx, API_URL_F, NULL); tmdb_ctx_set(&ctx, API_HEADER_F, NULL); tmdb_ctx_set(&ctx, API_KEY_F, NULL); ctx.request_type.type = GENRE_LIST; if (language) tmdb_ctx_set(&ctx, LANGUAGE, language); url_str = tmdb_get_url_from_ctx(&ctx); result = nethelper_get(url_str, API_HEADER, &data); free(url_str); free_ctx(&ctx); if (!result) { header_process(&data); body_process(&data, GENRE_LIST_NUM_TOKENS, genre_list_parse, &genres); } free_data_chunk(&data); return genres; }
static void space_update(Space *space) { GList *it; for (it = space->bodylist;it != NULL;it = g_list_next(it)) { if (!it->data)continue; space_body_update(space,(Body*)it->data); } for (it = space->bodylist;it != NULL;it = g_list_next(it)) { if (!it->data)continue; body_process((Body *)it->data); } }
/* SEARCH / COMPANY */ tmdb_company_t *tmdb_search_company(const char *name) { int result; char *url_str; char *esc_name; net_data_t data; tmdb_request_ctx_t ctx; tmdb_company_t *companies = NULL; init_data_chunk(&data); esc_name = escaped_string(name); memset(&ctx, 0, sizeof(tmdb_request_ctx_t)); tmdb_ctx_set(&ctx, API_URL_F, NULL); tmdb_ctx_set(&ctx, API_HEADER_F, NULL); tmdb_ctx_set(&ctx, API_KEY_F, NULL); ctx.request_type.type = SEARCH_COMPANY; tmdb_ctx_set(&ctx, QUERY, esc_name); url_str = tmdb_get_url_from_ctx(&ctx); result = nethelper_get(url_str, API_HEADER, &data); free(url_str); free_ctx(&ctx); free(esc_name); if (!result) { header_process(&data); body_process(&data, SEARCH_COMPANY_NUM_TOKENS, company_search_parse, &companies); } free_data_chunk(&data); return companies; }
/* COLLECTION / INFO */ tmdb_collection_t *tmdb_collection_info(const char *collection_id, const char *language) { int result; char *url_str; net_data_t data; tmdb_request_ctx_t ctx; tmdb_collection_t *collection_info = NULL; init_data_chunk(&data); memset(&ctx, 0, sizeof(tmdb_request_ctx_t)); tmdb_ctx_set(&ctx, API_URL_F, NULL); tmdb_ctx_set(&ctx, API_HEADER_F, NULL); tmdb_ctx_set(&ctx, API_KEY_F, NULL); ctx.request_type.type = COLLECTION; tmdb_ctx_set(&ctx, COLLECTION_ID, collection_id); if (language) tmdb_ctx_set(&ctx, LANGUAGE, language); url_str = tmdb_get_url_from_ctx(&ctx); result = nethelper_get(url_str, API_HEADER, &data); free(url_str); free_ctx(&ctx); if (!result) { header_process(&data); body_process(&data, COLLECTION_INFO_NUM_TOKENS, collection_info_parse, &collection_info); } free_data_chunk(&data); return collection_info; }