int output_multi_t::pending_relation(osmid_t id, int exists) { taglist_t tags_int; memberlist_t members_int; int ret = 0; // Try to fetch the relation from the DB if (!m_mid->relations_get(id, members_int, tags_int)) { ret = process_relation(id, members_int, tags_int, exists); } return ret; }
int output_multi_t::relation_modify(osmid_t id, const memberlist_t &members, const taglist_t &tags) { if (m_processor->interests(geometry_processor::interest_relation)) { // TODO - need to know it's a relation? delete_from_output(-id); // TODO: need to mark any other relations using it - depends on what // type of output this is... delegate to the geometry processor?? return process_relation(id, members, tags, false); } else { return 0; } }
int output_multi_t::pending_relation(osmid_t id, int exists) { keyval tags_int; member *members_int; int count_int; int ret = 0; // Try to fetch the relation from the DB if (!m_mid->relations_get(id, &members_int, &count_int, &tags_int)) { ret = process_relation(id, members_int, count_int, &tags_int, exists); free(members_int); } tags_int.resetList(); return ret; }
int output_multi_t::relation_add(osmid_t id, const memberlist_t &members, const taglist_t &tags) { if (m_processor->interests(geometry_processor::interest_relation) && !members.empty()) { return process_relation(id, members, tags, 0); } return 0; }
int output_multi_t::relation_add(osmid_t id, struct member *members, int member_count, struct keyval *tags) { if (m_processor->interests(geometry_processor::interest_relation) && member_count > 0) { return process_relation(id, members, member_count, tags, 0); } return 0; }