package com.faforever.client.patch;
import java.util.List;
import java.util.Map;
import java.util.concurrent.CompletionStage;
public interface UpdateServerAccessor {
void connect(UpdateServerResponseListener updateServerResponseListener);
void disconnect();
CompletionStage<List<String>> requestFilesToUpdate(String fileGroup);
void requestVersion(String targetDirectoryName, String filename, String targetVersion);
void requestModVersion(String targetDirectoryName, String filename, Map<String, Integer> modVersions);
void requestPath(String targetDirectoryName, String filename);
void patchTo(String targetDirectoryName, String filename, String currentMd5, String targetVersion);
void modPatchTo(String targetDirectoryName, String filename, String currentMd5, Map<String, Integer> modVersions);
void update(String targetDirectoryName, String filename, String actualMd5);
CompletionStage<String> requestSimPath(String uid);
void incrementModDownloadCount(String uid);
void request(String targetDirectoryName, String response);
}