Free cookie consent management tool by TermsFeed Policy Generator

source: branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Interfaces/IAdministrationService.cs @ 5389

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

Worked on OKB (#1174)

File size: 4.5 KB
Line 
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
22using System;
23using System.Collections.Generic;
24using System.Net.Security;
25using System.ServiceModel;
26using HeuristicLab.Services.OKB.DataTransfer;
27
28namespace HeuristicLab.Services.OKB {
29  /// <summary>
30  /// Interface of the OKB administration service.
31  /// </summary>
32  [ServiceContract(ProtectionLevel = ProtectionLevel.EncryptAndSign)]
33  public interface IAdministrationService {
34    #region Platform Methods
35    [OperationContract]
36    Platform GetPlatform(long id);
37    [OperationContract]
38    IEnumerable<Platform> GetPlatforms();
39    [OperationContract]
40    long AddPlatform(Platform dto);
41    [OperationContract]
42    void UpdatePlatform(Platform dto);
43    [OperationContract]
44    void DeletePlatform(long id);
45    #endregion
46
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
60    #region BinaryData Methods
61    [OperationContract]
62    long GetBinaryDataId(byte[] hash);
63    [OperationContract]
64    long AddBinaryData(BinaryData dto);
65    [OperationContract]
66    void DeleteBinaryData(long id);
67    #endregion
68
69    #region AlgorithmClass Methods
70    [OperationContract]
71    AlgorithmClass GetAlgorithmClass(long id);
72    [OperationContract]
73    IEnumerable<AlgorithmClass> GetAlgorithmClasses();
74    [OperationContract]
75    long AddAlgorithmClass(AlgorithmClass dto);
76    [OperationContract]
77    void UpdateAlgorithmClass(AlgorithmClass dto);
78    [OperationContract]
79    void DeleteAlgorithmClass(long id);
80    #endregion
81
82    #region Algorithm Methods
83    [OperationContract]
84    Algorithm GetAlgorithm(long id);
85    [OperationContract]
86    IEnumerable<Algorithm> GetAlgorithms();
87    [OperationContract]
88    long AddAlgorithm(Algorithm dto);
89    [OperationContract]
90    void UpdateAlgorithm(Algorithm dto);
91    [OperationContract]
92    void DeleteAlgorithm(long id);
93    [OperationContract]
94    IEnumerable<Guid> GetAlgorithmUsers(long algorithmId);
95    [OperationContract]
96    void UpdateAlgorithmUsers(long algorithmId, IEnumerable<Guid> users);
97    [OperationContract]
98    BinaryData GetAlgorithmData(long algorithmId);
99    #endregion
100
101    #region ProblemClass Methods
102    [OperationContract]
103    ProblemClass GetProblemClass(long id);
104    [OperationContract]
105    IEnumerable<ProblemClass> GetProblemClasses();
106    [OperationContract]
107    long AddProblemClass(ProblemClass dto);
108    [OperationContract]
109    void UpdateProblemClass(ProblemClass dto);
110    [OperationContract]
111    void DeleteProblemClass(long id);
112    #endregion
113
114    #region Problem Methods
115    [OperationContract]
116    Problem GetProblem(long id);
117    [OperationContract]
118    IEnumerable<Problem> GetProblems();
119    [OperationContract]
120    long AddProblem(Problem dto);
121    [OperationContract]
122    void UpdateProblem(Problem dto);
123    [OperationContract]
124    void DeleteProblem(long id);
125    [OperationContract]
126    IEnumerable<Guid> GetProblemUsers(long problemId);
127    [OperationContract]
128    void UpdateProblemUsers(long problemId, IEnumerable<Guid> users);
129    [OperationContract]
130    BinaryData GetProblemData(long problemId);
131    #endregion
132
133    #region Run Methods
134    [OperationContract]
135    Run GetRun(long id);
136    [OperationContract]
137    IEnumerable<Run> GetRuns(long algorithmId, long problemId);
138    [OperationContract]
139    long AddRun(Run dto);
140    [OperationContract]
141    void DeleteRun(long id);
142    #endregion
143  }
144}
Note: See TracBrowser for help on using the repository browser.