#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.Net.Security; using System.ServiceModel; using HeuristicLab.Services.OKB.DataAccess; namespace HeuristicLab.Services.OKB { /// /// Allows updating the implementation of algorithms and problems. All /// other entities can be modified using the /// [ServiceContract(ProtectionLevel = ProtectionLevel.EncryptAndSign)] public interface IAdminService { /// /// Gets all available platforms. /// /// A list of s. [OperationContract] Platform[] GetPlatforms(); /// /// Gets the complete algorithm object graph up to the following entities: /// /// Parameter /// Algorithm_Paramters.Parameter.DataType /// Algorithm_Results.Result.DataType /// /// /// The algorithm id. /// An [OperationContract] Algorithm GetCompleteAlgorithm(int id); /// /// Gets the complete problem object graph up to the following entities: /// /// Platform /// SolutionRepresentation /// Problem_Parameters.Parameter /// IntProblemCharacteristicValues.ProblemCharacteristic.DataType /// FloatProblemCharacteristicValues.ProblemCharacteristic.DataType /// CharProblemCharacteristicValues.ProblemCharacteristic.DataType /// /// /// The problem id. /// A [OperationContract] Problem GetCompleteProblem(int id); /// /// Updates the algorithm object graph including the following properties and linked entitites: /// /// Name /// Description /// AlgorithmClassId /// PlatformId /// Algorithm_Parameters /// Algorithm_Results /// /// /// New s or s will not be /// created but have to be pre-existing. /// /// /// The algorithm. [OperationContract] void UpdateCompleteAlgorithm(Algorithm algorithm); /// /// Updates the problem object graph including the following properties and linked entities: /// /// Name /// Description /// ProblemClassId /// PlatformId /// SolutionRepresentationId /// IntProblemCharacteristicValues.Value /// FloatProblemCharacteristicValues.Value /// CharProblemCharacteristicValues.Value /// Problem_Parameters /// /// /// New s or s will /// not be created but have to be pre-existing. /// /// /// The problem. [OperationContract] void UpdateCompleteProblem(Problem problem); } }