#region License Information
/* HeuristicLab
* Copyright (C) 2002-2011 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.ClientManagement.DataTransfer;
namespace HeuristicLab.Services.ClientManagement {
[ServiceContract(ProtectionLevel = ProtectionLevel.EncryptAndSign)]
public interface IClientManagementService {
#region Client
[OperationContract]
Client GetClient(Guid id);
[OperationContract]
IEnumerable GetClients();
[OperationContract]
IEnumerable GetClientsOfGroup(Guid id);
[OperationContract]
Guid AddClient(Client dto);
[OperationContract]
void UpdateClient(Client dto);
[OperationContract]
void DeleteClient(Client dto);
#endregion
#region Group
[OperationContract]
Group GetGroup(Guid id);
[OperationContract]
IEnumerable GetGroups();
[OperationContract]
IEnumerable GetGroupsOf(Guid clientId);
[OperationContract]
Guid AddGroup(Group dto);
[OperationContract]
void UpdateGroup(Group dto);
[OperationContract]
void DeleteGroup(Group dto);
#endregion
#region Resource
[OperationContract]
IEnumerable GetResources();
[OperationContract]
IEnumerable GetMembers(Guid groupId);
#endregion
#region ClientLog
[OperationContract]
ClientLog GetLastClientLog(Guid clientId);
[OperationContract]
IEnumerable GetClientLogs(Guid clientId);
[OperationContract]
IEnumerable GetClientLogsSince(DateTime startDate);
[OperationContract]
void AddClientLogEntry(ClientLog log);
[OperationContract]
void DeleteClientLogEntry(DateTime timeStamp, Guid resourceId);
#endregion
}
}