static gboolean _coord_to_mapcoord ( VikMapSource *self, const VikCoord *src, gdouble xzoom, gdouble yzoom, MapCoord *dest );
static void _mapcoord_to_center_coord ( VikMapSource *self, MapCoord *src, VikCoord *dest );
+static gboolean _is_direct_file_access (VikMapSource *self );
static gboolean _supports_download_only_new (VikMapSource *self );
static gchar *_get_uri( VikMapSourceDefault *self, MapCoord *src );
gchar *hostname;
gchar *url;
DownloadMapOptions options;
+ gboolean is_direct_file_access;
};
#define VIK_SLIPPY_MAP_SOURCE_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), VIK_TYPE_SLIPPY_MAP_SOURCE, VikSlippyMapSourcePrivate))
PROP_FOLLOW_LOCATION,
PROP_CHECK_FILE_SERVER_TIME,
PROP_USE_ETAG,
+ PROP_IS_DIRECT_FILE_ACCESS,
};
G_DEFINE_TYPE (VikSlippyMapSource, vik_slippy_map_source, VIK_TYPE_MAP_SOURCE_DEFAULT);
priv->options.follow_location = 0;
priv->options.check_file = a_check_map_file;
priv->options.check_file_server_time = FALSE;
+ priv->options.use_etag = FALSE;
+ priv->is_direct_file_access = FALSE;
g_object_set (G_OBJECT (self),
"tilesize-x", 256,
priv->options.use_etag = g_value_get_boolean (value);
break;
+ case PROP_IS_DIRECT_FILE_ACCESS:
+ priv->is_direct_file_access = g_value_get_boolean (value);
+ break;
+
default:
/* We don't have any other property... */
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
g_value_set_boolean (value, priv->options.use_etag);
break;
+ case PROP_IS_DIRECT_FILE_ACCESS:
+ g_value_set_boolean (value, priv->is_direct_file_access);
+ break;
+
default:
/* We don't have any other property... */
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
/* Overiding methods */
grandparent_class->coord_to_mapcoord = _coord_to_mapcoord;
grandparent_class->mapcoord_to_center_coord = _mapcoord_to_center_coord;
+ grandparent_class->is_direct_file_access = _is_direct_file_access;
grandparent_class->supports_download_only_new = _supports_download_only_new;
parent_class->get_uri = _get_uri;
G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE);
g_object_class_install_property (object_class, PROP_USE_ETAG, pspec);
+ pspec = g_param_spec_boolean ("use-direct-file-access",
+ "Use direct file access",
+ "Use direct file access to OSM like tile images - no need for a webservice",
+ FALSE /* default value */,
+ G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE);
+ g_object_class_install_property (object_class, PROP_IS_DIRECT_FILE_ACCESS, pspec);
+
g_type_class_add_private (klass, sizeof (VikSlippyMapSourcePrivate));
object_class->finalize = vik_slippy_map_source_finalize;
return 255;
}
+gboolean
+_is_direct_file_access (VikMapSource *self)
+{
+ g_return_val_if_fail (VIK_IS_SLIPPY_MAP_SOURCE(self), FALSE);
+
+ VikSlippyMapSourcePrivate *priv = VIK_SLIPPY_MAP_SOURCE_PRIVATE(self);
+
+ return priv->is_direct_file_access;
+}
+
gboolean
_supports_download_only_new (VikMapSource *self)
{