Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Get information about an (optionally installed) add-on compared against the add-ons server.
- *
- * @param addon The add-ons server entry information.
- * @param t The local tracking status information.
- */
- void get_addon_tracking_info(addon_info& addon, addon_tracking_info& t)
- {
- const std::string& id = addon.id;
- t.can_publish = have_addon_pbl_info(id);
- t.in_version_control = have_addon_in_vcs_tree(id);
- t.installed_version = version_info();
- if(is_addon_installed(id)) {
- try {
- t.installed_version = get_addon_version_info(id);
- const version_info& remote_version = addon.version;
- if(remote_version == t.installed_version) {
- t.state = ADDON_INSTALLED;
- } else if(remote_version > t.installed_version) {
- t.state = ADDON_INSTALLED_UPGRADABLE;
- } else /* if(remote_version < t.installed_version) */ {
- t.state = ADDON_INSTALLED_OUTDATED;
- }
- } catch(version_info::not_sane_exception const&) {
- ERR_AC << "local add-on '" << name << "' has invalid or missing version info, skipping from updates check...\n";
- t.state = ADDON_NOT_TRACKED;
- }
- } else {
- t.state = ADDON_NONE;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment