+ G_OBJECT_CLASS (vik_slippy_map_source_parent_class)->finalize (object);
+}
+
+static void
+vik_slippy_map_source_set_property (GObject *object,
+ guint property_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ VikSlippyMapSource *self = VIK_SLIPPY_MAP_SOURCE (object);
+ VikSlippyMapSourcePrivate *priv = VIK_SLIPPY_MAP_SOURCE_PRIVATE (self);
+
+ switch (property_id)
+ {
+ case PROP_HOSTNAME:
+ g_free (priv->hostname);
+ priv->hostname = g_value_dup_string (value);
+ break;
+
+ case PROP_URL:
+ g_free (priv->url);
+ priv->url = g_value_dup_string (value);
+ break;
+
+ case PROP_REFERER:
+ g_free (priv->options.referer);
+ priv->options.referer = g_value_dup_string (value);
+ break;
+
+ case PROP_FOLLOW_LOCATION:
+ priv->options.follow_location = g_value_get_long (value);
+ break;
+
+ case PROP_CHECK_FILE_SERVER_TIME:
+ priv->options.check_file_server_time = g_value_get_boolean (value);
+ break;
+
+ case PROP_USE_ETAG:
+ 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);
+ break;
+ }
+}
+
+static void
+vik_slippy_map_source_get_property (GObject *object,
+ guint property_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ VikSlippyMapSource *self = VIK_SLIPPY_MAP_SOURCE (object);
+ VikSlippyMapSourcePrivate *priv = VIK_SLIPPY_MAP_SOURCE_PRIVATE (self);
+
+ switch (property_id)
+ {
+ case PROP_HOSTNAME:
+ g_value_set_string (value, priv->hostname);
+ break;
+
+ case PROP_URL:
+ g_value_set_string (value, priv->url);
+ break;
+
+ case PROP_REFERER:
+ g_value_set_string (value, priv->options.referer);
+ break;
+
+ case PROP_FOLLOW_LOCATION:
+ g_value_set_long (value, priv->options.follow_location);
+ break;
+
+ case PROP_CHECK_FILE_SERVER_TIME:
+ g_value_set_boolean (value, priv->options.check_file_server_time);
+ break;
+
+ case PROP_USE_ETAG:
+ 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);
+ break;
+ }