summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre GRANDIN <pgrandin@users.noreply.github.com>2017-12-01 16:19:02 -0800
committerGitHub <noreply@github.com>2017-12-01 16:19:02 -0800
commitb1cff2d153bfdcdd5c697d1d53f9fb17ef6851ef (patch)
tree156cc33f8d814b0e729d7a07f3e7cd7c6fad8e17
parente64dcdf46bdc8de18deed9c2509607369255686c (diff)
parent683426ad2722099881518ddfc4c2bac52a196527 (diff)
downloadnavit-fixImperialAgain.tar.gz
Merge branch 'trunk' into fixImperialAgainfixImperialAgain
-rw-r--r--navit/Doxyfile4
-rw-r--r--navit/icons/communication.svg59
-rw-r--r--navit/icons/concert.svg79
-rw-r--r--navit/map.h12
-rw-r--r--navit/plugin.c9
-rw-r--r--navit/vehicle.c3
-rw-r--r--navit/vehicle/android/vehicle_android.c17
-rw-r--r--navit/vehicle/demo/vehicle_demo.c12
-rw-r--r--navit/vehicle/file/vehicle_file.c10
-rw-r--r--navit/vehicle/gpsd/vehicle_gpsd.c10
-rw-r--r--navit/vehicle/gpsd_dbus/vehicle_gpsd_dbus.c10
-rw-r--r--navit/vehicle/gypsy/vehicle_gypsy.c16
-rw-r--r--navit/vehicle/iphone/vehicle_iphone.c10
-rw-r--r--navit/vehicle/maemo/vehicle_maemo.c23
-rw-r--r--navit/vehicle/null/vehicle_null.c10
-rw-r--r--navit/vehicle/qt5/vehicle_qt5.cpp12
-rw-r--r--navit/vehicle/webos/vehicle_webos.c10
-rw-r--r--navit/vehicle/wince/vehicle_wince.c10
-rw-r--r--navit/xmlconfig.h57
19 files changed, 246 insertions, 127 deletions
diff --git a/navit/Doxyfile b/navit/Doxyfile
index 0960da8b9..6b3bc777a 100644
--- a/navit/Doxyfile
+++ b/navit/Doxyfile
@@ -809,7 +809,7 @@ EXCLUDE_SYMLINKS = NO
# Note that the wildcards are matched against the file with absolute path, so to
# exclude all test directories for example use the pattern */test/*
-EXCLUDE_PATTERNS =
+EXCLUDE_PATTERNS = */support/*
# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
# (namespaces, classes, functions, etc.) that should be excluded from the
@@ -1504,7 +1504,7 @@ MATHJAX_CODEFILE =
# The default value is: YES.
# This tag requires that the tag GENERATE_HTML is set to YES.
-SEARCHENGINE = NO
+SEARCHENGINE = YES
# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
# implemented using a web server instead of a web client using Javascript. There
diff --git a/navit/icons/communication.svg b/navit/icons/communication.svg
index bad45d89a..35596b3c7 100644
--- a/navit/icons/communication.svg
+++ b/navit/icons/communication.svg
@@ -9,14 +9,17 @@
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- height="22"
+ height="200"
id="svg2"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
inkscape:version="0.92.2 (5c3e80d, 2017-08-06)"
sodipodi:docname="communication.svg"
sodipodi:version="0.32"
version="1.0"
- width="22">
+ width="200"
+ inkscape:export-filename="C:\Users\jeremy\Pictures\svg\communication.png"
+ inkscape:export-xdpi="96"
+ inkscape:export-ydpi="96">
<defs
id="defs22">
<inkscape:perspective
@@ -49,7 +52,7 @@
guidetolerance="10.0"
id="base"
inkscape:current-layer="svg2"
- inkscape:cx="14.450743"
+ inkscape:cx="9.6858801"
inkscape:cy="12.141264"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
@@ -57,7 +60,7 @@
inkscape:window-width="1366"
inkscape:window-x="-8"
inkscape:window-y="-8"
- inkscape:zoom="17.57188"
+ inkscape:zoom="1"
objecttolerance="10.0"
pagecolor="#ffffff"
showgrid="false"
@@ -66,16 +69,16 @@
inkscape:measure-end="0,0" />
<g
id="g1327"
- transform="matrix(0.04083073,0,0,0.04083073,-0.1767767,-1.0602338)">
+ transform="matrix(0.34431731,0,0,0.34431731,-0.1767767,0.6565548)">
<path
- d="M 66.275,1.768 C 24.94,1.768 1.704,23.139 1.704,66.804 l 0,450.123 c 0,40.844 20.894,62.229 62.192,62.229 l 452.024,0 c 41.307,0 62.229,-20.316 62.229,-62.229 l 0,-450.123 c 0,-42.601 -20.922,-65.036 -63.522,-65.036 -0.003,0 -448.494,-0.143 -448.352,0 z"
+ d="M 66.275,1.768 C 24.94,1.768 1.704,23.139 1.704,66.804 v 450.123 c 0,40.844 20.894,62.229 62.192,62.229 H 515.92 c 41.307,0 62.229,-20.316 62.229,-62.229 V 66.804 c 0,-42.601 -20.922,-65.036 -63.522,-65.036 -0.003,0 -448.494,-0.143 -448.352,0 z"
id="path1329"
style="fill:#111111;fill-opacity:0;stroke:#eeeeee;stroke-width:3.40799999;stroke-opacity:0"
inkscape:connector-curvature="0" />
</g>
<g
id="g2319"
- transform="matrix(0.04083073,0,0,0.04083073,35.725326,0.442546)">
+ transform="matrix(0.04083073,0,0,0.04083073,35.725326,178.44255)">
<path
d=""
id="path2323"
@@ -84,7 +87,7 @@
</g>
<g
id="g2325"
- transform="matrix(0.04083073,0,0,0.04083073,35.725326,0.442546)">
+ transform="matrix(0.04083073,0,0,0.04083073,35.725326,178.44255)">
<path
d=""
id="path2329"
@@ -92,39 +95,39 @@
inkscape:connector-curvature="0" />
</g>
<circle
- style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:2.10489988;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:19.34242439;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path898"
- cx="7.4564438"
- cy="6.1999226"
- r="2.5702684" />
+ cx="70.480728"
+ cy="55.175976"
+ r="23.618807" />
<path
- style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:1.2851342px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 1.7888865,21.595802 C 1.7472225,18.024565 2.7605344,9.5386167 5.2788818,9.3760639 c 1.9139241,-0.076555 2.6380187,-0.132203 4.1544689,0 2.1751583,0.1782276 3.9757453,7.8313611 3.9921953,12.2197371 h -1.607697 c -0.229376,-3.388486 -0.611612,-5.480113 -1.301468,-7.693975 -0.153114,1.071798 -0.229671,7.693976 -0.229671,7.693976 H 4.9277222 L 4.6214943,13.901826 c -1.1217852,2.785041 -1.3214048,5.746992 -1.3014684,7.770533 z"
+ style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:11.80940342px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 18.400196,196.65238 C 18.017335,163.8354 27.328899,85.85608 50.470592,84.362277 c 17.587504,-0.702977 24.241381,-1.214817 38.176402,0 19.988056,1.637799 36.534076,71.964233 36.685236,112.290103 h -14.77352 c -2.10778,-31.13765 -5.62024,-50.35805 -11.959493,-70.70173 -1.407001,9.84894 -2.110502,70.70173 -2.110502,70.70173 H 47.243703 l -2.814001,-70.70173 c -10.308351,25.5924 -12.142703,52.81047 -11.959503,71.40525 z"
id="path900"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccccc" />
<path
- style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:1.2851342px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="m 10.036017,7.7333484 c 0.706308,0.4985691 2.617492,-1.4126154 3.406895,-1.3710679 0.789403,0.041547 4.071655,0.9971401 5.027247,-0.1661899 C 19.425753,5.0327605 19.010277,1.2103904 17.680758,0.91955782 16.351238,0.62872539 10.243755,-0.32686724 9.4959004,1.7920554 8.7480459,3.910978 11.240895,5.3651405 11.656369,5.5313305 11.781013,6.320733 10.036017,7.7333484 10.036017,7.7333484 Z"
+ style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:11.80940342px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 94.185039,69.267024 c 6.490431,4.581479 24.052751,-12.9809 31.306761,-12.599087 7.25402,0.382272 37.41541,9.162956 46.19657,-1.527159 8.78119,-10.690116 4.96328,-45.8147836 -7.254,-48.4872889 -12.21726,-2.6725063 -68.340379,-11.453742 -75.212592,8.0176089 -6.872212,19.47126 16.035162,32.833882 19.853062,34.361041 1.14538,7.253985 -14.889801,20.234885 -14.889801,20.234885 z"
id="path902"
inkscape:connector-curvature="0"
sodipodi:nodetypes="csssscc" />
<circle
- style="fill:#0089cd;fill-opacity:1;stroke:#ffffff;stroke-width:0.50433594;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:#0089cd;fill-opacity:1;stroke:#ffffff;stroke-width:4.63446236;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path904"
- cx="12.427114"
- cy="3.3160748"
- r="0.24783203" />
+ cx="116.1574"
+ cy="28.675596"
+ r="2.2773874" />
<circle
- style="fill:#0089cd;fill-opacity:1;stroke:#ffffff;stroke-width:0.50433594;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:#0089cd;fill-opacity:1;stroke:#ffffff;stroke-width:4.63446236;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path904-5"
- cx="14.454914"
- cy="3.3160748"
- r="0.24783203" />
+ cx="134.79134"
+ cy="28.675596"
+ r="2.2773874" />
<circle
- style="fill:#0089cd;fill-opacity:1;stroke:#ffffff;stroke-width:0.50433594;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:#0089cd;fill-opacity:1;stroke:#ffffff;stroke-width:4.63446236;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path904-5-5"
- cx="16.446732"
- cy="3.3160748"
- r="0.24783203" />
+ cx="153.09462"
+ cy="28.675596"
+ r="2.2773874" />
</svg>
diff --git a/navit/icons/concert.svg b/navit/icons/concert.svg
index d226e4c2d..c908b056f 100644
--- a/navit/icons/concert.svg
+++ b/navit/icons/concert.svg
@@ -9,14 +9,17 @@
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- height="22"
+ height="200"
id="svg2"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
inkscape:version="0.92.2 (5c3e80d, 2017-08-06)"
sodipodi:docname="concert.svg"
sodipodi:version="0.32"
version="1.0"
- width="22">
+ width="200"
+ inkscape:export-filename="C:\Users\jeremy\Pictures\svg\concert.png"
+ inkscape:export-xdpi="96"
+ inkscape:export-ydpi="96">
<defs
id="defs22">
<inkscape:perspective
@@ -49,7 +52,7 @@
guidetolerance="10.0"
id="base"
inkscape:current-layer="svg2"
- inkscape:cx="20.75586"
+ inkscape:cx="14.153144"
inkscape:cy="4.6274553"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
@@ -57,7 +60,7 @@
inkscape:window-width="1366"
inkscape:window-x="-8"
inkscape:window-y="-8"
- inkscape:zoom="12.680782"
+ inkscape:zoom="1"
objecttolerance="10.0"
pagecolor="#ffffff"
showgrid="false"
@@ -67,16 +70,16 @@
inkscape:lockguides="true" />
<g
id="g1327"
- transform="matrix(0.04083073,0,0,0.04083073,-0.1767767,-1.0602338)">
+ transform="matrix(0.34431731,0,0,0.34431731,-0.1767767,0.6565548)">
<path
- d="M 66.275,1.768 C 24.94,1.768 1.704,23.139 1.704,66.804 l 0,450.123 c 0,40.844 20.894,62.229 62.192,62.229 l 452.024,0 c 41.307,0 62.229,-20.316 62.229,-62.229 l 0,-450.123 c 0,-42.601 -20.922,-65.036 -63.522,-65.036 -0.003,0 -448.494,-0.143 -448.352,0 z"
+ d="M 66.275,1.768 C 24.94,1.768 1.704,23.139 1.704,66.804 v 450.123 c 0,40.844 20.894,62.229 62.192,62.229 H 515.92 c 41.307,0 62.229,-20.316 62.229,-62.229 V 66.804 c 0,-42.601 -20.922,-65.036 -63.522,-65.036 -0.003,0 -448.494,-0.143 -448.352,0 z"
id="path1329"
style="fill:#111111;fill-opacity:0;stroke:#eeeeee;stroke-width:3.40799999;stroke-opacity:0"
inkscape:connector-curvature="0" />
</g>
<g
id="g2319"
- transform="matrix(0.04083073,0,0,0.04083073,35.725326,0.442546)">
+ transform="matrix(0.04083073,0,0,0.04083073,35.725326,178.44255)">
<path
d=""
id="path2323"
@@ -85,62 +88,42 @@
</g>
<g
id="g2325"
- transform="matrix(0.04083073,0,0,0.04083073,35.725326,0.442546)">
+ transform="matrix(0.04083073,0,0,0.04083073,35.725326,178.44255)">
<path
d=""
id="path2329"
style="fill:#0089cd;stroke:none"
inkscape:connector-curvature="0" />
</g>
- <path
- style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:1.16406763px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 11.89298,0.29824419 C 6.7920335,0.36448969 3.0245422,3.9744881 3.0160085,9.208339 c -0.00777,4.764226 8.8769715,12.089905 8.8769715,12.089905 0,0 8.399996,-7.12183 8.41325,-12.089905 C 20.3186,4.5706582 16.993926,0.29824419 11.89298,0.29824419 Z"
- id="path1492"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cscsc" />
- <path
- style="fill:#0089cd;fill-opacity:1;stroke:#ffffff;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 11.875679,1.0590326 C 7.1553836,1.1203346 3.669036,4.4609421 3.6611391,9.3042242 3.6539491,13.712926 11.875679,20.491937 11.875679,20.491937 c 0,0 7.773159,-6.590374 7.785423,-11.1877128 0.01145,-4.2916004 -3.065128,-8.2451916 -7.785423,-8.2451916 z"
- id="path1492-2"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cscsc"
- inkscape:transform-center-x="-1.3165584"
- inkscape:transform-center-y="3.1070785" />
- <circle
- style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.25710332;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="path1494"
- cx="11.661134"
- cy="8.7982445"
- r="7" />
<circle
- style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:0.50632137;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:9.95306969;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path1511"
- cx="8.9422398"
- cy="12.313624"
- r="1.313432" />
+ cx="54.465088"
+ cy="171.69257"
+ r="25.818937" />
<circle
- style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:0.50632137;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:9.95306969;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path1511-2"
- cx="13.315376"
- cy="10.128977"
- r="1.313432" />
+ cx="140.43051"
+ cy="128.74763"
+ r="25.818937" />
<rect
- style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:0.47141925;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:9.26697731;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect1530"
- width="1.1041681"
- height="5.7941589"
- x="9.1515036"
- y="6.3877821" />
+ width="21.705309"
+ height="113.89934"
+ x="58.578712"
+ y="55.204674" />
<rect
- style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:0.47141925;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:9.26697731;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect1530-1"
- width="1.1041681"
- height="5.7941589"
- x="13.52464"
- y="4.2824731" />
+ width="21.705309"
+ height="113.89934"
+ x="144.54413"
+ y="13.819176" />
<path
- style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:1.75124252px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 9.1557652,6.3877811 14.628808,3.7072399 V 5.1514704 L 9.1557652,7.8504332 Z"
+ style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:34.42524719px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 58.662477,55.204534 166.24943,2.511515 V 30.901629 L 58.662477,83.956741 Z"
id="path1547"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
diff --git a/navit/map.h b/navit/map.h
index 305c26b96..4ffe0d401 100644
--- a/navit/map.h
+++ b/navit/map.h
@@ -79,13 +79,13 @@ struct map_methods {
struct map_rect_priv * (*map_rect_new)(struct map_priv *map, struct map_selection *sel); /**< Function to create a new map rect on the map. */
void (*map_rect_destroy)(struct map_rect_priv *mr); /**< Function to destroy a map rect */
struct item * (*map_rect_get_item)(struct map_rect_priv *mr); /**< Function to return the next item from a map rect */
- struct item * (*map_rect_get_item_byid)(struct map_rect_priv *mr, int id_hi, int id_lo); /**< Function to get an item with a specific ID from a map rect */
- struct map_search_priv *(*map_search_new)(struct map_priv *map, struct item *item, struct attr *search, int partial); /**< Function to start a new search on the map */
- void (*map_search_destroy)(struct map_search_priv *ms); /**< Function to destroy a map search struct */
- struct item * (*map_search_get_item)(struct map_search_priv *ms); /**< Function to get the next item of a search on the map */
+ struct item * (*map_rect_get_item_byid)(struct map_rect_priv *mr, int id_hi, int id_lo); /**< Function to get an item with a specific ID from a map rect, can be NULL */
+ struct map_search_priv *(*map_search_new)(struct map_priv *map, struct item *item, struct attr *search, int partial); /**< Function to start a new search on the map, can be NULL */
+ void (*map_search_destroy)(struct map_search_priv *ms); /**< Function to destroy a map search struct, ignored if `map_search_new` is NULL */
+ struct item * (*map_search_get_item)(struct map_search_priv *ms); /**< Function to get the next item of a search on the map, ignored if `map_search_new` is NULL */
struct item * (*map_rect_create_item)(struct map_rect_priv *mr, enum item_type type); /**< Function to create a new item in the map */
- int (*map_get_attr)(struct map_priv *priv, enum attr_type type, struct attr *attr);
- int (*map_set_attr)(struct map_priv *priv, struct attr *attr);
+ int (*map_get_attr)(struct map_priv *priv, enum attr_type type, struct attr *attr); /**< Function to get a map attribute, can be NULL */
+ int (*map_set_attr)(struct map_priv *priv, struct attr *attr); /**< Function to set a map attribute, can be NULL */
};
diff --git a/navit/plugin.c b/navit/plugin.c
index 8c61bc9b7..aae09c470 100644
--- a/navit/plugin.c
+++ b/navit/plugin.c
@@ -1,4 +1,4 @@
-/**
+/*
* Navit, a modular navigation system.
* Copyright (C) 2005-2008 Navit Team
*
@@ -38,6 +38,13 @@
#include "item.h"
#include "debug.h"
+/**
+ * @defgroup plugins
+ * @brief A interface to handle all plugins inside navit
+ *
+ * @{
+ */
+
#ifdef USE_PLUGINS
#ifndef HAVE_GMODULE
typedef void * GModule;
diff --git a/navit/vehicle.c b/navit/vehicle.c
index 33cecb0e9..26dc457cb 100644
--- a/navit/vehicle.c
+++ b/navit/vehicle.c
@@ -18,6 +18,8 @@
*/
/** @file vehicle.c
+ * @defgroup vehicle-plugins vehicle plugins
+ * @ingroup plugins
* @brief Generic components of the vehicle object.
*
* This file implements the generic vehicle interface, i.e. everything which is
@@ -52,6 +54,7 @@
#include "vehicle.h"
#include "navit_nls.h"
+
struct vehicle {
NAVIT_OBJECT
struct vehicle_methods meth;
diff --git a/navit/vehicle/android/vehicle_android.c b/navit/vehicle/android/vehicle_android.c
index 89882d048..4165b9b31 100644
--- a/navit/vehicle/android/vehicle_android.c
+++ b/navit/vehicle/android/vehicle_android.c
@@ -1,6 +1,4 @@
-/** @file vehicle_android.c
- * @brief android uses dbus signals
- *
+/*
* Navit, a modular navigation system.
* Copyright (C) 2005-2008 Navit Team
*
@@ -18,8 +16,6 @@
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*
- * @Author Tim Niemeyer <reddog@mastersword.de>
- * @date 2008-2009
*/
#include <config.h>
@@ -35,6 +31,15 @@
#include "android.h"
#include "vehicle.h"
+/**
+ * @defgroup vehicle-android Vehicle Android
+ * @ingroup vehicle-plugins
+ * @brief The Vehicle to gain position data from android. Android uses dbus signals
+ * @author Tim Niemeyer <reddog@mastersword.de>
+ * @date 2008-2009
+ *
+ */
+
struct vehicle_priv {
struct callback_list *cbl;
struct coord_geo geo; /**< The last known position of the vehicle **/
@@ -294,3 +299,5 @@ plugin_init(void)
dbg(lvl_debug, "enter\n");
plugin_register_category_vehicle("android", vehicle_android_new_android);
}
+
+/** @} */
diff --git a/navit/vehicle/demo/vehicle_demo.c b/navit/vehicle/demo/vehicle_demo.c
index 4a47c1476..1e2991300 100644
--- a/navit/vehicle/demo/vehicle_demo.c
+++ b/navit/vehicle/demo/vehicle_demo.c
@@ -1,4 +1,4 @@
-/**
+/*
* Navit, a modular navigation system.
* Copyright (C) 2005-2008 Navit Team
*
@@ -34,6 +34,13 @@
#include "event.h"
#include "util.h"
+/**
+ * @defgroup vehicle-demo Vehicle Demo
+ * @ingroup vehicle-plugins
+ * @brief The Vehicle for a demo. It followes the route automatically
+ *
+ */
+
struct vehicle_priv {
int interval;
int position_set;
@@ -302,3 +309,6 @@ plugin_init(void)
dbg(lvl_debug, "enter\n");
plugin_register_category_vehicle("demo", vehicle_demo_new);
}
+
+
+/** @} */
diff --git a/navit/vehicle/file/vehicle_file.c b/navit/vehicle/file/vehicle_file.c
index affa05d24..81b99f829 100644
--- a/navit/vehicle/file/vehicle_file.c
+++ b/navit/vehicle/file/vehicle_file.c
@@ -1,4 +1,4 @@
-/**
+/*
* Navit, a modular navigation system.
* Copyright (C) 2005-2008 Navit Team
*
@@ -59,6 +59,14 @@ int inet_aton(const char *cp, struct in_addr *inp)
}
#endif
+/**
+ * @defgroup vehicle-file Vehicle File
+ * @ingroup vehicle-plugins
+ * @brief The Vehicle to gain position data from a file, pipe, serial interface or a socket
+ *
+ * @{
+ */
+
static void vehicle_file_disable_watch(struct vehicle_priv *priv);
static void vehicle_file_enable_watch(struct vehicle_priv *priv);
static int vehicle_file_parse(struct vehicle_priv *priv, char *buffer);
diff --git a/navit/vehicle/gpsd/vehicle_gpsd.c b/navit/vehicle/gpsd/vehicle_gpsd.c
index 27025c0a6..975d9c68a 100644
--- a/navit/vehicle/gpsd/vehicle_gpsd.c
+++ b/navit/vehicle/gpsd/vehicle_gpsd.c
@@ -1,4 +1,4 @@
-/**
+/*
* Navit, a modular navigation system.
* Copyright (C) 2005-2008 Navit Team
*
@@ -35,6 +35,14 @@
#include "event.h"
#include "types.h"
+/**
+ * @defgroup vehicle-gpsd Vehicle Gpsd
+ * @ingroup vehicle-plugins
+ * @brief The Vehicle to gain position data from the gpsd service
+ *
+ * @{
+ */
+
static struct vehicle_priv {
char *source;
char *gpsd_query;
diff --git a/navit/vehicle/gpsd_dbus/vehicle_gpsd_dbus.c b/navit/vehicle/gpsd_dbus/vehicle_gpsd_dbus.c
index fa5eb8780..ebdf08707 100644
--- a/navit/vehicle/gpsd_dbus/vehicle_gpsd_dbus.c
+++ b/navit/vehicle/gpsd_dbus/vehicle_gpsd_dbus.c
@@ -1,4 +1,4 @@
-/**
+/*
* Navit, a modular navigation system.
* Copyright (C) 2005-2008 Navit Team
*
@@ -34,6 +34,14 @@
#include "vehicle.h"
#include "event.h"
+/**
+ * @defgroup vehicle-gpsd-dbus Vehicle Gpsd DBus
+ * @ingroup vehicle-plugins
+ * @brief The Vehicle to gain position data from Gpsd over DBus
+ *
+ * @{
+ */
+
static char *vehicle_gpsd_dbus_prefix="gpsd_dbus:";
struct vehicle_priv {
diff --git a/navit/vehicle/gypsy/vehicle_gypsy.c b/navit/vehicle/gypsy/vehicle_gypsy.c
index 589e53a3f..16175f2e8 100644
--- a/navit/vehicle/gypsy/vehicle_gypsy.c
+++ b/navit/vehicle/gypsy/vehicle_gypsy.c
@@ -1,6 +1,4 @@
-/** @file vehicle_gypsy.c
- * @brief gypsy uses dbus signals
- *
+/*
* Navit, a modular navigation system.
* Copyright (C) 2005-2008 Navit Team
*
@@ -18,8 +16,6 @@
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*
- * @Author Tim Niemeyer <reddog@mastersword.de>
- * @date 2008-2009
*/
#include <config.h>
@@ -47,6 +43,16 @@
#include "item.h"
#include "vehicle.h"
+/**
+ * @defgroup vehicle-gypsy Vehicle gypsy
+ * @ingroup vehicle-plugins
+ * @brief The Vehicle to gain position data from gypsy. gypsy uses dbus signals
+ * @Author Tim Niemeyer <reddog@mastersword.de>
+ * @date 2008-2009
+ *
+ * @{
+ */
+
static struct vehicle_priv {
char *source;
GypsyControl *control;
diff --git a/navit/vehicle/iphone/vehicle_iphone.c b/navit/vehicle/iphone/vehicle_iphone.c
index 94fec114a..f8ce5b644 100644
--- a/navit/vehicle/iphone/vehicle_iphone.c
+++ b/navit/vehicle/iphone/vehicle_iphone.c
@@ -1,4 +1,4 @@
-/**
+/*
* Navit, a modular navigation system.
* Copyright (C) 2005-2008 Navit Team
*
@@ -33,6 +33,14 @@
#include "event.h"
#include "corelocation.h"
+/**
+ * @defgroup vehicle-iphone Vehicle iPhone
+ * @ingroup vehicle-plugins
+ * @brief The Vehicle to gain position data from iPhone.
+ *
+ * @{
+ */
+
struct vehicle_priv {
int interval;
int position_set;
diff --git a/navit/vehicle/maemo/vehicle_maemo.c b/navit/vehicle/maemo/vehicle_maemo.c
index d686a6a03..015f1c8e3 100644
--- a/navit/vehicle/maemo/vehicle_maemo.c
+++ b/navit/vehicle/maemo/vehicle_maemo.c
@@ -1,4 +1,4 @@
-/**
+/*
* Navit, a modular navigation system.
* Copyright (C) 2005-2008 Navit Team
*
@@ -18,14 +18,6 @@
*/
-/*
- Plugin for new Maemo's liblocation API.
-
- <vehicle source="maemo://any" retry_interval="1"/>
- source cound be on of "any","cwp","acwp","gnss","agnss"
- retry_interval could be one of "1","2","5","10","20","30","60","120" measured in seconds
-*/
-
#include <config.h>
#include <string.h>
#include <glib.h>
@@ -40,6 +32,19 @@
#include "vehicle.h"
#include "event.h"
+/**
+ * @defgroup vehicle-iphone Vehicle Maemo
+ * @ingroup vehicle-plugins
+ * @brief The Vehicle to gain position data from Maemo.
+ *
+ * Plugin for new Maemo's liblocation API.
+ * <vehicle source="maemo://any" retry_interval="1"/>
+ * source cound be on of "any","cwp","acwp","gnss","agnss"
+ * retry_interval could be one of "1","2","5","10","20","30","60","120" measured in seconds
+ *
+ * @{
+ */
+
static struct vehicle_priv {
LocationGPSDControl *control;
LocationGPSDevice *device;
diff --git a/navit/vehicle/null/vehicle_null.c b/navit/vehicle/null/vehicle_null.c
index 643945c71..6b723f9ff 100644
--- a/navit/vehicle/null/vehicle_null.c
+++ b/navit/vehicle/null/vehicle_null.c
@@ -1,4 +1,4 @@
-/** @file vehicle_null.c
+/*
* @brief null uses dbus signals
*
* Navit, a modular navigation system.
@@ -34,6 +34,14 @@
#include "item.h"
#include "vehicle.h"
+/**
+ * @defgroup vehicle-null Vehicle Null
+ * @ingroup vehicle-plugins
+ * @brief A dummy Vehicle to have a null movement.
+ *
+ * @{
+ */
+
struct vehicle_priv {
struct callback_list *cbl;
struct coord_geo geo;
diff --git a/navit/vehicle/qt5/vehicle_qt5.cpp b/navit/vehicle/qt5/vehicle_qt5.cpp
index 2a2b6f5cf..fc8a6635a 100644
--- a/navit/vehicle/qt5/vehicle_qt5.cpp
+++ b/navit/vehicle/qt5/vehicle_qt5.cpp
@@ -1,5 +1,4 @@
-/** @file vehicle_null.c
- * @brief null uses dbus signals
+/*
*
* Navit, a modular navigation system.
* Copyright (C) 2005-2017 Navit Team
@@ -41,6 +40,15 @@ extern "C" {
#include "vehicle_qt5.h"
#include "vehicle_qt5.moc"
#include <QDateTime>
+
+/**
+ * @defgroup vehicle-qt5 Vehicle QT5
+ * @ingroup vehicle-plugins
+ * @brief The Vehicle to gain position data from qt5
+ *
+ * @{
+ */
+
QNavitGeoReceiver::QNavitGeoReceiver(QObject* parent, struct vehicle_priv* c)
: QObject(parent)
{
diff --git a/navit/vehicle/webos/vehicle_webos.c b/navit/vehicle/webos/vehicle_webos.c
index a5bba4bce..c4bdcbaf2 100644
--- a/navit/vehicle/webos/vehicle_webos.c
+++ b/navit/vehicle/webos/vehicle_webos.c
@@ -1,4 +1,4 @@
-/**
+/*
* vim: sw=3 ts=3
*
* Navit, a modular navigation system.
@@ -37,6 +37,14 @@
#include "vehicle_webos.h"
#include "bluetooth.h"
+/**
+ * @defgroup vehicle-webos Vehicle WebOS
+ * @ingroup vehicle-plugins
+ * @brief The Vehicle to gain position data from WebOS
+ *
+ * @{
+ */
+
static char *vehicle_webos_prefix="webos:";
/*******************************************************************/
diff --git a/navit/vehicle/wince/vehicle_wince.c b/navit/vehicle/wince/vehicle_wince.c
index aee3394b2..49f90b1f5 100644
--- a/navit/vehicle/wince/vehicle_wince.c
+++ b/navit/vehicle/wince/vehicle_wince.c
@@ -1,4 +1,4 @@
-/**
+/*
* Navit, a modular navigation system.
* Copyright (C) 2005-2008 Navit Team
*
@@ -44,6 +44,14 @@
#include <wchar.h>
#include "support/win32/ConvertUTF.h"
+/**
+ * @defgroup vehicle-wince Vehicle WinCE
+ * @ingroup vehicle-plugins
+ * @brief The Vehicle to gain position data from WinCE
+ *
+ * @{
+ */
+
#define SwitchToThread() Sleep(0)
typedef int (WINAPI *PFN_BthSetMode)(DWORD pBthMode);
diff --git a/navit/xmlconfig.h b/navit/xmlconfig.h
index 2a2600473..483f215d0 100644
--- a/navit/xmlconfig.h
+++ b/navit/xmlconfig.h
@@ -65,20 +65,51 @@ typedef void *(*object_func_ref)(void *);
typedef void *(*object_func_unref)(void *);
+/**
+ * @brief Basic functions for Navit objects
+ *
+ * This is the minimal list of functions which is supported by every Navit object.
+ *
+ * Some members can be NULL for certain object types: while Navit does not mandate this function to be
+ * implemented for every object class, the function may need to be defined for some object classes.
+ *
+ * Default implementations are available for every function in the list except `create`, `init` and
+ * `dup`. These can be set directly, or type-specific implementations can call through to them as they
+ * see fit.
+ */
struct object_func {
- enum attr_type type;
- void *(*create)(struct attr *parent, struct attr **attrs);
- int (*get_attr)(void *, enum attr_type type, struct attr *attr, struct attr_iter *iter);
- struct attr_iter *(*iter_new)(void *);
- void (*iter_destroy)(struct attr_iter *);
- int (*set_attr)(void *, struct attr *attr);
- int (*add_attr)(void *, struct attr *attr);
- int (*remove_attr)(void *, struct attr *attr);
- int (*init)(void *);
- void (*destroy)(void *);
- void *(*dup)(void *);
- void *(*ref)(void *);
- void *(*unref)(void *);
+ enum attr_type type; /**< The object type */
+ void *(*create)(struct attr *parent, struct attr **attrs); /**< Function to create a new object instance */
+ int (*get_attr)(void *, enum attr_type type, struct attr *attr, struct attr_iter *iter); /**< Function
+ * to get an attribute of the object,
+ * set to `navit_object_get_attr` for default behavior */
+ struct attr_iter *(*iter_new)(void *); /**< Function to obtain a new attribute iterator,
+ * set to `navit_object_attr_iter_new` for default
+ * behavior, can be NULL for some object types */
+ void (*iter_destroy)(struct attr_iter *); /**< Function to destroy an attribute iterator,
+ * set to `navit_object_attr_iter_destroy` for default
+ * behavior, can be NULL for some object types */
+ int (*set_attr)(void *, struct attr *attr); /**< Function to set an attribute,
+ * set to `navit_object_set_attr` for default behavior,
+ * can be NULL for some object types */
+ int (*add_attr)(void *, struct attr *attr); /**< Function to add an attribute,
+ * set to `navit_object_add_attr` for default behavior,
+ * can be NULL for some object types */
+ int (*remove_attr)(void *, struct attr *attr); /**< Function to remove an attribute,
+ * set to `navit_object_remove_attr` for default behavior,
+ * can be NULL for some object types */
+ int (*init)(void *); /**< TODO,
+ * can be NULL for some object types */
+ void (*destroy)(void *); /**< Function to destroy an object instance,
+ * set to `navit_object_destroy` for default behavior,
+ * can be NULL */
+ void *(*dup)(void *); /**< Function to create a copy of an object instance */
+ void *(*ref)(void *); /**< Function to increase the reference count for an
+ * object instance, set to `navit_object_ref` for
+ * default behavior, can be NULL for some object types */
+ void *(*unref)(void *); /**< Function to decrease the reference count for an
+ * object instance, set to `navit_object_unref` for
+ * default behavior, can be NULL for some object types */
};
extern struct object_func map_func, mapset_func, navit_func, osd_func, tracking_func, vehicle_func, maps_func, layout_func, roadprofile_func, vehicleprofile_func, layer_func, config_func, profile_option_func, script_func, log_func, speech_func, navigation_func, route_func;