039faaddd50248b8f631b3fa7127a4189ba81afe
[Sone.git] / src / main / java / net / pterodactylus / sone / core / SoneDownloader.java
1 package net.pterodactylus.sone.core;
2
3 import net.pterodactylus.sone.data.Sone;
4 import net.pterodactylus.util.service.Service;
5
6 import freenet.keys.FreenetURI;
7
8 import com.google.inject.ImplementedBy;
9
10 /**
11  * Downloads and parses Sone and {@link Core#updateSone(Sone) updates the
12  * core}.
13  *
14  * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
15  */
16 @ImplementedBy(SoneDownloaderImpl.class)
17 public interface SoneDownloader extends Service {
18
19         void addSone(Sone sone);
20         void fetchSone(Sone sone, FreenetURI soneUri);
21         Sone fetchSone(Sone sone, FreenetURI soneUri, boolean fetchOnly);
22
23         Runnable fetchSoneWithUriAction(Sone sone);
24         Runnable fetchSoneAction(Sone sone);
25
26 }