navit
0.5.3-trunk
|
Contains code used for loading more than one map. More...
#include <string.h>
#include <glib.h>
#include <glib/gprintf.h>
#include "debug.h"
#include "item.h"
#include "mapset.h"
#include "projection.h"
#include "map.h"
#include "xmlconfig.h"
Data Structures | |
struct | mapset |
struct | attr_iter |
struct | mapset_handle |
Handle for a mapset in use. More... | |
struct | mapset_search |
Holds information about a search in a mapset. More... | |
Functions | |
struct mapset * | mapset_new (struct attr *parent, struct attr **attrs) |
Creates a new, empty mapset. More... | |
struct mapset * | mapset_dup (struct mapset *ms) |
struct attr_iter * | mapset_attr_iter_new (void *unused) |
void | mapset_attr_iter_destroy (struct attr_iter *iter) |
int | mapset_add_attr (struct mapset *ms, struct attr *attr) |
Adds a map to a mapset. More... | |
int | mapset_remove_attr (struct mapset *ms, struct attr *attr) |
int | mapset_get_attr (struct mapset *ms, enum attr_type type, struct attr *attr, struct attr_iter *iter) |
void | mapset_destroy (struct mapset *ms) |
Destroys a mapset. More... | |
struct mapset_handle * | mapset_open (struct mapset *ms) |
Returns a new handle for a mapset. More... | |
struct map * | mapset_next (struct mapset_handle *msh, int active) |
Gets the next map from a mapset handle. More... | |
struct map * | mapset_get_map_by_name (struct mapset *ms, const char *map_name) |
Gets a map from the mapset by name. More... | |
void | mapset_close (struct mapset_handle *msh) |
Closes a mapset handle after it is no longer used. More... | |
struct mapset_search * | mapset_search_new (struct mapset *ms, struct item *item, struct attr *search_attr, int partial) |
Starts a search on a mapset. More... | |
struct item * | mapset_search_get_item (struct mapset_search *this_) |
Returns the next found item from a mapset search. More... | |
void | mapset_search_destroy (struct mapset_search *this_) |
Destroys a mapset search. More... | |
Variables | |
struct object_func | mapset_func |
Contains code used for loading more than one map.
Navit, a modular navigation system. Copyright (C) 2005-2008 Navit Team
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
The code in this file introduces "mapsets", which are collections of several maps. This enables navit to operate on more than one map at once. See map.c / map.h to learn how maps are handled.
Adds a map to a mapset.
ms | The mapset to add the map to |
m | The map to be added |
References attr_generic_add_attr(), attr::map, mapset::maps, attr::type, and attr::u.
Referenced by Java_org_navitproject_navit_NavitCallbackHandler_callbackMessageChannel(), mapset_add_py(), navit_get_search_results_map(), navit_init(), and pedestrian_navit_init().
void mapset_attr_iter_destroy | ( | struct attr_iter * | iter | ) |
References attr_iter::iter.
Referenced by request_mapset_attr_iter_destroy().
struct attr_iter* mapset_attr_iter_new | ( | void * | unused | ) |
Referenced by request_mapset_attr_iter().
void mapset_close | ( | struct mapset_handle * | msh | ) |
Closes a mapset handle after it is no longer used.
msh | Mapset handle to be closed |
Referenced by NGQPoint::_coordName(), do_draw(), Backend::get_pois(), NGQPoint::getPOI(), gui_internal_cmd2_route_height_profile(), gui_internal_cmd_pois(), mapset_get_map_by_name(), model_poi(), navit_destroy(), navit_get_attr(), navit_init(), navit_map_progress(), osd_route_guard_init(), osd_speed_cam_draw(), route_find_nearest_street(), route_graph_build_done(), tracking_doupdate_lines(), and traffic_message_restore_segments().
void mapset_destroy | ( | struct mapset * | ms | ) |
Destroys a mapset.
This destroys a mapset. Please note that it does not touch the contained maps in any way.
ms | The mapset to be destroyed |
References attr_list_free(), and mapset::maps.
Referenced by mapset_destroy_py().
References mapset::maps, and mapset_new().
int mapset_get_attr | ( | struct mapset * | ms, |
enum attr_type | type, | ||
struct attr * | attr, | ||
struct attr_iter * | iter | ||
) |
References attr_iter::iter, attr::map, mapset::maps, attr::type, type, and attr::u.
Referenced by request_mapset_get_attr(), and resolve_object().
Gets a map from the mapset by name.
ms | The map |
map_name | the map name used by the search |
References map_get_attr(), mapset_close(), mapset_next(), mapset_open(), attr::str, and attr::u.
Referenced by Java_org_navitproject_navit_NavitCallbackHandler_callbackMessageChannel(), navit_cmd_map_add_curr_pos(), navit_cmd_map_item_set_attr(), and navit_get_search_results_map().
Creates a new, empty mapset.
References attr_list_dup(), mapset_func, and navit_object_ref().
Referenced by mapset_dup(), and mapset_new_py().
struct map* mapset_next | ( | struct mapset_handle * | msh, |
int | active | ||
) |
Gets the next map from a mapset handle.
The active
argument governs whether (and how) to limit the search to active maps:
Passing 0 causes this function to cycle through all maps, whether active or not.
Passing a value of 2 will return only maps which have the attr_route_active
attribute set to true.
Passing a value of 3 will return only maps which have the attr_search_active
attribute set to true.
Passing any other nonzero value will return only maps which have the attr_active
attribute set to true, or not set at all.
msh | The mapset handle to get the next map of |
active | Whether to cycle only through active maps (see description) |
References active, mapset_handle::l, map_get_attr(), attr::num, and attr::u.
Referenced by NGQPoint::_coordName(), do_draw(), Backend::get_pois(), NGQPoint::getPOI(), gui_internal_cmd2_route_height_profile(), gui_internal_cmd_pois(), map_route_occluded_get_buildings(), mapset_get_map_by_name(), model_poi(), navit_destroy(), navit_get_attr(), navit_init(), navit_map_progress(), osd_route_guard_init(), osd_speed_cam_draw(), route_find_nearest_street(), route_graph_build_next_map(), tracking_doupdate_lines(), traffic_location_get_matching_points(), traffic_location_populate_route_graph(), and traffic_message_restore_segments().
struct mapset_handle* mapset_open | ( | struct mapset * | ms | ) |
Returns a new handle for a mapset.
This returns a new handle for an existing mapset. The new handle points to the first map in the set.
ms | The mapset to get a handle of |
References mapset_handle::l, and mapset::maps.
Referenced by NGQPoint::_coordName(), do_draw(), Backend::get_pois(), NGQPoint::getPOI(), gui_internal_cmd2_route_height_profile(), gui_internal_cmd_pois(), map_route_occluded_get_buildings(), mapset_get_map_by_name(), model_poi(), navit_destroy(), navit_get_attr(), navit_init(), navit_map_progress(), osd_route_guard_init(), osd_speed_cam_draw(), route_find_nearest_street(), route_graph_build(), tracking_doupdate_lines(), traffic_location_get_matching_points(), traffic_location_populate_route_graph(), and traffic_message_restore_segments().
References attr_generic_remove_attr(), attr::map, mapset::maps, attr::type, and attr::u.
Referenced by Java_org_navitproject_navit_NavitCallbackHandler_callbackMessageChannel(), and navit_destroy().
void mapset_search_destroy | ( | struct mapset_search * | this_ | ) |
Destroys a mapset search.
this | The mapset search to be destroyed |
Referenced by search_list_get_result(), and search_list_search_free().
struct item* mapset_search_get_item | ( | struct mapset_search * | this_ | ) |
Returns the next found item from a mapset search.
This function returns the next item from a mapset search or NULL if there are no more items found. It automatically iterates through all the maps in the mapset. Please note that maps which have the attr_active attribute associated with them and set to false are not searched.
this | The mapset search to return an item from |
References mapset_search::item, mapset_search::map, map_get_attr(), map_search_destroy(), map_search_get_item(), map_search_new(), mapset::maps, mapset_search::mapset, mapset_search::ms, attr::num, mapset_search::partial, mapset_search::search_attr, attr::type, and attr::u.
Referenced by search_list_get_result().
struct mapset_search* mapset_search_new | ( | struct mapset * | ms, |
struct item * | item, | ||
struct attr * | search_attr, | ||
int | partial | ||
) |
Starts a search on a mapset.
This function starts a search on a mapset. What attributes one can search for depends on the map plugin. See the description of map_search_new() in map.c for details.
If you enable partial matches bear in mind that the search matches only the begin of the strings - a search for a street named "street" would match to "streetfoo", but not to "somestreet". Search is case insensitive.
The item passed to this function specifies a "superior item" to "search within" - e.g. a town in which we want to search for a street, or a country in which to search for a town.
ms | The mapset that should be searched |
item | Specifies a superior item to "search within" (see description) |
search_attr | Attribute specifying what to search for. See description. |
partial | Set this to true to also have partial matches. See description. |
References dbg, item, lvl_debug, mapset_search::ms, mapset_search::partial, and mapset_search::search_attr.
Referenced by search_list_get_result().
struct object_func mapset_func |
Referenced by mapset_new(), and object_func_lookup().