Skip to content

Commit 4db81e3

Browse files
committed
Store std::shared_ptr<middle_t> in dependency manager
1 parent 98478d2 commit 4db81e3

File tree

4 files changed

+15
-14
lines changed

4 files changed

+15
-14
lines changed

src/dependency-manager.hpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
#include "osmtypes.hpp"
77

88
#include <cassert>
9+
#include <memory>
910

1011
struct pending_processor
1112
{
@@ -97,10 +98,10 @@ class full_dependency_manager_t : public dependency_manager_t
9798
*
9899
* \pre object_store != nullptr
99100
*/
100-
explicit full_dependency_manager_t(middle_t *object_store)
101-
: m_object_store(object_store)
101+
explicit full_dependency_manager_t(std::shared_ptr<middle_t> object_store)
102+
: m_object_store(std::move(object_store))
102103
{
103-
assert(object_store != nullptr);
104+
assert(m_object_store != nullptr);
104105
}
105106

106107
void node_changed(osmid_t id) override;
@@ -153,7 +154,7 @@ class full_dependency_manager_t : public dependency_manager_t
153154
}
154155

155156
private:
156-
middle_t *m_object_store;
157+
std::shared_ptr<middle_t> m_object_store;
157158

158159
id_tracker m_ways_pending_tracker;
159160
id_tracker m_rels_pending_tracker;

src/osm2pgsql.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ int main(int argc, char *argv[])
7070
});
7171

7272
auto dependency_manager = std::unique_ptr<dependency_manager_t>(
73-
need_dependencies ? new full_dependency_manager_t{middle.get()}
73+
need_dependencies ? new full_dependency_manager_t{middle}
7474
: new dependency_manager_t{});
7575

7676
osmdata_t osmdata{dependency_manager.get(), middle, outputs};

tests/common-import.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ class import_t
8888
});
8989

9090
auto dependency_manager = std::unique_ptr<dependency_manager_t>(
91-
need_dependencies ? new full_dependency_manager_t{middle.get()}
91+
need_dependencies ? new full_dependency_manager_t{middle}
9292
: new dependency_manager_t{});
9393

9494
osmdata_t osmdata{dependency_manager.get(), middle, outputs};
@@ -112,7 +112,7 @@ class import_t
112112
auto const outputs =
113113
output_t::create_outputs(middle->get_query_instance(), options);
114114

115-
full_dependency_manager_t dependency_manager{middle.get()};
115+
full_dependency_manager_t dependency_manager{middle};
116116

117117
parse_file(options, &dependency_manager, middle, outputs, file);
118118
}
@@ -143,7 +143,7 @@ class import_t
143143
std::make_shared<db_copy_thread_t>(
144144
options.database_options.conninfo()));
145145

146-
full_dependency_manager_t dependency_manager{mid_pgsql.get()};
146+
full_dependency_manager_t dependency_manager{mid_pgsql};
147147

148148
parse_file(options, &dependency_manager, mid_pgsql, {out_test},
149149
file);

tests/test-middle.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1032,7 +1032,7 @@ TEMPLATE_TEST_CASE("middle: change nodes in way", "", options_slim_default,
10321032
// closed properly.
10331033
{
10341034
auto mid = std::make_shared<middle_pgsql_t>(&options);
1035-
full_dependency_manager_t dependency_manager{mid.get()};
1035+
full_dependency_manager_t dependency_manager{mid};
10361036
mid->start();
10371037

10381038
mid->node_set(node10);
@@ -1062,7 +1062,7 @@ TEMPLATE_TEST_CASE("middle: change nodes in way", "", options_slim_default,
10621062
SECTION("Single way affected")
10631063
{
10641064
auto mid = std::make_shared<middle_pgsql_t>(&options);
1065-
full_dependency_manager_t dependency_manager{mid.get()};
1065+
full_dependency_manager_t dependency_manager{mid};
10661066
mid->start();
10671067

10681068
mid->node_delete(10);
@@ -1095,7 +1095,7 @@ TEMPLATE_TEST_CASE("middle: change nodes in way", "", options_slim_default,
10951095
}
10961096
{
10971097
auto mid = std::make_shared<middle_pgsql_t>(&options);
1098-
full_dependency_manager_t dependency_manager{mid.get()};
1098+
full_dependency_manager_t dependency_manager{mid};
10991099
mid->start();
11001100

11011101
mid->node_delete(10);
@@ -1135,7 +1135,7 @@ TEMPLATE_TEST_CASE("middle: change nodes in way", "", options_slim_default,
11351135

11361136
{
11371137
auto mid = std::make_shared<middle_pgsql_t>(&options);
1138-
full_dependency_manager_t dependency_manager{mid.get()};
1138+
full_dependency_manager_t dependency_manager{mid};
11391139
mid->start();
11401140

11411141
mid->node_delete(10);
@@ -1198,7 +1198,7 @@ TEMPLATE_TEST_CASE("middle: change nodes in relation", "", options_slim_default,
11981198
SECTION("Single relation directly affected")
11991199
{
12001200
auto mid = std::make_shared<middle_pgsql_t>(&options);
1201-
full_dependency_manager_t dependency_manager{mid.get()};
1201+
full_dependency_manager_t dependency_manager{mid};
12021202
mid->start();
12031203

12041204
mid->node_delete(10);
@@ -1219,7 +1219,7 @@ TEMPLATE_TEST_CASE("middle: change nodes in relation", "", options_slim_default,
12191219
SECTION("Single relation indirectly affected (through way)")
12201220
{
12211221
auto mid = std::make_shared<middle_pgsql_t>(&options);
1222-
full_dependency_manager_t dependency_manager{mid.get()};
1222+
full_dependency_manager_t dependency_manager{mid};
12231223
mid->start();
12241224

12251225
mid->node_delete(11);

0 commit comments

Comments
 (0)