"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "navit/item.h" between
navit-0.5.5.tar.gz and navit-0.5.6.tar.gz

About: NavIt is a car navigation system with GPS tracking and a routing engine.

item.h  (navit-0.5.5):item.h  (navit-0.5.6)
skipping to change at line 97 skipping to change at line 97
struct item_id { struct item_id {
int id_hi; int id_hi;
int id_lo; int id_lo;
}; };
#define ITEM_ID_FMT "(0x%x,0x%x)" #define ITEM_ID_FMT "(0x%x,0x%x)"
#define ITEM_ID_ARGS(x) (x).id_hi,(x).id_lo #define ITEM_ID_ARGS(x) (x).id_hi,(x).id_lo
/** /**
* Represents an object on a map, such as a POI, a building, a way or a boundary * @brief Represents an object on a map.
. *
* An item holds the data for an individual item on a map, including its coordin
ates and various attributes. The item
* type specifies what the map item refers to, such as a POI, a building, a way
or a boundary. There are also special
* item types used internally, such as the various kinds of turn instructions. I
tem types are internally represented as
* numbers.
*
* Outside map implementations, items are generally retrieved from map rectangle
s, and their methods are implemented by
* the respective map driver. Items retrieved from a map rectangle are generally
short-lived: a previously retrieved
* item should be considered invalid when a new item is retrieved from the same
map rectangle, or after its map
* rectangle has been destroyed. After that, functions may segfault or return in
valid data, and even the item itself
* may have been deallocated.
*
* Actual behavior may differ between map implementations, but do not rely on an
y behavior not covered by the above
* interface contract. Exceptions apply, of course, for code that is limited to
working with items from one particular
* map (typically inside a map implementation).
*/ */
struct item { struct item {
enum item_type type; /**< Type of the item.*/ enum item_type type; /**< Type of the item.*/
int id_hi; /**< First part of the ID of the item (item IDs have two parts). */ int id_hi; /**< First part of the ID of the item (item IDs have two parts). */
int id_lo; /**< Second part of the ID of the item.*/ int id_lo; /**< Second part of the ID of the item.*/
struct map *map; /**< The map this items belongs to.*/ struct map *map; /**< The map this items belongs to.*/
struct item_methods *meth; /**< Methods to manipulate this item.*/ struct item_methods *meth; /**< Methods to manipulate this item.*/
void *priv_data; /**< Private item data, only used by the map plugin which s upplied this item.*/ void *priv_data; /**< Private item data, only used by the map plugin which s upplied this item.*/
}; };
extern struct item_range { extern struct item_range {
enum item_type min,max; enum item_type min,max;
} item_range_all; } item_range_all;
/**
* @brief An item indicating that the map driver is busy fetching more items.
*
* This is a “magic” item which may be returned by one of the query methods of a
map driver. Receiving this item means
* that the map driver is currently busy fetching more items, and they can be re
trieved at a later point in time.
*/
extern struct item busy_item; extern struct item busy_item;
/* prototypes */ /* prototypes */
enum attr_type; enum attr_type;
enum change_mode; enum change_mode;
enum item_type; enum item_type;
enum projection; enum projection;
struct attr; struct attr;
struct coord; struct coord;
struct item; struct item;
 End of changes. 2 change blocks. 
2 lines changed or deleted 33 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)