diff options
author | Jochen Topf <jochen@topf.org> | 2011-05-10 11:36:46 +0200 |
---|---|---|
committer | Jochen Topf <jochen@topf.org> | 2011-05-10 11:36:46 +0200 |
commit | a949c44e4f9a3a2b6cc5e15fdcbd22a31d290640 (patch) | |
tree | 1a97868235f0cc79aa576ed5821076ffa6df0fc5 /tagstats | |
parent | 9f35520f1836182907210f85e1bc03ec3942c253 (diff) | |
download | taginfo-a949c44e4f9a3a2b6cc5e15fdcbd22a31d290640.tar taginfo-a949c44e4f9a3a2b6cc5e15fdcbd22a31d290640.tar.gz |
Remove use of callback_object()
Diffstat (limited to 'tagstats')
-rw-r--r-- | tagstats/tagstats.cpp | 8 | ||||
-rw-r--r-- | tagstats/tagstats_handler.hpp | 38 |
2 files changed, 28 insertions, 18 deletions
diff --git a/tagstats/tagstats.cpp b/tagstats/tagstats.cpp index c2fa7b0..f82c92c 100644 --- a/tagstats/tagstats.cpp +++ b/tagstats/tagstats.cpp @@ -26,13 +26,9 @@ public: osmium_handler_tagstats.callback_before_nodes(); } - void callback_object(Osmium::OSM::Object *object) { - osmium_handler_stats.callback_object(object); - osmium_handler_tagstats.callback_object(object); - } - void callback_node(Osmium::OSM::Node *node) { osmium_handler_stats.callback_node(node); + osmium_handler_tagstats.callback_node(node); // osmium_handler_node_location_store.callback_node(node); } @@ -46,6 +42,7 @@ public: void callback_way(Osmium::OSM::Way *way) { osmium_handler_stats.callback_way(way); + osmium_handler_tagstats.callback_way(way); // osmium_handler_node_location_store.callback_way(way); } @@ -59,6 +56,7 @@ public: void callback_relation(Osmium::OSM::Relation *relation) { osmium_handler_stats.callback_relation(relation); + osmium_handler_tagstats.callback_relation(relation); } void callback_after_relations() { 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); } |