summaryrefslogtreecommitdiff
path: root/tagstats/tagstats_handler.hpp
diff options
context:
space:
mode:
authorJochen Topf <jochen@topf.org>2011-05-10 11:36:46 +0200
committerJochen Topf <jochen@topf.org>2011-05-10 11:36:46 +0200
commita949c44e4f9a3a2b6cc5e15fdcbd22a31d290640 (patch)
tree1a97868235f0cc79aa576ed5821076ffa6df0fc5 /tagstats/tagstats_handler.hpp
parent9f35520f1836182907210f85e1bc03ec3942c253 (diff)
downloadtaginfo-a949c44e4f9a3a2b6cc5e15fdcbd22a31d290640.tar
taginfo-a949c44e4f9a3a2b6cc5e15fdcbd22a31d290640.tar.gz
Remove use of callback_object()
Diffstat (limited to 'tagstats/tagstats_handler.hpp')
-rw-r--r--tagstats/tagstats_handler.hpp38
1 files changed, 25 insertions, 13 deletions
diff --git a/tagstats/tagstats_handler.hpp b/tagstats/tagstats_handler.hpp
index dcd23d9..17119fc 100644
--- a/tagstats/tagstats_handler.hpp
+++ b/tagstats/tagstats_handler.hpp
@@ -233,19 +233,7 @@ class TagStatsHandler : public Osmium::Handler::Base {
}
-public:
-
- TagStatsHandler() : Base(), max_timestamp(0) {
- string_store = new StringStore(string_store_size);
- db = new Osmium::Sqlite::Database("taginfo-db.db");
- }
-
- ~TagStatsHandler() {
- delete db;
- delete string_store;
- }
-
- void callback_object(Osmium::OSM::Object *object) {
+ void collect_tag_stats(Osmium::OSM::Object *object) {
if (max_timestamp < object->get_timestamp()) {
max_timestamp = object->get_timestamp();
}
@@ -270,6 +258,30 @@ public:
#endif // TAGSTATS_COUNT_KEY_COMBINATIONS
}
+public:
+
+ TagStatsHandler() : Base(), max_timestamp(0) {
+ string_store = new StringStore(string_store_size);
+ db = new Osmium::Sqlite::Database("taginfo-db.db");
+ }
+
+ ~TagStatsHandler() {
+ delete db;
+ delete string_store;
+ }
+
+ void callback_node(Osmium::OSM::Node *node) {
+ collect_tag_stats(node);
+ }
+
+ void callback_way(Osmium::OSM::Way *way) {
+ collect_tag_stats(way);
+ }
+
+ void callback_relation(Osmium::OSM::Relation *relation) {
+ collect_tag_stats(relation);
+ }
+
void callback_before_nodes() {
timer = time(0);
}