GitInterface.java 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. package info.knacki.pass.git;
  2. import java.io.File;
  3. import java.util.Map;
  4. import info.knacki.pass.git.entities.GitCommit;
  5. import info.knacki.pass.git.entities.GitObject;
  6. import info.knacki.pass.git.entities.GitRef;
  7. public interface GitInterface {
  8. interface OnResponseListener<T> {
  9. void onResponse(T result);
  10. void onError(String msg, Throwable e);
  11. }
  12. interface OnStreamResponseListener<T> extends OnResponseListener<T> {
  13. void onMsg(String message);
  14. }
  15. void GetRefs(OnResponseListener<GitRef[]> callback);
  16. void FetchCommit(GitRef ref, OnResponseListener<GitCommit> response);
  17. void FetchTree(GitCommit ci, OnStreamResponseListener<GitObject.GitTree> response);
  18. void FetchTree(OnStreamResponseListener<GitObject.GitTree> response);
  19. void FetchBlob(GitObject.GitBlob blob, OnResponseListener<byte[]> response);
  20. void PushBlobs(String rootGit, GitObject.GitTree tree, Map<String, GitObject.GitBlob> blobs, File[] files, GitInterface.OnStreamResponseListener<Void> resp);
  21. void debugTree(String rootGit, GitObject.GitTree tree); // FIXME
  22. }