#ifndef RSS_HTML_COMMON_H #define RSS_HTML_COMMON_H #define MAX_UPDATE_ITEMS 10 struct json_value_s; struct json_object_s; struct json_string_s; typedef struct { const char *title; const char *link; } DownloadItemsData; typedef struct { char *title; char *link; struct json_object_s *json_data; } TrackedItem; int write_plugin_json_to_file(const char *dir, const char *filename, const char *url, const char *updated, const char *start_after, const char *start_after_url, const char *plugin_name); /* @num_download_items can't be more than MAX_UPDATE_ITEMS. @filenames can be NULL, in which case filenames are not stored for items. This is the case for html items. */ /* Note: tracked_item.json_data becomes invalid after this call. @tracked_dir is also modified and then restored at the end. */ int tracked_item_update_latest(TrackedItem *tracked_item, char *tracked_dir, DownloadItemsData **download_items, char **filenames, long *timestamps, int num_download_items); struct json_value_s* json_object_get_field_by_name(struct json_object_s *json_obj, const char *name); void create_json_string(struct json_string_s *json_result, const char *str, int len); void init_json_value_str(struct json_value_s *json_value, struct json_string_s *json_str); #endif