#region License Information /* HeuristicLab * Copyright (C) 2002-2014 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.Administration.DataTransfer; namespace HeuristicLab.Services.OKB.Administration { /// /// Interface of the OKB administration service. /// [ServiceContract(ProtectionLevel = ProtectionLevel.EncryptAndSign)] public interface IAdministrationService { #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 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); [OperationContract] byte[] GetAlgorithmData(long algorithmId); [OperationContract] void UpdateAlgorithmData(long algorithmId, byte[] data); #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); [OperationContract] byte[] GetProblemData(long problemId); [OperationContract] void UpdateProblemData(long problemId, byte[] data); #endregion } }