package de.adesso.iliasdownloader3.service;

import de.adesso.iliasdownloader3.service.model.Course;
import de.adesso.iliasdownloader3.service.model.LoginCredentials;

import java.util.Collection;

/**
 * @author broj
 * @since 21.05.2016
 */
public interface IliasService {

    // Session management

    void login(LoginCredentials loginCredentials);

    void logout();

    // course sync

    Collection<Course> getJoinedCourses();
}

@@ -202,197 +202,767 @@
 %0A * 
-@author broj%0A * @since 21.05.2016%0A */%0Apublic interface IliasService %7B%0A%0A    // Session management%0A%0A    void login(LoginCredentials loginCredentials);%0A%0A    void logout();%0A%0A    // course sync%0A
+Provides access to the Ilias.%0A * This interface provides some methods for basic session management (login, logout) and it can list the courses%0A * (with/without their contents).%0A * @author broj%0A * @since 21.05.2016%0A */%0Apublic interface IliasService %7B%0A%0A    // Session management%0A%0A    /**%0A     * Logs the user in.%0A     *%0A     * @param loginCredentials%0A     *         user credentials%0A     * @see #logout()%0A     */%0A    void login(LoginCredentials loginCredentials);%0A%0A    /**%0A     * Logs the current user out.%0A     *%0A     * @see #login(LoginCredentials)%0A     */%0A    void logout();%0A%0A    // course sync%0A%0A    /**%0A     * Finds all courses without any course content.%0A     *%0A     * @return all courses of the current user%0A     * @see #searchCoursesWithContent()%0A     */
 %0A   

add doc for ilias srvc