2 /* -----------------------------------------------------------------------
3 * <copyright file="PithosHost.cs" company="GRNet">
5 * Copyright 2011-2012 GRNET S.A. All rights reserved.
7 * Redistribution and use in source and binary forms, with or
8 * without modification, are permitted provided that the following
11 * 1. Redistributions of source code must retain the above
12 * copyright notice, this list of conditions and the following
15 * 2. Redistributions in binary form must reproduce the above
16 * copyright notice, this list of conditions and the following
17 * disclaimer in the documentation and/or other materials
18 * provided with the distribution.
21 * THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS
22 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
23 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
24 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR
25 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
28 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
29 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32 * POSSIBILITY OF SUCH DAMAGE.
34 * The views and conclusions contained in the software and
35 * documentation are those of the authors and should not be
36 * interpreted as representing official policies, either expressed
37 * or implied, of GRNET S.A.
39 * -----------------------------------------------------------------------
42 using System.ServiceModel;
43 using Pithos.ShellExtensions.PithosService;
44 using System.Runtime.InteropServices;
46 namespace Pithos.ShellExtensions
49 /// Returns the status service clients
51 public static class PithosHost
55 /// Provides a client for retrieving file status from the Pithos App
57 /// <returns></returns>
58 public static StatusServiceClient GetStatusClient()
60 var binding = new NetNamedPipeBinding(NetNamedPipeSecurityMode.None);
61 var remoteAddress = new EndpointAddress("net.pipe://localhost/pithos/statuscache");
63 return new StatusServiceClient(binding, remoteAddress);
67 /// Provides a client for retrieving settings from the Pithos App
69 /// <returns></returns>
70 public static SettingsServiceClient GetSettingsClient()
72 var binding = new NetNamedPipeBinding(NetNamedPipeSecurityMode.None);
73 var remoteAddress = new EndpointAddress("net.pipe://localhost/pithos/settings");
75 return new SettingsServiceClient(binding, remoteAddress);
80 /// Provides a client for sending commands to the Pithos Client
82 /// <returns></returns>
83 public static CommandsServiceClient GetCommandsClient()
85 var binding = new NetNamedPipeBinding(NetNamedPipeSecurityMode.None);
86 var remoteAddress = new EndpointAddress("net.pipe://localhost/pithos/commands");
88 return new CommandsServiceClient(binding, remoteAddress);
99 RESTART_NOTIFY_SOLUTION = 2,
100 RESTART_NOTIFY_FAULT = 4,
101 RESTART_NO_CRASH = 8,
102 RESTART_NO_HANG = 16,
103 RESTART_NO_PATCH = 32,
104 RESTART_NO_REBOOT = 64