Free cookie consent management tool by TermsFeed Policy Generator

source: branches/CEDMA-Refactoring-Ticket419/HeuristicLab.Hive.Server.Core/ClientManager.cs @ 992

Last change on this file since 992 was 907, checked in by msteinbi, 15 years ago

Implementation of UserRoleManager (#417)

File size: 2.9 KB
Line 
1#region License Information
2/* HeuristicLab
3 * Copyright (C) 2002-2008 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.Linq;
25using System.Text;
26using HeuristicLab.Hive.Contracts.Interfaces;
27using HeuristicLab.Hive.Contracts.BusinessObjects;
28using HeuristicLab.Hive.Contracts;
29
30namespace HeuristicLab.Hive.Server.Core {
31  class ClientManager: IClientManager {
32
33    List<ClientInfo> clients;
34    List<ClientGroup> clientGroups;
35
36    public ClientManager() {
37      clients = new List<ClientInfo>();
38      clientGroups = new List<ClientGroup>();
39
40      ClientInfo c1 = new ClientInfo { ClientId=Guid.NewGuid(), Name="Client1", CpuSpeedPerCore=2500, Memory=4096, ResourceId=1, State=State.idle };
41      ClientInfo c2 = new ClientInfo { ClientId=Guid.NewGuid(), Name="Client2",  CpuSpeedPerCore=2100, Memory=2048, ResourceId=2, State=State.idle };
42      ClientInfo c3 = new ClientInfo { ClientId = Guid.NewGuid(), Name="Client3", CpuSpeedPerCore = 3400, Memory = 4096, ResourceId = 3, State = State.calculating };
43
44      clients.Add(c1);
45      clients.Add(c2);
46      clients.Add(c3);
47
48      ClientGroup cg = new ClientGroup { ResourceId = 4, Name = "SuperGroup", ClientGroupId = 1 };
49      cg.Resources = new List<Resource>();
50      cg.Resources.Add(c1);     
51      cg.Resources.Add(c2);
52      cg.Resources.Add(c3);
53
54      clientGroups.Add(cg);
55    }
56
57    #region IClientManager Members
58
59    public ResponseList<ClientInfo> GetAllClients() {
60      ResponseList<ClientInfo> response = new ResponseList<ClientInfo>();
61      response.List = clients;
62      response.Success = true;
63      return response;
64    }
65
66    public ResponseList<ClientGroup> GetAllClientGroups() {
67      ResponseList<ClientGroup> response = new ResponseList<ClientGroup>();
68      response.List = clientGroups;
69      response.Success = true;
70      return response;
71    }
72
73    public ResponseList<UpTimeStatistics> GetAllUpTimeStatistics() {
74      ResponseList<UpTimeStatistics> response = new ResponseList<UpTimeStatistics>();
75      response.Success = true;
76      return response;
77    }
78
79    #endregion
80  }
81}
Note: See TracBrowser for help on using the repository browser.