]> git.street.me.uk Git - andy/viking.git/blame - src/vikroutingengine.h
Some spelling fixes in a comment
[andy/viking.git] / src / vikroutingengine.h
CommitLineData
9f30939a
GB
1/*
2 * viking -- GPS Data and Topo Analyzer, Explorer, and Manager
3 *
4 * Copyright (C) 2012-2013, Guilhem Bonnefille <guilhem.bonnefille@gmail.com>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 *
20 */
21#ifndef _VIKING_ROUTING_ENGINE_H
22#define _VIKING_ROUTING_ENGINE_H
23
24#include <glib.h>
25
26#include "viktrwlayer.h"
27#include "coords.h"
28#include "download.h"
29
30#include "vikwindow.h"
31
32G_BEGIN_DECLS
33
34#define VIK_ROUTING_ENGINE_TYPE (vik_routing_engine_get_type ())
35#define VIK_ROUTING_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIK_ROUTING_ENGINE_TYPE, VikRoutingEngine))
36#define VIK_ROUTING_ENGINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIK_ROUTING_ENGINE_TYPE, VikRoutingEngineClass))
37#define VIK_IS_ROUTING_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIK_ROUTING_ENGINE_TYPE))
38#define VIK_IS_ROUTING_ENGINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIK_ROUTING_ENGINE_TYPE))
39#define VIK_ROUTING_ENGINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIK_ROUTING_ENGINE_TYPE, VikRoutingEngineClass))
40
41
42typedef struct _VikRoutingEngine VikRoutingEngine;
43typedef struct _VikRoutingEngineClass VikRoutingEngineClass;
44
45struct _VikRoutingEngineClass
46{
47 GObjectClass object_class;
41e48655 48 gboolean (*find)(VikRoutingEngine *self, VikTrwLayer *vtl, struct LatLon start, struct LatLon end);
09f04587 49 gchar *(*get_url_from_directions)(VikRoutingEngine *self, const gchar *start, const gchar *end);
7f95fd54 50 gboolean (*supports_direction)(VikRoutingEngine *self);
41e48655 51 gboolean (*refine)(VikRoutingEngine *self, VikTrwLayer *vtl, VikTrack *vt);
1a3be6a8 52 gboolean (*supports_refine)(VikRoutingEngine *self);
9f30939a
GB
53};
54
55GType vik_routing_engine_get_type ();
56
57struct _VikRoutingEngine {
58 GObject obj;
59};
60
41e48655
RN
61gboolean vik_routing_engine_find ( VikRoutingEngine *self, VikTrwLayer *vtl, struct LatLon start, struct LatLon end );
62gboolean vik_routing_engine_refine ( VikRoutingEngine *self, VikTrwLayer *vtl, VikTrack *vt );
09f04587 63gchar *vik_routing_engine_get_url_from_directions ( VikRoutingEngine *self, const gchar *start, const gchar *end );
9f30939a
GB
64
65/* Acessors */
66gchar *vik_routing_engine_get_id ( VikRoutingEngine *self );
67gchar *vik_routing_engine_get_label ( VikRoutingEngine *self );
68gchar *vik_routing_engine_get_format ( VikRoutingEngine *self );
69
7f95fd54 70gboolean vik_routing_engine_supports_direction ( VikRoutingEngine *self );
1a3be6a8 71gboolean vik_routing_engine_supports_refine ( VikRoutingEngine *self );
7f95fd54 72
9f30939a
GB
73G_END_DECLS
74
75#endif