// contains the domain details. public class Domain : Object { public int id; public string domain; public Gee.ArrayList; // << list of releases in queue that need checking public string scan_start_point; // start point public string[] scan_blocks; // do not scan these public string[] scan_only; // only scan if match these. public string scan_exact; // only scan this page for each release.. public int scan_depth; // how far down do we want to go. public int scan_frequency; // how often to scan. public GLib.DateTime scan_last_dt; // last time we scanned. //public bool scan_force; // normally we do not scan sites that have never given us a result.. ///- however this is a database flag that forces it. public string scan_key; // << random generated md5 to ensure that posted data is done by correct worker >>> public int existing_pages; // number of pages we have a database for... public int remote_seqid; // sequence number for page... public int local_seqid; // sequence number for page... public Gee.HashMap pages; public Domain(string domain) { this.domain = domain; } public void tryLoad() { // calls updateFromJson } public void updateFromJson(JSON.Object obj) { // set's values based on JSON - can be from file system or fetch from Queen. } public JSON.Object toJSON() { // write the data to a json object... } }