Free cookie consent management tool by TermsFeed Policy Generator

source: branches/OKB/HeuristicLab.Services.OKB/3.3/Interfaces/IOKBService.cs @ 5295

Last change on this file since 5295 was 5295, checked in by swagner, 14 years ago

Worked on OKB (#1174)

File size: 6.3 KB
RevLine 
[4279]1#region License Information
2/* HeuristicLab
3 * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
4 *
5 * This file is part of HeuristicLab.
6 *
7 * HeuristicLab is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * HeuristicLab is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
19 */
20#endregion
21
[4467]22using System;
[4426]23using System.Collections.Generic;
[4279]24using System.Net.Security;
25using System.ServiceModel;
[4455]26using HeuristicLab.Services.OKB.DataTransfer;
[4279]27
28namespace HeuristicLab.Services.OKB {
29  /// <summary>
[4548]30  /// Interface of the OKB service.
[4455]31  /// </summary>
[4279]32  [ServiceContract(ProtectionLevel = ProtectionLevel.EncryptAndSign)]
[4548]33  public interface IOKBService {
[4467]34    #region Platform Methods
[4407]35    [OperationContract]
[4455]36    Platform GetPlatform(long id);
[4442]37    [OperationContract]
38    IEnumerable<Platform> GetPlatforms();
39    [OperationContract]
[4481]40    long AddPlatform(Platform dto);
[4442]41    [OperationContract]
[4481]42    void UpdatePlatform(Platform dto);
43    [OperationContract]
[4455]44    void DeletePlatform(long id);
[4467]45    #endregion
[4442]46
[4481]47    #region DataType Methods
48    [OperationContract]
49    DataType GetDataType(long id);
50    [OperationContract]
51    IEnumerable<DataType> GetDataTypes();
52    [OperationContract]
53    long AddDataType(DataType dto);
54    [OperationContract]
55    void UpdateDataType(DataType dto);
56    [OperationContract]
57    void DeleteDataType(long id);
58    #endregion
59
[4467]60    #region AlgorithmClass Methods
[4442]61    [OperationContract]
[4455]62    AlgorithmClass GetAlgorithmClass(long id);
[4407]63    [OperationContract]
[4426]64    IEnumerable<AlgorithmClass> GetAlgorithmClasses();
[4407]65    [OperationContract]
[4481]66    long AddAlgorithmClass(AlgorithmClass dto);
[4407]67    [OperationContract]
[4481]68    void UpdateAlgorithmClass(AlgorithmClass dto);
69    [OperationContract]
[4455]70    void DeleteAlgorithmClass(long id);
[4467]71    #endregion
[4279]72
[4467]73    #region Algorithm Methods
[4407]74    [OperationContract]
[4455]75    Algorithm GetAlgorithm(long id);
[4407]76    [OperationContract]
[4426]77    IEnumerable<Algorithm> GetAlgorithms();
[4407]78    [OperationContract]
[4481]79    long AddAlgorithm(Algorithm dto);
[4407]80    [OperationContract]
[4481]81    void UpdateAlgorithm(Algorithm dto);
82    [OperationContract]
[4455]83    void DeleteAlgorithm(long id);
[4467]84    [OperationContract]
85    IEnumerable<Guid> GetAlgorithmUsers(long algorithmId);
86    [OperationContract]
[4481]87    void UpdateAlgorithmUsers(long algorithmId, IEnumerable<Guid> users);
[4467]88    #endregion
89
90    #region AlgorithmData Methods
91    [OperationContract]
92    AlgorithmData GetAlgorithmData(long algorithmId);
93    [OperationContract]
[4481]94    void UpdateAlgorithmData(AlgorithmData dto);
[4467]95    #endregion
96
[4566]97    #region AlgorithmParameter Methods
98    [OperationContract]
99    AlgorithmParameter GetAlgorithmParameter(long id);
100    [OperationContract]
101    IEnumerable<AlgorithmParameter> GetAlgorithmParameters(long algorithmId);
102    [OperationContract]
103    long AddAlgorithmParameter(AlgorithmParameter dto);
104    [OperationContract]
105    void UpdateAlgorithmParameter(AlgorithmParameter dto);
106    [OperationContract]
107    void DeleteAlgorithmParameter(long id);
108    #endregion
109
[4481]110    #region ProblemClass Methods
[4467]111    [OperationContract]
[4481]112    ProblemClass GetProblemClass(long id);
[4467]113    [OperationContract]
[4481]114    IEnumerable<ProblemClass> GetProblemClasses();
[4467]115    [OperationContract]
[4481]116    long AddProblemClass(ProblemClass dto);
[4467]117    [OperationContract]
[4481]118    void UpdateProblemClass(ProblemClass dto);
119    [OperationContract]
120    void DeleteProblemClass(long id);
[4467]121    #endregion
[4481]122
123    #region Problem Methods
124    [OperationContract]
125    Problem GetProblem(long id);
126    [OperationContract]
127    IEnumerable<Problem> GetProblems();
128    [OperationContract]
129    long AddProblem(Problem dto);
130    [OperationContract]
131    void UpdateProblem(Problem dto);
132    [OperationContract]
133    void DeleteProblem(long id);
134    [OperationContract]
135    IEnumerable<Guid> GetProblemUsers(long problemId);
136    [OperationContract]
137    void UpdateProblemUsers(long problemId, IEnumerable<Guid> users);
138    #endregion
139
140    #region ProblemData Methods
141    [OperationContract]
142    ProblemData GetProblemData(long problemId);
143    [OperationContract]
144    void UpdateProblemData(ProblemData dto);
145    #endregion
[4566]146
147    #region ProblemParameter Methods
148    [OperationContract]
149    ProblemParameter GetProblemParameter(long id);
150    [OperationContract]
151    IEnumerable<ProblemParameter> GetProblemParameters(long problemId);
152    [OperationContract]
153    long AddProblemParameter(ProblemParameter dto);
154    [OperationContract]
155    void UpdateProblemParameter(ProblemParameter dto);
156    [OperationContract]
157    void DeleteProblemParameter(long id);
158    #endregion
159
160    #region Result Methods
161    [OperationContract]
162    Result GetResult(long id);
163    [OperationContract]
164    IEnumerable<Result> GetResults(long algorithmId);
165    [OperationContract]
166    long AddResult(Result dto);
167    [OperationContract]
168    void UpdateResult(Result dto);
169    [OperationContract]
170    void DeleteResult(long id);
171    #endregion
[4591]172
173    #region Experiment Methods
174    [OperationContract]
175    Experiment GetExperiment(long id);
176    [OperationContract]
177    IEnumerable<Experiment> GetExperiments(long algorithmId, long problemId);
178    [OperationContract]
179    long AddExperiment(Experiment dto);
180    [OperationContract]
181    void DeleteExperiment(long id);
182    #endregion
183
184    #region Run Methods
185    [OperationContract]
186    Run GetRun(long id);
187    [OperationContract]
188    IEnumerable<Run> GetRuns(long experimentId);
189    [OperationContract]
190    long AddRun(Run dto);
191    [OperationContract]
192    void DeleteRun(long id);
193    #endregion
[5269]194
195    #region Query Methods
196    [OperationContract]
197    IEnumerable<Filter> GetFilters();
198    [OperationContract]
[5295]199    long QueryNumberOfRuns(Filter filter);
200    [OperationContract]
[5286]201    IEnumerable<Run> QueryRuns(Filter filter);
[5269]202    #endregion
[4279]203  }
204}
Note: See TracBrowser for help on using the repository browser.