summaryrefslogtreecommitdiff
path: root/navigation_8c.html
diff options
context:
space:
mode:
Diffstat (limited to 'navigation_8c.html')
-rw-r--r--navigation_8c.html526
1 files changed, 526 insertions, 0 deletions
diff --git a/navigation_8c.html b/navigation_8c.html
new file mode 100644
index 000000000..aa1689c01
--- /dev/null
+++ b/navigation_8c.html
@@ -0,0 +1,526 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.6"/>
+<title>navit: navigation.c File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">navit
+ &#160;<span id="projectnumber">0.5.1-trunk</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File&#160;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('navigation_8c.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#define-members">Macros</a> &#124;
+<a href="#enum-members">Enumerations</a> &#124;
+<a href="#func-members">Functions</a> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">navigation.c File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &lt;stdio.h&gt;</code><br/>
+<code>#include &lt;stdlib.h&gt;</code><br/>
+<code>#include &lt;string.h&gt;</code><br/>
+<code>#include &lt;math.h&gt;</code><br/>
+<code>#include &lt;ctype.h&gt;</code><br/>
+<code>#include &lt;glib.h&gt;</code><br/>
+<code>#include &quot;debug.h&quot;</code><br/>
+<code>#include &quot;profile.h&quot;</code><br/>
+<code>#include &quot;navigation.h&quot;</code><br/>
+<code>#include &quot;coord.h&quot;</code><br/>
+<code>#include &quot;item.h&quot;</code><br/>
+<code>#include &quot;xmlconfig.h&quot;</code><br/>
+<code>#include &quot;<a class="el" href="route_8h_source.html">route.h</a>&quot;</code><br/>
+<code>#include &quot;transform.h&quot;</code><br/>
+<code>#include &quot;mapset.h&quot;</code><br/>
+<code>#include &quot;projection.h&quot;</code><br/>
+<code>#include &quot;<a class="el" href="map_8h_source.html">map.h</a>&quot;</code><br/>
+<code>#include &quot;navit.h&quot;</code><br/>
+<code>#include &quot;event.h&quot;</code><br/>
+<code>#include &quot;callback.h&quot;</code><br/>
+<code>#include &quot;speech.h&quot;</code><br/>
+<code>#include &quot;vehicleprofile.h&quot;</code><br/>
+<code>#include &quot;plugin.h&quot;</code><br/>
+<code>#include &quot;navit_nls.h&quot;</code><br/>
+<code>#include &quot;util.h&quot;</code><br/>
+<code>#include &quot;linguistics.h&quot;</code><br/>
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsuffix.html">suffix</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnavigation.html">navigation</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnavigation__maneuver.html">navigation_maneuver</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds information about a navigation maneuver. <a href="structnavigation__maneuver.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnavigation__command.html">navigation_command</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds information about a command for a navigation maneuver. <a href="structnavigation__command.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnavigation__way.html">navigation_way</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnavigation__itm.html">navigation_itm</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structstreet__destination.html">street_destination</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A linked list containing the destination of the road. <a href="structstreet__destination.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmap__priv.html">map_priv</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents the map from a single binfile. <a href="structmap__priv.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmap__rect__priv.html">map_rect_priv</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
+Macros</h2></td></tr>
+<tr class="memitem:a7cf689b7916c1fd66fae3457086a84d9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="navigation_8c.html#a7cf689b7916c1fd66fae3457086a84d9">mex_none</a>&#160;&#160;&#160;0</td></tr>
+<tr class="separator:a7cf689b7916c1fd66fae3457086a84d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d5317417b3243f023435edb85fbae56"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="navigation_8c.html#a3d5317417b3243f023435edb85fbae56">mex_merge</a>&#160;&#160;&#160;1</td></tr>
+<tr class="separator:a3d5317417b3243f023435edb85fbae56"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a59497518b56060abdd403f4169a7a41f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="navigation_8c.html#a59497518b56060abdd403f4169a7a41f">mex_exit</a>&#160;&#160;&#160;2</td></tr>
+<tr class="separator:a59497518b56060abdd403f4169a7a41f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acd435c7d1a7ddc7123c0420fb41070eb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="navigation_8c.html#acd435c7d1a7ddc7123c0420fb41070eb">mex_interchange</a>&#160;&#160;&#160;4</td></tr>
+<tr class="separator:acd435c7d1a7ddc7123c0420fb41070eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a77db1821c53c028020b2ebf601c9df34"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="navigation_8c.html#a77db1821c53c028020b2ebf601c9df34">mex_merge_right</a>&#160;&#160;&#160;9</td></tr>
+<tr class="separator:a77db1821c53c028020b2ebf601c9df34"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aafec98459688e4c23a1ad0418f617724"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="navigation_8c.html#aafec98459688e4c23a1ad0418f617724">mex_exit_right</a>&#160;&#160;&#160;10</td></tr>
+<tr class="separator:aafec98459688e4c23a1ad0418f617724"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa4b62b8fa31789d6fbe3ca5452bf19b2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="navigation_8c.html#aa4b62b8fa31789d6fbe3ca5452bf19b2">mex_merge_left</a>&#160;&#160;&#160;17</td></tr>
+<tr class="separator:aa4b62b8fa31789d6fbe3ca5452bf19b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5098a1f8794cddb3192b9200caf96738"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="navigation_8c.html#a5098a1f8794cddb3192b9200caf96738">mex_exit_left</a>&#160;&#160;&#160;18</td></tr>
+<tr class="separator:a5098a1f8794cddb3192b9200caf96738"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr class="memitem:ae478d5e9cecedb9e7386eb80a35f8312"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="navigation_8c.html#ae478d5e9cecedb9e7386eb80a35f8312">announcement_level</a> { <br/>
+&#160;&#160;<b>level_connect</b> = -2,
+<b>level_error</b> = -1,
+<b>level_now</b> = 0,
+<b>level_meters</b> = 1,
+<br/>
+&#160;&#160;<b>level_soon</b> = 2,
+<b>level_follow</b> = 3
+<br/>
+ }</td></tr>
+<tr class="separator:ae478d5e9cecedb9e7386eb80a35f8312"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8b23cf17b30a85699ca867751a071153"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><b>gender</b> { <b>unknown</b>,
+<b>masculine</b>,
+<b>feminine</b>,
+<b>neuter</b>
+ }</td></tr>
+<tr class="separator:a8b23cf17b30a85699ca867751a071153"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7ddcfa7ead6b183a42d71cacc767b7e0"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><b>nav_status_int</b> { <b>status_none</b> = 0,
+<b>status_busy</b> = 1,
+<b>status_has_ritem</b> = 2,
+<b>status_has_sitem</b> = 4
+ }</td></tr>
+<tr class="separator:a7ddcfa7ead6b183a42d71cacc767b7e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ab61fd72ab5180f84206c1619b60c201d"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="navigation_8c.html#ab61fd72ab5180f84206c1619b60c201d">nav_status_to_text</a> (int status)</td></tr>
+<tr class="memdesc:ab61fd72ab5180f84206c1619b60c201d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts navigation status to human-readable text. <a href="#ab61fd72ab5180f84206c1619b60c201d">More...</a><br/></td></tr>
+<tr class="separator:ab61fd72ab5180f84206c1619b60c201d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af52411918a519cbfb8ee3dd4be14b178"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af52411918a519cbfb8ee3dd4be14b178"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>navigation_get_attr</b> (struct <a class="el" href="structnavigation.html">navigation</a> *this_, enum attr_type type, struct <a class="el" href="structattr.html">attr</a> *<a class="el" href="structattr.html">attr</a>, struct <a class="el" href="structattr__iter.html">attr_iter</a> *iter)</td></tr>
+<tr class="separator:af52411918a519cbfb8ee3dd4be14b178"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af44538ba61ffd85df204d405749f6029"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af44538ba61ffd85df204d405749f6029"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>navigation_set_attr</b> (struct <a class="el" href="structnavigation.html">navigation</a> *this_, struct <a class="el" href="structattr.html">attr</a> *<a class="el" href="structattr.html">attr</a>)</td></tr>
+<tr class="separator:af44538ba61ffd85df204d405749f6029"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1bd603240f52e2622daf7c2e33901f03"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1bd603240f52e2622daf7c2e33901f03"></a>
+struct <a class="el" href="structnavigation.html">navigation</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>navigation_new</b> (struct <a class="el" href="structattr.html">attr</a> *<a class="el" href="structparent.html">parent</a>, struct <a class="el" href="structattr.html">attr</a> **attrs)</td></tr>
+<tr class="separator:a1bd603240f52e2622daf7c2e33901f03"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae35ea203f309dddf0f4177a292994a73"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae35ea203f309dddf0f4177a292994a73"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>navigation_set_announce</b> (struct <a class="el" href="structnavigation.html">navigation</a> *this_, enum item_type type, int *<a class="el" href="structlevel.html">level</a>)</td></tr>
+<tr class="separator:ae35ea203f309dddf0f4177a292994a73"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad3dfa1aabdcb3ee153eddbb91d5c6782"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad3dfa1aabdcb3ee153eddbb91d5c6782"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>navigation_destroy</b> (struct <a class="el" href="structnavigation.html">navigation</a> *this_)</td></tr>
+<tr class="separator:ad3dfa1aabdcb3ee153eddbb91d5c6782"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a141e6722ebe071a7c2aa48ac2a16e888"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="navigation_8c.html#a141e6722ebe071a7c2aa48ac2a16e888">navigation_register_callback</a> (struct <a class="el" href="structnavigation.html">navigation</a> *this_, enum attr_type type, struct <a class="el" href="structcallback.html">callback</a> *cb)</td></tr>
+<tr class="memdesc:a141e6722ebe071a7c2aa48ac2a16e888"><td class="mdescLeft">&#160;</td><td class="mdescRight">Registers a new callback function. <a href="#a141e6722ebe071a7c2aa48ac2a16e888">More...</a><br/></td></tr>
+<tr class="separator:a141e6722ebe071a7c2aa48ac2a16e888"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a22c0a776e9a1c462ce9bbf6d8ebb4d24"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="navigation_8c.html#a22c0a776e9a1c462ce9bbf6d8ebb4d24">navigation_unregister_callback</a> (struct <a class="el" href="structnavigation.html">navigation</a> *this_, enum attr_type type, struct <a class="el" href="structcallback.html">callback</a> *cb)</td></tr>
+<tr class="memdesc:a22c0a776e9a1c462ce9bbf6d8ebb4d24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unregisters a callback function. <a href="#a22c0a776e9a1c462ce9bbf6d8ebb4d24">More...</a><br/></td></tr>
+<tr class="separator:a22c0a776e9a1c462ce9bbf6d8ebb4d24"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0a8a5f4e94a4c775901bfeccc4801bd6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0a8a5f4e94a4c775901bfeccc4801bd6"></a>
+struct <a class="el" href="structmap.html">map</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>navigation_get_map</b> (struct <a class="el" href="structnavigation.html">navigation</a> *this_)</td></tr>
+<tr class="separator:a0a8a5f4e94a4c775901bfeccc4801bd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adedaab7a3c765b3fd3f44d76a2b18d30"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adedaab7a3c765b3fd3f44d76a2b18d30"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>navigation_set_route</b> (struct <a class="el" href="structnavigation.html">navigation</a> *this_, struct <a class="el" href="structroute.html">route</a> *<a class="el" href="structroute.html">route</a>)</td></tr>
+<tr class="separator:adedaab7a3c765b3fd3f44d76a2b18d30"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0365f749e045fe22436cb4418a7a96e4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0365f749e045fe22436cb4418a7a96e4"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>navigation_init</b> (void)</td></tr>
+<tr class="separator:a0365f749e045fe22436cb4418a7a96e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:aa565aae0c1fb0952c6ac477f449f7549"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa565aae0c1fb0952c6ac477f449f7549"></a>
+struct <a class="el" href="structsuffix.html">suffix</a>&#160;</td><td class="memItemRight" valign="bottom"><b>suffixes</b> []</td></tr>
+<tr class="separator:aa565aae0c1fb0952c6ac477f449f7549"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa9541e5fa2bd1f5f4e6b605c9a87b16e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa9541e5fa2bd1f5f4e6b605c9a87b16e"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="navigation_8c.html#aa9541e5fa2bd1f5f4e6b605c9a87b16e">distances</a> [] ={1,2,3,4,5,10,25,50,75,100,150,200,250,300,400,500,750,-1}</td></tr>
+<tr class="memdesc:aa9541e5fa2bd1f5f4e6b605c9a87b16e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set of simplified distance values that are easy to be pronounced. Used for the 'vocabulary_distances' configuration. <br/></td></tr>
+<tr class="separator:aa9541e5fa2bd1f5f4e6b605c9a87b16e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a67657ae1ed8eaea55d26b24c019d66bd"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structobject__func.html">object_func</a>&#160;</td><td class="memItemRight" valign="bottom"><b>navigation_func</b></td></tr>
+<tr class="separator:a67657ae1ed8eaea55d26b24c019d66bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Navit, a modular navigation system. Copyright (C) 2005-2015 Navit Team</p>
+<p>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.</p>
+<p>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.</p>
+<p>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.</p>
+<p>Generates navigation messages for a calculated route. </p>
+</div><h2 class="groupheader">Macro Definition Documentation</h2>
+<a class="anchor" id="a59497518b56060abdd403f4169a7a41f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define mex_exit&#160;&#160;&#160;2</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Exiting from a motorway-like road, direction undefined. This should only be used for ramps leading to a non-motorway road. For interchanges, use <a class="el" href="navigation_8c.html#acd435c7d1a7ddc7123c0420fb41070eb">mex_interchange</a> instead. This value is not intended to be set directly but can be used for comparisons, e.g. <code>merge_or_exit &amp; mex_merge</code>. </p>
+
+</div>
+</div>
+<a class="anchor" id="a5098a1f8794cddb3192b9200caf96738"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define mex_exit_left&#160;&#160;&#160;18</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Exiting from a motorway-like road to the left. </p>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="navigation_8c.html#a59497518b56060abdd403f4169a7a41f">mex_exit</a> for usage </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="aafec98459688e4c23a1ad0418f617724"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define mex_exit_right&#160;&#160;&#160;10</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Exiting from a motorway-like road to the right. </p>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="navigation_8c.html#a59497518b56060abdd403f4169a7a41f">mex_exit</a> for usage </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="acd435c7d1a7ddc7123c0420fb41070eb"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define mex_interchange&#160;&#160;&#160;4</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Motorway-like road splits in two. This should be used for all cases in which ramps lead to another motorway-like road. </p>
+
+</div>
+</div>
+<a class="anchor" id="a3d5317417b3243f023435edb85fbae56"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define mex_merge&#160;&#160;&#160;1</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Merging into a motorway-like road, direction undefined. This value is not intended to be set directly but can be used for comparisons, e.g. <code>merge_or_exit &amp; mex_merge</code>. </p>
+
+</div>
+</div>
+<a class="anchor" id="aa4b62b8fa31789d6fbe3ca5452bf19b2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define mex_merge_left&#160;&#160;&#160;17</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Merging into a motorway-like road to the left (coming from the right) </p>
+
+</div>
+</div>
+<a class="anchor" id="a77db1821c53c028020b2ebf601c9df34"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define mex_merge_right&#160;&#160;&#160;9</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Merging into a motorway-like road to the right (coming from the left) </p>
+
+</div>
+</div>
+<a class="anchor" id="a7cf689b7916c1fd66fae3457086a84d9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define mex_none&#160;&#160;&#160;0</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Not merging into or exiting from a motorway_like road </p>
+
+</div>
+</div>
+<h2 class="groupheader">Enumeration Type Documentation</h2>
+<a class="anchor" id="ae478d5e9cecedb9e7386eb80a35f8312"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="navigation_8c.html#ae478d5e9cecedb9e7386eb80a35f8312">announcement_level</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Enum that defines the different states in announcing a turn. These states are dependent on the current distance to the turn; the distances are configured in navit.xml for every type of highway. </p>
+
+</div>
+</div>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ab61fd72ab5180f84206c1619b60c201d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char* nav_status_to_text </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>status</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Converts navigation status to human-readable text. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">The</td><td>status. This must be one of the values for<div class="fragment"><div class="line"><span class="keyword">enum</span> nav_status </div>
+</div><!-- fragment --> .</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A string which corresponds to the constant value. The caller is responsible for calling <div class="fragment"><div class="line">g_free() </div>
+</div><!-- fragment --> when the result is no longer needed. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a141e6722ebe071a7c2aa48ac2a16e888"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int navigation_register_callback </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="structnavigation.html">navigation</a> *&#160;</td>
+ <td class="paramname"><em>this_</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">enum attr_type&#160;</td>
+ <td class="paramname"><em>type</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct <a class="el" href="structcallback.html">callback</a> *&#160;</td>
+ <td class="paramname"><em>cb</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Registers a new callback function. </p>
+<p>Callback functions are called whenever the attribute for which they are registered changes. It is possible to register callbacks for</p>
+<div class="fragment"><div class="line">attr_any </div>
+</div><!-- fragment --><p> , which will fire on any change.</p>
+<p>The</p>
+<div class="fragment"><div class="line"><a class="code" href="structnavigation.html">navigation</a> </div>
+</div><!-- fragment --><p> object has three callback lists. They differ by the arguments which are passed to the callback function and are selected based on the attribute type: </p>
+<ul>
+<li>
+Callbacks for the<div class="fragment"><div class="line">navigation_speech </div>
+</div><!-- fragment --> attribute are added to the <div class="fragment"><div class="line">callback_speech </div>
+</div><!-- fragment --> list. </li>
+<li>
+Callbacks for the<div class="fragment"><div class="line">navigation_long </div>
+</div><!-- fragment --> attribute are added to the<div class="fragment"><div class="line"><a class="code" href="structcallback.html">callback</a> </div>
+</div><!-- fragment --> list. </li>
+<li>
+Callbacks for any other attribute, including<div class="fragment"><div class="line">attr_any </div>
+</div><!-- fragment --> , are added to the list stored in the<div class="fragment"><div class="line"><a class="code" href="structcallback__list.html">callback_list</a> </div>
+</div><!-- fragment --> attribute. This functionality is inherited from <div class="fragment"><div class="line"><a class="code" href="structnavit__object.html">navit_object</a> </div>
+</div><!-- fragment --> . </li>
+</ul>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">this_</td><td>The navigation object. </td></tr>
+ <tr><td class="paramname">type</td><td>The attribute type </td></tr>
+ <tr><td class="paramname">cb</td><td>The callback function</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>true on success, false on failure </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a22c0a776e9a1c462ce9bbf6d8ebb4d24"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void navigation_unregister_callback </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="structnavigation.html">navigation</a> *&#160;</td>
+ <td class="paramname"><em>this_</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">enum attr_type&#160;</td>
+ <td class="paramname"><em>type</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct <a class="el" href="structcallback.html">callback</a> *&#160;</td>
+ <td class="paramname"><em>cb</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Unregisters a callback function. </p>
+<p>This function removes a previously registered callback function from the callback list to which it was added. See the documentation on <a class="el" href="navigation_8c.html#a141e6722ebe071a7c2aa48ac2a16e888">navigation_register_callback(struct navigation *, enum attr_type, struct callback *)</a> for details on callback lists.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">this_</td><td>The navigation object. </td></tr>
+ <tr><td class="paramname">type</td><td>The attribute type </td></tr>
+ <tr><td class="paramname">cb</td><td>The callback function </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="a67657ae1ed8eaea55d26b24c019d66bd"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct <a class="el" href="structobject__func.html">object_func</a> navigation_func</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
+<div class="line"> attr_navigation,</div>
+<div class="line"> (object_func_new)navigation_new,</div>
+<div class="line"> (object_func_get_attr)navigation_get_attr,</div>
+<div class="line"> (object_func_iter_new)navit_object_attr_iter_new,</div>
+<div class="line"> (object_func_iter_destroy)navit_object_attr_iter_destroy,</div>
+<div class="line"> (object_func_set_attr)navigation_set_attr,</div>
+<div class="line"> (object_func_add_attr)navit_object_add_attr,</div>
+<div class="line"> (object_func_remove_attr)navit_object_remove_attr,</div>
+<div class="line"> (object_func_init)NULL,</div>
+<div class="line"> (object_func_destroy)navigation_destroy,</div>
+<div class="line"> (object_func_dup)NULL,</div>
+<div class="line"> (object_func_ref)navit_object_ref,</div>
+<div class="line"> (object_func_unref)navit_object_unref,</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="navigation_8c.html">navigation.c</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
+ </ul>
+</div>
+</body>
+</html>