Merge branch 'subtree'
[nikiroo-utils.git] / src / be / nikiroo / fanfix / reader / Reader.java
index fa170e44fcc64a3233ec2c09cba93fb31e84cb07..3ecf2470021b4f6d259db9ee8b80eac9ff8a266a 100644 (file)
@@ -71,8 +71,12 @@ public interface Reader {
         *            the optional progress
         * 
         * @return the {@link Story}
+        * 
+        * @throws IOException
+        *             in case of I/O error
+        * 
         */
-       public Story getStory(Progress pg);
+       public Story getStory(Progress pg) throws IOException;
 
        /**
         * The {@link BasicLibrary} to load the stories from (by default, takes the
@@ -167,8 +171,23 @@ public interface Reader {
         * @param source
         *            the type of {@link Story} to take into account, or NULL for
         *            all
+        * 
+        * @throws IOException
+        *             in case of I/O error
+        */
+       public void browse(String source) throws IOException;
+
+       /**
+        * Display all supports that allow search operations.
+        * 
+        * @param sync
+        *            execute the process synchronously (wait until it is terminated
+        *            before returning)
+        * 
+        * @throws IOException
+        *             in case of I/O error
         */
-       public void browse(String source);
+       public void search(boolean sync) throws IOException;
 
        /**
         * Search for the given terms and find stories that correspond if possible.
@@ -183,12 +202,15 @@ public interface Reader {
         * @param item
         *            the item to select (0 = do not select a specific item but show
         *            all the page, items start at 1)
+        * @param sync
+        *            execute the process synchronously (wait until it is terminated
+        *            before returning)
         * 
         * @throws IOException
         *             in case of I/O error
         */
-       public void search(SupportType searchOn, String keywords, int page, int item)
-                       throws IOException;
+       public void search(SupportType searchOn, String keywords, int page,
+                       int item, boolean sync) throws IOException;
 
        /**
         * Search based upon a hierarchy of tags, or search for (sub)tags.
@@ -212,6 +234,9 @@ public interface Reader {
         * @param item
         *            the item to select (0 = do not select a specific item but show
         *            all the page, items <b>start at 1</b>)
+        * @param sync
+        *            execute the process synchronously (wait until it is terminated
+        *            before returning)
         * @param tags
         *            the tags indices to search for (this is a tag
         *            <b>hierarchy</b>, <b>NOT</b> a multiple tags choice)
@@ -220,7 +245,7 @@ public interface Reader {
         *             in case of I/O error
         */
        public void searchTag(SupportType searchOn, int page, int item,
-                       Integer... tags) throws IOException;
+                       boolean sync, Integer... tags) throws IOException;
 
        /**
         * Open the {@link Story} with an external reader (the program should be