867 lines
28 KiB
C#
867 lines
28 KiB
C#
// Copyright (c) 2012, Outercurve Foundation.
|
|
// All rights reserved.
|
|
//
|
|
// Redistribution and use in source and binary forms, with or without modification,
|
|
// are permitted provided that the following conditions are met:
|
|
//
|
|
// - Redistributions of source code must retain the above copyright notice, this
|
|
// list of conditions and the following disclaimer.
|
|
//
|
|
// - Redistributions in binary form must reproduce the above copyright notice,
|
|
// this list of conditions and the following disclaimer in the documentation
|
|
// and/or other materials provided with the distribution.
|
|
//
|
|
// - Neither the name of the Outercurve Foundation nor the names of its
|
|
// contributors may be used to endorse or promote products derived from this
|
|
// software without specific prior written permission.
|
|
//
|
|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
|
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
using System;
|
|
using System.Data;
|
|
using System.Web;
|
|
using System.Collections;
|
|
using System.Collections.Specialized;
|
|
using System.Collections.Generic;
|
|
using System.Web.Services;
|
|
using System.Web.Services.Protocols;
|
|
using System.ComponentModel;
|
|
using WebsitePanel.EnterpriseServer.Base.Common;
|
|
using WebsitePanel.Providers.Common;
|
|
using Microsoft.Web.Services3;
|
|
|
|
using WebsitePanel.Providers.DNS;
|
|
using WebsitePanel.Server;
|
|
using WebsitePanel.Providers.ResultObjects;
|
|
using WebsitePanel.Providers;
|
|
|
|
namespace WebsitePanel.EnterpriseServer
|
|
{
|
|
/// <summary>
|
|
/// Summary description for esApplicationsInstaller
|
|
/// </summary>
|
|
[WebService(Namespace = "http://smbsaas/websitepanel/enterpriseserver")]
|
|
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
|
|
[Policy("ServerPolicy")]
|
|
[ToolboxItem(false)]
|
|
public class esServers : System.Web.Services.WebService
|
|
{
|
|
/*
|
|
public const string MAIN_WPI_FEED = "https://www.microsoft.com/web/webpi/4.2/WebProductList.xml";
|
|
public const string HELICON_WPI_FEED = "http://www.helicontech.com/zoo/feed/wsp4";
|
|
*/
|
|
|
|
#region Servers
|
|
[WebMethod]
|
|
public List<ServerInfo> GetAllServers()
|
|
{
|
|
return ServerController.GetAllServers();
|
|
}
|
|
|
|
[WebMethod]
|
|
public DataSet GetRawAllServers()
|
|
{
|
|
return ServerController.GetRawAllServers();
|
|
}
|
|
|
|
[WebMethod]
|
|
public List<ServerInfo> GetServers()
|
|
{
|
|
return ServerController.GetServers();
|
|
}
|
|
|
|
[WebMethod]
|
|
public DataSet GetRawServers()
|
|
{
|
|
return ServerController.GetRawServers();
|
|
}
|
|
|
|
[WebMethod]
|
|
public ServerInfo GetServerShortDetails(int serverId)
|
|
{
|
|
return ServerController.GetServerShortDetails(serverId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public ServerInfo GetServerById(int serverId)
|
|
{
|
|
return ServerController.GetServerById(serverId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public ServerInfo GetServerByName(string serverName)
|
|
{
|
|
return ServerController.GetServerByName(serverName);
|
|
}
|
|
|
|
[WebMethod]
|
|
public int CheckServerAvailable(string serverUrl, string password)
|
|
{
|
|
return ServerController.CheckServerAvailable(serverUrl, password);
|
|
}
|
|
|
|
[WebMethod]
|
|
public int AddServer(ServerInfo server, bool autoDiscovery)
|
|
{
|
|
return ServerController.AddServer(server, autoDiscovery);
|
|
}
|
|
|
|
[WebMethod]
|
|
public int UpdateServer(ServerInfo server)
|
|
{
|
|
return ServerController.UpdateServer(server);
|
|
}
|
|
|
|
[WebMethod]
|
|
public int UpdateServerConnectionPassword(int serverId, string password)
|
|
{
|
|
return ServerController.UpdateServerConnectionPassword(serverId, password);
|
|
}
|
|
|
|
[WebMethod]
|
|
public int UpdateServerADPassword(int serverId, string adPassword)
|
|
{
|
|
return ServerController.UpdateServerADPassword(serverId, adPassword);
|
|
}
|
|
|
|
[WebMethod]
|
|
public int DeleteServer(int serverId)
|
|
{
|
|
return ServerController.DeleteServer(serverId);
|
|
}
|
|
#endregion
|
|
|
|
#region Virtual Servers
|
|
[WebMethod]
|
|
public DataSet GetVirtualServers()
|
|
{
|
|
return ServerController.GetVirtualServers();
|
|
}
|
|
|
|
[WebMethod]
|
|
public DataSet GetAvailableVirtualServices(int serverId)
|
|
{
|
|
return ServerController.GetAvailableVirtualServices(serverId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public DataSet GetVirtualServices(int serverId)
|
|
{
|
|
return ServerController.GetVirtualServices(serverId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public int AddVirtualServices(int serverId, int[] ids)
|
|
{
|
|
return ServerController.AddVirtualServices(serverId, ids);
|
|
}
|
|
|
|
[WebMethod]
|
|
public int DeleteVirtualServices(int serverId, int[] ids)
|
|
{
|
|
return ServerController.DeleteVirtualServices(serverId, ids);
|
|
}
|
|
|
|
[WebMethod]
|
|
public int UpdateVirtualGroups(int serverId, VirtualGroupInfo[] groups)
|
|
{
|
|
return ServerController.UpdateVirtualGroups(serverId, groups);
|
|
}
|
|
#endregion
|
|
|
|
#region Services
|
|
[WebMethod]
|
|
public DataSet GetRawServicesByServerId(int serverId)
|
|
{
|
|
return ServerController.GetRawServicesByServerId(serverId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public List<ServiceInfo> GetServicesByServerId(int serverId)
|
|
{
|
|
return ServerController.GetServicesByServerId(serverId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public List<ServiceInfo> GetServicesByServerIdGroupName(int serverId, string groupName)
|
|
{
|
|
return ServerController.GetServicesByServerIdGroupName(serverId, groupName);
|
|
}
|
|
|
|
[WebMethod]
|
|
public DataSet GetRawServicesByGroupId(int groupId)
|
|
{
|
|
return ServerController.GetRawServicesByGroupId(groupId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public DataSet GetRawServicesByGroupName(string groupName)
|
|
{
|
|
return ServerController.GetRawServicesByGroupName(groupName);
|
|
}
|
|
|
|
[WebMethod]
|
|
public ServiceInfo GetServiceInfo(int serviceId)
|
|
{
|
|
return ServerController.GetServiceInfoAdmin(serviceId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public int AddService(ServiceInfo service)
|
|
{
|
|
return ServerController.AddService(service);
|
|
}
|
|
|
|
[WebMethod]
|
|
public int UpdateService(ServiceInfo service)
|
|
{
|
|
return ServerController.UpdateService(service);
|
|
}
|
|
|
|
[WebMethod]
|
|
public int DeleteService(int serviceId)
|
|
{
|
|
return ServerController.DeleteService(serviceId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public string[] GetServiceSettings(int serviceId)
|
|
{
|
|
return ConvertDictionaryToArray(ServerController.GetServiceSettingsAdmin(serviceId));
|
|
}
|
|
|
|
[WebMethod]
|
|
public int UpdateServiceSettings(int serviceId, string[] settings)
|
|
{
|
|
return ServerController.UpdateServiceSettings(serviceId, settings);
|
|
}
|
|
|
|
[WebMethod]
|
|
public string[] InstallService(int serviceId)
|
|
{
|
|
return ServerController.InstallService(serviceId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public QuotaInfo GetProviderServiceQuota(int providerId)
|
|
{
|
|
return ServerController.GetProviderServiceQuota(providerId);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Providers
|
|
|
|
[WebMethod]
|
|
public List<ProviderInfo> GetInstalledProviders(int groupId)
|
|
{
|
|
return ServerController.GetInstalledProviders(groupId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public List<ResourceGroupInfo> GetResourceGroups()
|
|
{
|
|
return ServerController.GetResourceGroups();
|
|
}
|
|
|
|
[WebMethod]
|
|
public ResourceGroupInfo GetResourceGroup(int groupId)
|
|
{
|
|
return ServerController.GetResourceGroup(groupId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public ProviderInfo GetProvider(int providerId)
|
|
{
|
|
return ServerController.GetProvider(providerId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public List<ProviderInfo> GetProviders()
|
|
{
|
|
return ServerController.GetProviders();
|
|
}
|
|
|
|
[WebMethod]
|
|
public List<ProviderInfo> GetProvidersByGroupId(int groupId)
|
|
{
|
|
return ServerController.GetProvidersByGroupID(groupId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public ProviderInfo GetPackageServiceProvider(int packageId, string groupName)
|
|
{
|
|
return ServerController.GetPackageServiceProvider(packageId, groupName);
|
|
}
|
|
|
|
[WebMethod]
|
|
public BoolResult IsInstalled(int serverId, int providerId)
|
|
{
|
|
return ServerController.IsInstalled(serverId, providerId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public string GetServerVersion(int serverId)
|
|
{
|
|
return ServerController.GetServerVersion(serverId);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region IP Addresses
|
|
[WebMethod]
|
|
public List<IPAddressInfo> GetIPAddresses(IPAddressPool pool, int serverId)
|
|
{
|
|
return ServerController.GetIPAddresses(pool, serverId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public IPAddressesPaged GetIPAddressesPaged(IPAddressPool pool, int serverId,
|
|
string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows)
|
|
{
|
|
return ServerController.GetIPAddressesPaged(pool, serverId, filterColumn, filterValue, sortColumn, startRow, maximumRows);
|
|
}
|
|
|
|
[WebMethod]
|
|
public IPAddressInfo GetIPAddress(int addressId)
|
|
{
|
|
return ServerController.GetIPAddress(addressId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public IntResult AddIPAddress(IPAddressPool pool, int serverId,
|
|
string externalIP, string internalIP, string subnetMask, string defaultGateway, string comments)
|
|
{
|
|
return ServerController.AddIPAddress(pool, serverId, externalIP, internalIP, subnetMask, defaultGateway, comments);
|
|
}
|
|
|
|
[WebMethod]
|
|
public ResultObject AddIPAddressesRange(IPAddressPool pool, int serverId,
|
|
string externalIP, string endIP, string internalIP, string subnetMask, string defaultGateway, string comments)
|
|
{
|
|
return ServerController.AddIPAddressesRange(pool, serverId, externalIP, endIP, internalIP, subnetMask, defaultGateway, comments);
|
|
}
|
|
|
|
[WebMethod]
|
|
public ResultObject UpdateIPAddress(int addressId, IPAddressPool pool, int serverId,
|
|
string externalIP, string internalIP, string subnetMask, string defaultGateway, string comments)
|
|
{
|
|
return ServerController.UpdateIPAddress(addressId, pool, serverId, externalIP, internalIP, subnetMask, defaultGateway, comments);
|
|
}
|
|
|
|
[WebMethod]
|
|
public ResultObject UpdateIPAddresses(int[] addresses, IPAddressPool pool, int serverId,
|
|
string subnetMask, string defaultGateway, string comments)
|
|
{
|
|
return ServerController.UpdateIPAddresses(addresses, pool, serverId, subnetMask, defaultGateway, comments);
|
|
}
|
|
|
|
[WebMethod]
|
|
public ResultObject DeleteIPAddress(int addressId)
|
|
{
|
|
return ServerController.DeleteIPAddress(addressId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public ResultObject DeleteIPAddresses(int[] addresses)
|
|
{
|
|
return ServerController.DeleteIPAddresses(addresses);
|
|
}
|
|
#endregion
|
|
|
|
#region Package IP Adderesses
|
|
[WebMethod]
|
|
public List<IPAddressInfo> GetUnallottedIPAddresses(int packageId, string groupName, IPAddressPool pool)
|
|
{
|
|
return ServerController.GetUnallottedIPAddresses(packageId, groupName, pool);
|
|
}
|
|
|
|
[WebMethod]
|
|
public PackageIPAddressesPaged GetPackageIPAddresses(int packageId, IPAddressPool pool,
|
|
string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, bool recursive)
|
|
{
|
|
return ServerController.GetPackageIPAddresses(packageId, pool,
|
|
filterColumn, filterValue, sortColumn, startRow, maximumRows, recursive);
|
|
}
|
|
|
|
[WebMethod]
|
|
public List<PackageIPAddress> GetPackageUnassignedIPAddresses(int packageId, IPAddressPool pool)
|
|
{
|
|
return ServerController.GetPackageUnassignedIPAddresses(packageId, pool);
|
|
}
|
|
|
|
[WebMethod]
|
|
public ResultObject AllocatePackageIPAddresses(int packageId, string groupName, IPAddressPool pool, bool allocateRandom, int addressesNumber,
|
|
int[] addressId)
|
|
{
|
|
return ServerController.AllocatePackageIPAddresses(packageId, groupName, pool, allocateRandom,
|
|
addressesNumber, addressId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public ResultObject AllocateMaximumPackageIPAddresses(int packageId, string groupName, IPAddressPool pool)
|
|
{
|
|
return ServerController.AllocateMaximumPackageIPAddresses(packageId, groupName, pool);
|
|
}
|
|
|
|
[WebMethod]
|
|
public ResultObject DeallocatePackageIPAddresses(int packageId, int[] addressId)
|
|
{
|
|
return ServerController.DeallocatePackageIPAddresses(packageId, addressId);
|
|
}
|
|
#endregion
|
|
|
|
#region Clusters
|
|
[WebMethod]
|
|
public List<ClusterInfo> GetClusters()
|
|
{
|
|
return ServerController.GetClusters();
|
|
}
|
|
|
|
[WebMethod]
|
|
public int AddCluster(ClusterInfo cluster)
|
|
{
|
|
return ServerController.AddCluster(cluster);
|
|
}
|
|
|
|
[WebMethod]
|
|
public int DeleteCluster(int clusterId)
|
|
{
|
|
return ServerController.DeleteCluster(clusterId);
|
|
}
|
|
#endregion
|
|
|
|
#region Global DNS records
|
|
[WebMethod]
|
|
public DataSet GetRawDnsRecordsByService(int serviceId)
|
|
{
|
|
return ServerController.GetRawDnsRecordsByService(serviceId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public DataSet GetRawDnsRecordsByServer(int serverId)
|
|
{
|
|
return ServerController.GetRawDnsRecordsByServer(serverId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public DataSet GetRawDnsRecordsByPackage(int packageId)
|
|
{
|
|
return ServerController.GetRawDnsRecordsByPackage(packageId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public DataSet GetRawDnsRecordsByGroup(int groupId)
|
|
{
|
|
return ServerController.GetRawDnsRecordsByGroup(groupId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public List<GlobalDnsRecord> GetDnsRecordsByService(int serviceId)
|
|
{
|
|
return ServerController.GetDnsRecordsByService(serviceId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public List<GlobalDnsRecord> GetDnsRecordsByServer(int serverId)
|
|
{
|
|
return ServerController.GetDnsRecordsByServer(serverId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public List<GlobalDnsRecord> GetDnsRecordsByPackage(int packageId)
|
|
{
|
|
return ServerController.GetDnsRecordsByPackage(packageId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public List<GlobalDnsRecord> GetDnsRecordsByGroup(int groupId)
|
|
{
|
|
return ServerController.GetDnsRecordsByGroup(groupId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public GlobalDnsRecord GetDnsRecord(int recordId)
|
|
{
|
|
return ServerController.GetDnsRecord(recordId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public int AddDnsRecord(GlobalDnsRecord record)
|
|
{
|
|
return ServerController.AddDnsRecord(record);
|
|
}
|
|
|
|
[WebMethod]
|
|
public int UpdateDnsRecord(GlobalDnsRecord record)
|
|
{
|
|
return ServerController.UpdateDnsRecord(record);
|
|
}
|
|
|
|
[WebMethod]
|
|
public int DeleteDnsRecord(int recordId)
|
|
{
|
|
return ServerController.DeleteDnsRecord(recordId);
|
|
}
|
|
#endregion
|
|
|
|
#region Domains
|
|
[WebMethod]
|
|
public List<DomainInfo> GetDomains(int packageId)
|
|
{
|
|
return ServerController.GetDomains(packageId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public List<DomainInfo> GetDomainsByDomainId(int domainId)
|
|
{
|
|
return ServerController.GetDomainsByDomainItemId(domainId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public List<DomainInfo> GetMyDomains(int packageId)
|
|
{
|
|
return ServerController.GetMyDomains(packageId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public List<DomainInfo> GetResellerDomains(int packageId)
|
|
{
|
|
return ServerController.GetResellerDomains(packageId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public DataSet GetDomainsPaged(int packageId, int serverId, bool recursive, string filterColumn, string filterValue,
|
|
string sortColumn, int startRow, int maximumRows)
|
|
{
|
|
return ServerController.GetDomainsPaged(packageId, serverId, recursive, filterColumn, filterValue, sortColumn,
|
|
startRow, maximumRows);
|
|
}
|
|
|
|
[WebMethod]
|
|
public DomainInfo GetDomain(int domainId)
|
|
{
|
|
return ServerController.GetDomain(domainId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public int AddDomain(DomainInfo domain)
|
|
{
|
|
return ServerController.AddDomain(domain);
|
|
}
|
|
|
|
[WebMethod]
|
|
public int AddDomainWithProvisioning(int packageId, string domainName, DomainType domainType,
|
|
bool createWebSite, int pointWebSiteId, int pointMailDomainId,
|
|
bool createDnsZone, bool createInstantAlias, bool allowSubDomains, string hostName)
|
|
{
|
|
return ServerController.AddDomainWithProvisioning(packageId, domainName, domainType,
|
|
createWebSite, pointWebSiteId, pointMailDomainId,
|
|
createDnsZone, createInstantAlias, allowSubDomains, hostName);
|
|
}
|
|
|
|
[WebMethod]
|
|
public int UpdateDomain(DomainInfo domain)
|
|
{
|
|
return ServerController.UpdateDomain(domain);
|
|
}
|
|
|
|
[WebMethod]
|
|
public int DeleteDomain(int domainId)
|
|
{
|
|
return ServerController.DeleteDomain(domainId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public int DetachDomain(int domainId)
|
|
{
|
|
return ServerController.DetachDomain(domainId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public int EnableDomainDns(int domainId)
|
|
{
|
|
return ServerController.EnableDomainDns(domainId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public int DisableDomainDns(int domainId)
|
|
{
|
|
return ServerController.DisableDomainDns(domainId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public int CreateDomainInstantAlias(string hostName, int domainId)
|
|
{
|
|
return ServerController.CreateDomainInstantAlias(hostName, domainId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public int DeleteDomainInstantAlias(int domainId)
|
|
{
|
|
return ServerController.DeleteDomainInstantAlias(domainId);
|
|
}
|
|
#endregion
|
|
|
|
#region DNS Zones
|
|
[WebMethod]
|
|
public DnsRecord[] GetDnsZoneRecords(int domainId)
|
|
{
|
|
return ServerController.GetDnsZoneRecords(domainId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public DataSet GetRawDnsZoneRecords(int domainId)
|
|
{
|
|
return ServerController.GetRawDnsZoneRecords(domainId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public int AddDnsZoneRecord(int domainId, string recordName, DnsRecordType recordType,
|
|
string recordData, int mxPriority, int srvPriority, int srvWeight, int srvPortNumber)
|
|
{
|
|
return ServerController.AddDnsZoneRecord(domainId, recordName, recordType, recordData, mxPriority, srvPriority, srvWeight, srvPortNumber);
|
|
}
|
|
|
|
[WebMethod]
|
|
public int UpdateDnsZoneRecord(int domainId,
|
|
string originalRecordName, string originalRecordData,
|
|
string recordName, DnsRecordType recordType, string recordData, int mxPriority, int srvPriority, int srvWeight, int srvPortNumber)
|
|
{
|
|
return ServerController.UpdateDnsZoneRecord(domainId, originalRecordName, originalRecordData,
|
|
recordName, recordType, recordData, mxPriority, srvPriority, srvWeight, srvPortNumber);
|
|
}
|
|
|
|
[WebMethod]
|
|
public int DeleteDnsZoneRecord(int domainId, string recordName, DnsRecordType recordType, string recordData)
|
|
{
|
|
return ServerController.DeleteDnsZoneRecord(domainId, recordName, recordType, recordData);
|
|
}
|
|
#endregion
|
|
|
|
#region Terminal Services Sessions
|
|
[WebMethod]
|
|
public TerminalSession[] GetTerminalServicesSessions(int serverId)
|
|
{
|
|
return OperatingSystemController.GetTerminalServicesSessions(serverId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public int CloseTerminalServicesSession(int serverId, int sessionId)
|
|
{
|
|
return OperatingSystemController.CloseTerminalServicesSession(serverId, sessionId);
|
|
}
|
|
#endregion
|
|
|
|
#region Windows Processes
|
|
[WebMethod]
|
|
public WindowsProcess[] GetWindowsProcesses(int serverId)
|
|
{
|
|
return OperatingSystemController.GetWindowsProcesses(serverId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public int TerminateWindowsProcess(int serverId, int pid)
|
|
{
|
|
return OperatingSystemController.TerminateWindowsProcess(serverId, pid);
|
|
}
|
|
#endregion
|
|
|
|
|
|
#region Web Platform Installer
|
|
|
|
[WebMethod]
|
|
public bool CheckLoadUserProfile(int serverId)
|
|
{
|
|
return OperatingSystemController.CheckLoadUserProfile(serverId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public void EnableLoadUserProfile(int serverId)
|
|
{
|
|
OperatingSystemController.EnableLoadUserProfile(serverId);
|
|
}
|
|
|
|
|
|
|
|
[WebMethod]
|
|
public void InitWPIFeeds(int serverId)
|
|
{
|
|
var wpiSettings = SystemController.GetSystemSettings(SystemSettings.WPI_SETTINGS);
|
|
|
|
|
|
List<string> feeds = new List<string>();
|
|
|
|
// Microsoft feed
|
|
string mainFeedUrl = wpiSettings[SystemSettings.WPI_MAIN_FEED_KEY];
|
|
if (string.IsNullOrEmpty(mainFeedUrl))
|
|
{
|
|
mainFeedUrl = WebPlatformInstaller.MAIN_FEED_URL;
|
|
}
|
|
feeds.Add(mainFeedUrl);
|
|
|
|
// Zoo Feed
|
|
feeds.Add(WebPlatformInstaller.ZOO_FEED);
|
|
|
|
|
|
// additional feeds
|
|
string additionalFeeds = wpiSettings[SystemSettings.FEED_ULS_KEY];
|
|
if (!string.IsNullOrEmpty(additionalFeeds))
|
|
{
|
|
feeds.AddRange(additionalFeeds.Split(';'));
|
|
}
|
|
|
|
OperatingSystemController.InitWPIFeeds(serverId, string.Join(";", feeds));
|
|
|
|
}
|
|
|
|
[WebMethod]
|
|
public WPITab[] GetWPITabs(int serverId)
|
|
{
|
|
InitWPIFeeds(serverId);
|
|
return OperatingSystemController.GetWPITabs(serverId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public WPIKeyword[] GetWPIKeywords(int serverId)
|
|
{
|
|
InitWPIFeeds(serverId);
|
|
return OperatingSystemController.GetWPIKeywords(serverId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public WPIProduct[] GetWPIProducts(int serverId, string tabId, string keywordId)
|
|
{
|
|
InitWPIFeeds(serverId);
|
|
return OperatingSystemController.GetWPIProducts(serverId, tabId, keywordId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public WPIProduct[] GetWPIProductsFiltered(int serverId, string keywordId)
|
|
{
|
|
InitWPIFeeds(serverId);
|
|
return OperatingSystemController.GetWPIProductsFiltered(serverId, keywordId);
|
|
}
|
|
|
|
|
|
[WebMethod]
|
|
public WPIProduct[] GetWPIProductsWithDependencies(int serverId, string[] products)
|
|
{
|
|
InitWPIFeeds(serverId);
|
|
return OperatingSystemController.GetWPIProductsWithDependencies(serverId, products);
|
|
}
|
|
|
|
[WebMethod]
|
|
public void InstallWPIProducts(int serverId, string[] products)
|
|
{
|
|
InitWPIFeeds(serverId);
|
|
OperatingSystemController.InstallWPIProducts(serverId, products);
|
|
}
|
|
|
|
[WebMethod]
|
|
public void CancelInstallWPIProducts(int serviceId)
|
|
{
|
|
OperatingSystemController.CancelInstallWPIProducts(serviceId);
|
|
}
|
|
|
|
|
|
[WebMethod]
|
|
public string GetWPIStatus(int serverId)
|
|
{
|
|
return OperatingSystemController.GetWPIStatus(serverId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public string WpiGetLogFileDirectory(int serverId)
|
|
{
|
|
return OperatingSystemController.WpiGetLogFileDirectory(serverId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public SettingPair[] WpiGetLogsInDirectory(int serverId, string Path)
|
|
{
|
|
return OperatingSystemController.WpiGetLogsInDirectory(serverId, Path);
|
|
}
|
|
#endregion
|
|
|
|
|
|
|
|
#region Windows Services
|
|
[WebMethod]
|
|
public WindowsService[] GetWindowsServices(int serverId)
|
|
{
|
|
return OperatingSystemController.GetWindowsServices(serverId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public int ChangeWindowsServiceStatus(int serverId, string id, WindowsServiceStatus status)
|
|
{
|
|
return OperatingSystemController.ChangeWindowsServiceStatus(serverId, id, status);
|
|
}
|
|
#endregion
|
|
|
|
#region Event Viewer
|
|
[WebMethod]
|
|
public string[] GetLogNames(int serverId)
|
|
{
|
|
return OperatingSystemController.GetLogNames(serverId);
|
|
}
|
|
|
|
[WebMethod]
|
|
public SystemLogEntry[] GetLogEntries(int serverId, string logName)
|
|
{
|
|
return OperatingSystemController.GetLogEntries(serverId, logName);
|
|
}
|
|
|
|
[WebMethod]
|
|
public SystemLogEntriesPaged GetLogEntriesPaged(int serverId, string logName, int startRow, int maximumRows)
|
|
{
|
|
return OperatingSystemController.GetLogEntriesPaged(serverId, logName, startRow, maximumRows);
|
|
}
|
|
|
|
[WebMethod]
|
|
public int ClearLog(int serverId, string logName)
|
|
{
|
|
return OperatingSystemController.ClearLog(serverId, logName);
|
|
}
|
|
#endregion
|
|
|
|
#region Server Reboot
|
|
[WebMethod]
|
|
public int RebootSystem(int serverId)
|
|
{
|
|
return OperatingSystemController.RebootSystem(serverId);
|
|
}
|
|
#endregion
|
|
|
|
#region Helper methods
|
|
private string[] ConvertDictionaryToArray(StringDictionary settings)
|
|
{
|
|
List<string> r = new List<string>();
|
|
foreach (string key in settings.Keys)
|
|
r.Add(key + "=" + settings[key]);
|
|
return r.ToArray();
|
|
}
|
|
|
|
private StringDictionary ConvertArrayToDictionary(string[] settings)
|
|
{
|
|
StringDictionary r = new StringDictionary();
|
|
foreach (string setting in settings)
|
|
{
|
|
int idx = setting.IndexOf('=');
|
|
r.Add(setting.Substring(0, idx), setting.Substring(idx + 1));
|
|
}
|
|
return r;
|
|
}
|
|
#endregion
|
|
}
|
|
}
|