2020struct options_t ;
2121
2222/* *
23- * object which stores OSM node/ways/relations from the input file
23+ * Infterface for returning information about raw OSM input data from a cache.
2424 */
2525struct middle_query_t {
26- virtual ~middle_query_t () {}
26+ virtual ~middle_query_t () = 0 ;
2727
2828 /* *
2929 * Retrives node locations for the given node list.
@@ -75,15 +75,16 @@ struct middle_query_t {
7575 virtual idlist_t relations_using_way (osmid_t way_id) const = 0;
7676};
7777
78+ inline middle_query_t ::~middle_query_t () = default ;
79+
7880/* *
79- * A specialized middle backend which is persistent, and supports updates
81+ * Interface for storing raw OSM data in an intermediate cache.
8082 */
81- struct middle_t : public middle_query_t {
82- static std::shared_ptr<middle_t > create_middle (bool slim);
83-
84- virtual ~middle_t () {}
83+ struct middle_t
84+ {
85+ virtual ~middle_t () = 0 ;
8586
86- virtual void start (const options_t *out_options_ ) = 0;
87+ virtual void start (options_t const *out_options ) = 0;
8788 virtual void stop (osmium::thread::Pool &pool) = 0;
8889 virtual void analyze (void ) = 0;
8990 virtual void commit (void ) = 0;
@@ -110,12 +111,16 @@ struct middle_t : public middle_query_t {
110111
111112 virtual std::shared_ptr<middle_query_t >
112113 get_query_instance (std::shared_ptr<middle_t > const &mid) const = 0 ;
113-
114- const options_t * out_options;
115114};
116115
116+ inline middle_t ::~middle_t () = default ;
117+
118+ /* *
119+ * Extended interface for permanent caching of raw OSM data.
120+ * It also allows updates.
121+ */
117122struct slim_middle_t : public middle_t {
118- virtual ~slim_middle_t () {}
123+ virtual ~slim_middle_t () = 0 ;
119124
120125 virtual void nodes_delete (osmid_t id) = 0;
121126 virtual void node_changed (osmid_t id) = 0;
@@ -127,4 +132,6 @@ struct slim_middle_t : public middle_t {
127132 virtual void relation_changed (osmid_t id) = 0;
128133};
129134
135+ inline slim_middle_t ::~slim_middle_t () = default ;
136+
130137#endif
0 commit comments