001/**
002 * Copyright (C) 2014  Universidade de Aveiro, DETI/IEETA, Bioinformatics Group - http://bioinformatics.ua.pt/
003 *
004 * This file is part of Dicoogle/dicoogle.
005 *
006 * Dicoogle/dicoogle is free software: you can redistribute it and/or modify
007 * it under the terms of the GNU General Public License as published by
008 * the Free Software Foundation, either version 3 of the License, or
009 * (at your option) any later version.
010 *
011 * Dicoogle/dicoogle is distributed in the hope that it will be useful,
012 * but WITHOUT ANY WARRANTY; without even the implied warranty of
013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
014 * GNU General Public License for more details.
015 *
016 * You should have received a copy of the GNU General Public License
017 * along with Dicoogle.  If not, see <http://www.gnu.org/licenses/>.
018 */
019
020package pt.ua.dicoogle.rGUI.interfaces;
021
022import pt.ua.dicoogle.rGUI.RFileBrowser.IRemoteFileSystem;
023import java.rmi.Remote;
024import java.rmi.RemoteException;
025
026import pt.ua.dicoogle.rGUI.interfaces.controllers.ILogs;
027import pt.ua.dicoogle.rGUI.interfaces.controllers.IServices;
028import pt.ua.dicoogle.rGUI.interfaces.controllers.IStartupServ;
029import pt.ua.dicoogle.rGUI.interfaces.controllers.IQRServers;
030import pt.ua.dicoogle.rGUI.interfaces.controllers.IAccessList;
031import pt.ua.dicoogle.rGUI.interfaces.controllers.IActiveSessions;
032import pt.ua.dicoogle.rGUI.interfaces.controllers.IDirectory;
033import pt.ua.dicoogle.rGUI.interfaces.controllers.IIndexOptions;
034import pt.ua.dicoogle.rGUI.interfaces.controllers.INetworkInterfaces;
035import pt.ua.dicoogle.rGUI.interfaces.controllers.IPendingMessages;
036import pt.ua.dicoogle.rGUI.interfaces.controllers.IPluginControllerAdmin;
037import pt.ua.dicoogle.rGUI.interfaces.controllers.IPluginControllerUser;
038import pt.ua.dicoogle.rGUI.interfaces.controllers.IQueryRetrieve;
039import pt.ua.dicoogle.rGUI.interfaces.controllers.ISOPClass;
040import pt.ua.dicoogle.rGUI.interfaces.controllers.ITaskList;
041import pt.ua.dicoogle.rGUI.interfaces.controllers.IUsersManager;
042
043
044/**
045 * This interface contains methods that are features of administration
046 *
047 * @author Samuel Campos <samuelcampos@ua.pt>
048 */
049@Deprecated
050public interface IAdmin extends Remote {
051
052    //get the username of the current Administrator
053    public String getUsername() throws RemoteException;
054
055    public IUser getUser() throws RemoteException;
056
057    public IServices getServices() throws RemoteException;
058
059    public ILogs getLogs() throws RemoteException;
060
061    public IQRServers getQRServers() throws RemoteException;
062
063    public IStartupServ getStartupServ() throws RemoteException;
064
065    public IQueryRetrieve getQueryRetrive() throws RemoteException;
066
067    public IAccessList getAccessList() throws RemoteException;
068
069    public IIndexOptions getIndexOptions() throws RemoteException;
070
071    public ISOPClass getSOPClass() throws RemoteException;
072
073    public IDirectory getDirectorySettings() throws RemoteException;
074
075    public IUsersManager getUsersManager() throws RemoteException;
076
077    public IActiveSessions getActiveSessions() throws RemoteException;
078    
079    public ITaskList getTaskList() throws RemoteException;
080
081    public IPendingMessages getPendingMessages() throws RemoteException;
082
083    public INetworkInterfaces getNetworkInterface() throws RemoteException;
084
085    public IPluginControllerAdmin getPluginController() throws RemoteException;
086    //public IStatus getStatus() throws RemoteException;
087
088    public String getDefaultFilePath() throws RemoteException;
089    public IRemoteFileSystem getRFS() throws RemoteException;
090
091    //check if there are unsaved Settings
092    public boolean unsavedSettings() throws RemoteException;
093    
094    //Save Settings (print XML)
095    public void saveSettings() throws RemoteException;
096    public void resetSettings() throws RemoteException;
097  
098    public void logout() throws RemoteException;
099
100    public void shutdownServer() throws RemoteException;
101
102    public void KeepAlive() throws RemoteException;
103
104    /**
105     * If the number is equal to the number randomly generated
106     * in Main class, the timetout stops.
107     *
108     * @param number
109     * @return if the number is equal or not
110     * @throws RemoteException
111     */
112    public boolean shtudownTimeout(int number) throws RemoteException;
113}