+#include "download.h"
+#include "vikmapslayer.h"
+
+#include "terraserver.h"
+
+static gboolean terraserver_topo_coord_to_mapcoord ( const VikCoord *src, gdouble xmpp, gdouble ympp, MapCoord *dest );
+static int terraserver_topo_download ( MapCoord *src, const gchar *dest_fn );
+
+static gboolean terraserver_aerial_coord_to_mapcoord ( const VikCoord *src, gdouble xmpp, gdouble ympp, MapCoord *dest );
+static int terraserver_aerial_download ( MapCoord *src, const gchar *dest_fn );
+
+static gboolean terraserver_urban_coord_to_mapcoord ( const VikCoord *src, gdouble xmpp, gdouble ympp, MapCoord *dest );
+static int terraserver_urban_download ( MapCoord *src, const gchar *dest_fn );
+
+static void terraserver_mapcoord_to_center_coord ( MapCoord *src, VikCoord *dest );
+
+static DownloadOptions terraserver_options = { NULL, 0 };
+
+void terraserver_init () {
+ VikMapsLayer_MapType map_type_1 = { 2, 200, 200, VIK_VIEWPORT_DRAWMODE_UTM, terraserver_topo_coord_to_mapcoord, terraserver_mapcoord_to_center_coord, terraserver_topo_download };
+ VikMapsLayer_MapType map_type_2 = { 1, 200, 200, VIK_VIEWPORT_DRAWMODE_UTM, terraserver_aerial_coord_to_mapcoord, terraserver_mapcoord_to_center_coord, terraserver_aerial_download };
+ VikMapsLayer_MapType map_type_3 = { 4, 200, 200, VIK_VIEWPORT_DRAWMODE_UTM, terraserver_urban_coord_to_mapcoord, terraserver_mapcoord_to_center_coord, terraserver_urban_download };
+
+ maps_layer_register_type("Terraserver Topos", 2, &map_type_1);
+ maps_layer_register_type("Terraserver Aerials", 1, &map_type_2);
+ maps_layer_register_type("Terraserver Urban Areas", 4, &map_type_3);
+}