Free cookie consent management tool by TermsFeed Policy Generator

source: trunk/sources/HeuristicLab.Hive.Server.Console/ServiceLocator.cs @ 1085

Last change on this file since 1085 was 1084, checked in by svonolfe, 16 years ago

Added interface for login (#454)

File size: 1.3 KB
Line 
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5
6using HeuristicLab.Hive.Contracts.Interfaces;
7using System.ServiceModel;
8
9namespace HeuristicLab.Hive.Server.Console {
10  internal class ServiceLocator {
11    private static IServerConsoleFacade serverConsoleFacade = null;
12
13    internal static string Address { get; set; }
14    internal static string Port { get; set; }
15
16    internal static IClientManager GetClientManager() {
17      return GetServerConsoleFacade() as IClientManager;
18    }
19
20    internal static IJobManager GetJobManager() {
21      return GetServerConsoleFacade() as IJobManager;
22    }
23
24    internal static IUserRoleManager GetUserRoleManager() {
25      return GetServerConsoleFacade() as IUserRoleManager;
26    }
27
28    internal static IServerConsoleFacade GetServerConsoleFacade() {
29      if (serverConsoleFacade == null &&
30        Address != String.Empty &&
31        Port != String.Empty) {
32        ChannelFactory<IServerConsoleFacade> factory =
33          new ChannelFactory<IServerConsoleFacade>(
34            new NetTcpBinding(),
35            new EndpointAddress("net.tcp://" + Address + ":" + Port + "/HiveServerConsole/ServerConsoleFacade"));
36
37        serverConsoleFacade = factory.CreateChannel();
38      }
39
40      return serverConsoleFacade;
41    }
42  }
43}
Note: See TracBrowser for help on using the repository browser.