source: subversion/applications/utils/export/osm2pgsql/middle.h @ 3210

Last change on this file since 3210 was 2827, checked in by jonb, 13 years ago

osm2pgsql - make experimental version current, move previous implementation to legacy

File size: 945 bytes
Line 
1/* Common middle layer interface */
2
3/* Each middle layer data store must provide methods for
4 * storing and retrieving node, segment and way data.
5 */
6
7#ifndef MIDDLE_H
8#define MIDDLE_H
9
10#include "keyvals.h"
11
12struct middle_t {
13    int (*start)(int dropcreate);
14    void (*stop)(void);
15    void (*cleanup)(void);
16    void (*analyze)(void);
17    void (*end)(void);
18    int (*segments_set)(int id, int from, int to, struct keyval *tags);
19    int (*segments_get)(struct osmSegment *out, int id);
20    int (*nodes_set)(int id, double lat, double lon, struct keyval *tags);
21    int (*nodes_get)(struct osmNode *out, int id);
22    int (*ways_set)(int id, struct keyval *segs, struct keyval *tags);
23    int *(*ways_get)(int id);
24    void (*iterate_nodes)(int (*callback)(int id, struct keyval *tags, double node_lat, double node_lon));
25    void (*iterate_ways)(int (*callback)(int id, struct keyval *tags, struct osmSegLL *segll, int count));
26};
27
28#endif
Note: See TracBrowser for help on using the repository browser.