static SoupMessage * cal_backend_http_new_message (ECalBackendHttp *backend, const gchar *uri) { SoupMessage *soup_message; /* create message to be sent to server */ soup_message = soup_message_new (SOUP_METHOD_GET, uri); if (soup_message == NULL) return NULL; soup_message_headers_append ( soup_message->request_headers, "User-Agent", "Evolution/" VERSION); soup_message_headers_append ( soup_message->request_headers, "Connection", "close"); soup_message_set_flags ( soup_message, SOUP_MESSAGE_NO_REDIRECT); if (backend->priv->store != NULL) { const gchar *etag; etag = e_cal_backend_store_get_key_value ( backend->priv->store, "ETag"); if (etag != NULL && *etag != '\0') soup_message_headers_append ( soup_message->request_headers, "If-None-Match", etag); } return soup_message; }
/** Get timestamp of last sync. * * @param cb 3E calendar backend. * * @return Timestamp in local time. */ time_t e_cal_backend_3e_get_sync_timestamp(ECalBackend3e *cb) { time_t stamp = 0; g_static_rw_lock_reader_lock(&cb->priv->cache_lock); const char *ts = e_cal_backend_store_get_key_value(cb->priv->store, "server_utc_time"); g_static_rw_lock_reader_unlock(&cb->priv->cache_lock); if (ts) { icaltimetype time = icaltime_from_string(ts); stamp = icaltime_as_timet_with_zone(time, NULL); } return stamp; }