#region License Information /* HeuristicLab * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL) * * This file is part of HeuristicLab. * * HeuristicLab is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * HeuristicLab is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with HeuristicLab. If not, see . */ #endregion using System; using System.Collections.Generic; using System.Net.Security; using System.ServiceModel; using HeuristicLab.Services.OKB.DataTransfer; namespace HeuristicLab.Services.OKB { /// /// Interface of the OKB service. /// [ServiceContract(ProtectionLevel = ProtectionLevel.EncryptAndSign)] public interface IOKBService { #region Platform Methods [OperationContract] Platform GetPlatform(long id); [OperationContract] IEnumerable GetPlatforms(); [OperationContract] long AddPlatform(Platform dto); [OperationContract] void UpdatePlatform(Platform dto); [OperationContract] void DeletePlatform(long id); #endregion #region DataType Methods [OperationContract] DataType GetDataType(long id); [OperationContract] IEnumerable GetDataTypes(); [OperationContract] long AddDataType(DataType dto); [OperationContract] void UpdateDataType(DataType dto); [OperationContract] void DeleteDataType(long id); #endregion #region AlgorithmClass Methods [OperationContract] AlgorithmClass GetAlgorithmClass(long id); [OperationContract] IEnumerable GetAlgorithmClasses(); [OperationContract] long AddAlgorithmClass(AlgorithmClass dto); [OperationContract] void UpdateAlgorithmClass(AlgorithmClass dto); [OperationContract] void DeleteAlgorithmClass(long id); #endregion #region Algorithm Methods [OperationContract] Algorithm GetAlgorithm(long id); [OperationContract] IEnumerable GetAlgorithms(); [OperationContract] long AddAlgorithm(Algorithm dto); [OperationContract] void UpdateAlgorithm(Algorithm dto); [OperationContract] void DeleteAlgorithm(long id); [OperationContract] IEnumerable GetAlgorithmUsers(long algorithmId); [OperationContract] void UpdateAlgorithmUsers(long algorithmId, IEnumerable users); #endregion #region AlgorithmData Methods [OperationContract] AlgorithmData GetAlgorithmData(long algorithmId); [OperationContract] void UpdateAlgorithmData(AlgorithmData dto); #endregion #region AlgorithmParameter Methods [OperationContract] AlgorithmParameter GetAlgorithmParameter(long id); [OperationContract] IEnumerable GetAlgorithmParameters(long algorithmId); [OperationContract] long AddAlgorithmParameter(AlgorithmParameter dto); [OperationContract] void UpdateAlgorithmParameter(AlgorithmParameter dto); [OperationContract] void DeleteAlgorithmParameter(long id); #endregion #region ProblemClass Methods [OperationContract] ProblemClass GetProblemClass(long id); [OperationContract] IEnumerable GetProblemClasses(); [OperationContract] long AddProblemClass(ProblemClass dto); [OperationContract] void UpdateProblemClass(ProblemClass dto); [OperationContract] void DeleteProblemClass(long id); #endregion #region Problem Methods [OperationContract] Problem GetProblem(long id); [OperationContract] IEnumerable GetProblems(); [OperationContract] long AddProblem(Problem dto); [OperationContract] void UpdateProblem(Problem dto); [OperationContract] void DeleteProblem(long id); [OperationContract] IEnumerable GetProblemUsers(long problemId); [OperationContract] void UpdateProblemUsers(long problemId, IEnumerable users); #endregion #region ProblemData Methods [OperationContract] ProblemData GetProblemData(long problemId); [OperationContract] void UpdateProblemData(ProblemData dto); #endregion #region ProblemParameter Methods [OperationContract] ProblemParameter GetProblemParameter(long id); [OperationContract] IEnumerable GetProblemParameters(long problemId); [OperationContract] long AddProblemParameter(ProblemParameter dto); [OperationContract] void UpdateProblemParameter(ProblemParameter dto); [OperationContract] void DeleteProblemParameter(long id); #endregion #region Result Methods [OperationContract] Result GetResult(long id); [OperationContract] IEnumerable GetResults(long algorithmId); [OperationContract] long AddResult(Result dto); [OperationContract] void UpdateResult(Result dto); [OperationContract] void DeleteResult(long id); #endregion #region Experiment Methods [OperationContract] Experiment GetExperiment(long id); [OperationContract] IEnumerable GetExperiments(long algorithmId, long problemId); [OperationContract] long AddExperiment(Experiment dto); [OperationContract] void DeleteExperiment(long id); #endregion #region Run Methods [OperationContract] Run GetRun(long id); [OperationContract] IEnumerable GetRuns(long experimentId); [OperationContract] long AddRun(Run dto); [OperationContract] void DeleteRun(long id); #endregion #region Query Methods [OperationContract] IEnumerable GetFilters(); [OperationContract] long QueryNumberOfRuns(Filter filter); [OperationContract] IEnumerable QueryRuns(Filter filter); #endregion } }