Send generated URIs on ClientPutDiskDir to registered consumers
[jFCPlib.git] / src / main / java / net / pterodactylus / fcp / quelaton / ClientPutDiskDirCommand.java
1 package net.pterodactylus.fcp.quelaton;
2
3 import java.io.File;
4 import java.util.Optional;
5 import java.util.function.Consumer;
6
7 import net.pterodactylus.fcp.Key;
8 import net.pterodactylus.fcp.RequestProgress;
9
10 /**
11  * FCP command that inserts a directory from the filesystem local to the node into Freenet.
12  *
13  * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
14  */
15 public interface ClientPutDiskDirCommand {
16
17         ClientPutDiskDirCommand onProgress(Consumer<RequestProgress> requestProgressConsumer);
18         ClientPutDiskDirCommand onKeyGenerated(Consumer<String> keyGenerated);
19
20         WithUri fromDirectory(File directory);
21
22         interface WithUri {
23
24                 Executable<Optional<Key>> uri(String uri);
25
26         }
27
28 }