Merge pull request #1101 from MihaelaStoica/CAR-2184

CP-18407: Rename PVS farm to PVS site + CP-16935: Configure Control domain memory for a host
This commit is contained in:
Konstantina Chremmou 2016-08-10 15:48:08 +01:00 committed by GitHub
commit 59b9bb895d
54 changed files with 4553 additions and 1924 deletions

View File

@ -0,0 +1,98 @@
/* Copyright (c) Citrix Systems Inc.
* 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.
*
* 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.Collections.Generic;
using System.Text;
using XenAPI;
using XenAdmin.Core;
using XenAdmin.Network;
using XenAdmin.Wizards.NewVMWizard;
using XenAdmin.Properties;
using System.Drawing;
using System.Collections.ObjectModel;
using System.Windows.Forms;
using XenAdmin.Dialogs;
using XenAdmin.Actions;
namespace XenAdmin.Commands
{
/// <summary>
/// Launches the Control Domain Memory dialog.
/// </summary>
internal class ChangeControlDomainMemoryCommand : Command
{
/// <summary>
/// Initializes a new instance of this Command. The parameter-less constructor is required if
/// this Command is to be attached to a ToolStrip menu item or button. It should not be used in any other scenario.
/// </summary>
public ChangeControlDomainMemoryCommand()
{
}
public ChangeControlDomainMemoryCommand(IMainWindow mainWindow, IEnumerable<SelectedItem> selection)
: base(mainWindow, selection)
{
}
protected override void ExecuteCore(SelectedItemCollection selection)
{
Host host = selection[0].HostAncestor;
using (var dlg = new ControlDomainMemoryDialog(host))
dlg.ShowDialog(Program.MainWindow);
}
protected override bool ConfirmationRequired
{
get { return false; }
}
private bool CanExecute(Host host)
{
return host != null && host.IsLive && Helpers.ElyOrGreater(host);
}
protected override bool CanExecuteCore(SelectedItemCollection selection)
{
return selection.ContainsOneItemOfType<Host>() && selection.AtLeastOneXenObjectCan<Host>(CanExecute);
}
public override string MenuText
{
get
{
return Messages.HOST_MENU_CONTROL_DOMAIN_MEMORY;
}
}
}
}

View File

@ -39,7 +39,8 @@ namespace XenAdmin.Controls.Ballooning
public static Color VMShinyBar_Unused = Color.Black; public static Color VMShinyBar_Unused = Color.Black;
public static Color VMShinyBar_Text = Color.White; public static Color VMShinyBar_Text = Color.White;
public static Color HostShinyBar_Control = Color.DimGray; public static Color HostShinyBar_Xen = Color.DarkGray;
public static Color HostShinyBar_ControlDomain = Color.DimGray;
public static Color[] HostShinyBar_VMs = { Color.MidnightBlue, Color.SteelBlue }; public static Color[] HostShinyBar_VMs = { Color.MidnightBlue, Color.SteelBlue };
public static Color HostShinyBar_Unused = Color.Black; public static Color HostShinyBar_Unused = Color.Black;
public static Color HostShinyBar_Text = Color.White; public static Color HostShinyBar_Text = Color.White;

View File

@ -39,9 +39,10 @@ namespace XenAdmin.Controls.Ballooning
this.valueTotDynMax = new System.Windows.Forms.Label(); this.valueTotDynMax = new System.Windows.Forms.Label();
this.unitsTotal = new System.Windows.Forms.Label(); this.unitsTotal = new System.Windows.Forms.Label();
this.unitsUsed = new System.Windows.Forms.Label(); this.unitsUsed = new System.Windows.Forms.Label();
this.unitsAvail = new System.Windows.Forms.Label();
this.unitsTotDynMax = new System.Windows.Forms.Label(); this.unitsTotDynMax = new System.Windows.Forms.Label();
this.labelOvercommit = new System.Windows.Forms.Label(); this.labelOvercommit = new System.Windows.Forms.Label();
this.labelControlDomain = new System.Windows.Forms.Label();
this.valueControlDomain = new System.Windows.Forms.LinkLabel();
this.hostShinyBar = new XenAdmin.Controls.Ballooning.HostShinyBar(); this.hostShinyBar = new XenAdmin.Controls.Ballooning.HostShinyBar();
this.SuspendLayout(); this.SuspendLayout();
// //
@ -95,11 +96,6 @@ namespace XenAdmin.Controls.Ballooning
resources.ApplyResources(this.unitsUsed, "unitsUsed"); resources.ApplyResources(this.unitsUsed, "unitsUsed");
this.unitsUsed.Name = "unitsUsed"; this.unitsUsed.Name = "unitsUsed";
// //
// unitsAvail
//
resources.ApplyResources(this.unitsAvail, "unitsAvail");
this.unitsAvail.Name = "unitsAvail";
//
// unitsTotDynMax // unitsTotDynMax
// //
resources.ApplyResources(this.unitsTotDynMax, "unitsTotDynMax"); resources.ApplyResources(this.unitsTotDynMax, "unitsTotDynMax");
@ -110,6 +106,18 @@ namespace XenAdmin.Controls.Ballooning
resources.ApplyResources(this.labelOvercommit, "labelOvercommit"); resources.ApplyResources(this.labelOvercommit, "labelOvercommit");
this.labelOvercommit.Name = "labelOvercommit"; this.labelOvercommit.Name = "labelOvercommit";
// //
// labelControlDomain
//
resources.ApplyResources(this.labelControlDomain, "labelControlDomain");
this.labelControlDomain.Name = "labelControlDomain";
//
// valueControlDomain
//
resources.ApplyResources(this.valueControlDomain, "valueControlDomain");
this.valueControlDomain.DisabledLinkColor = System.Drawing.SystemColors.ControlText;
this.valueControlDomain.Name = "valueControlDomain";
this.valueControlDomain.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.valueControlDomain_LinkClicked);
//
// hostShinyBar // hostShinyBar
// //
resources.ApplyResources(this.hostShinyBar, "hostShinyBar"); resources.ApplyResources(this.hostShinyBar, "hostShinyBar");
@ -119,9 +127,10 @@ namespace XenAdmin.Controls.Ballooning
// //
resources.ApplyResources(this, "$this"); resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.Controls.Add(this.valueControlDomain);
this.Controls.Add(this.labelControlDomain);
this.Controls.Add(this.labelOvercommit); this.Controls.Add(this.labelOvercommit);
this.Controls.Add(this.unitsTotDynMax); this.Controls.Add(this.unitsTotDynMax);
this.Controls.Add(this.unitsAvail);
this.Controls.Add(this.unitsUsed); this.Controls.Add(this.unitsUsed);
this.Controls.Add(this.unitsTotal); this.Controls.Add(this.unitsTotal);
this.Controls.Add(this.valueTotDynMax); this.Controls.Add(this.valueTotDynMax);
@ -152,8 +161,9 @@ namespace XenAdmin.Controls.Ballooning
private System.Windows.Forms.Label valueTotDynMax; private System.Windows.Forms.Label valueTotDynMax;
private System.Windows.Forms.Label unitsTotal; private System.Windows.Forms.Label unitsTotal;
private System.Windows.Forms.Label unitsUsed; private System.Windows.Forms.Label unitsUsed;
private System.Windows.Forms.Label unitsAvail;
private System.Windows.Forms.Label unitsTotDynMax; private System.Windows.Forms.Label unitsTotDynMax;
private System.Windows.Forms.Label labelOvercommit; private System.Windows.Forms.Label labelOvercommit;
private System.Windows.Forms.Label labelControlDomain;
private System.Windows.Forms.LinkLabel valueControlDomain;
} }
} }

View File

@ -37,6 +37,8 @@ using System.Data;
using System.Text; using System.Text;
using System.Windows.Forms; using System.Windows.Forms;
using XenAPI; using XenAPI;
using XenAdmin.Dialogs;
using XenAdmin.Core;
namespace XenAdmin.Controls.Ballooning namespace XenAdmin.Controls.Ballooning
@ -67,6 +69,16 @@ namespace XenAdmin.Controls.Ballooning
if (metrics != null) if (metrics != null)
metrics.PropertyChanged += vm_metrics_PropertyChanged; metrics.PropertyChanged += vm_metrics_PropertyChanged;
} }
if (Helpers.ElyOrGreater(_host))
{
valueControlDomain.LinkBehavior = LinkBehavior.AlwaysUnderline;
valueControlDomain.Links[0].Enabled = true;
}
else
{
valueControlDomain.LinkBehavior = LinkBehavior.NeverUnderline;
valueControlDomain.Links[0].Enabled = false;
}
} }
} }
@ -81,13 +93,14 @@ namespace XenAdmin.Controls.Ballooning
long xen_memory = host.xen_memory_calc; long xen_memory = host.xen_memory_calc;
long avail = host.memory_available_calc; long avail = host.memory_available_calc;
long tot_dyn_max = host.tot_dyn_max + xen_memory; long tot_dyn_max = host.tot_dyn_max + xen_memory;
long dom0 = host.dom0_memory;
long overcommit = total > 0 long overcommit = total > 0
? (long)Math.Round((double)tot_dyn_max / (double)total * 100.0) ? (long)Math.Round((double)tot_dyn_max / (double)total * 100.0)
: 0; : 0;
// Initialize the shiny bar // Initialize the shiny bar
hostShinyBar.Initialize(host, xen_memory); hostShinyBar.Initialize(host, xen_memory, dom0);
// Set the text values // Set the text values
valueTotal.Text = Util.MemorySizeStringSuitableUnits(total, true); valueTotal.Text = Util.MemorySizeStringSuitableUnits(total, true);
@ -95,6 +108,7 @@ namespace XenAdmin.Controls.Ballooning
valueAvail.Text = Util.MemorySizeStringSuitableUnits(avail, true); valueAvail.Text = Util.MemorySizeStringSuitableUnits(avail, true);
valueTotDynMax.Text = Util.MemorySizeStringSuitableUnits(tot_dyn_max, true); valueTotDynMax.Text = Util.MemorySizeStringSuitableUnits(tot_dyn_max, true);
labelOvercommit.Text = string.Format(Messages.OVERCOMMIT, overcommit); labelOvercommit.Text = string.Format(Messages.OVERCOMMIT, overcommit);
valueControlDomain.Text = Util.MemorySizeStringSuitableUnits(dom0, true);
} }
void vm_PropertyChanged(object sender, PropertyChangedEventArgs e) void vm_PropertyChanged(object sender, PropertyChangedEventArgs e)
@ -114,5 +128,11 @@ namespace XenAdmin.Controls.Ballooning
if (e.PropertyName == "memory_actual") if (e.PropertyName == "memory_actual")
this.Refresh(); this.Refresh();
} }
private void valueControlDomain_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
using (var dlg = new ControlDomainMemoryDialog(host))
dlg.ShowDialog(Program.MainWindow);
}
} }
} }

View File

@ -132,7 +132,7 @@
<value>0, 0, 0, 0</value> <value>0, 0, 0, 0</value>
</data> </data>
<data name="labelTotal.Size" type="System.Drawing.Size, System.Drawing"> <data name="labelTotal.Size" type="System.Drawing.Size, System.Drawing">
<value>111, 18</value> <value>123, 18</value>
</data> </data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="labelTotal.TabIndex" type="System.Int32, mscorlib"> <data name="labelTotal.TabIndex" type="System.Int32, mscorlib">
@ -154,7 +154,7 @@
<value>$this</value> <value>$this</value>
</data> </data>
<data name="&gt;&gt;labelTotal.ZOrder" xml:space="preserve"> <data name="&gt;&gt;labelTotal.ZOrder" xml:space="preserve">
<value>12</value> <value>13</value>
</data> </data>
<data name="labelUsed.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <data name="labelUsed.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value> <value>Top, Right</value>
@ -169,7 +169,7 @@
<value>0, 0, 0, 0</value> <value>0, 0, 0, 0</value>
</data> </data>
<data name="labelUsed.Size" type="System.Drawing.Size, System.Drawing"> <data name="labelUsed.Size" type="System.Drawing.Size, System.Drawing">
<value>111, 18</value> <value>123, 18</value>
</data> </data>
<data name="labelUsed.TabIndex" type="System.Int32, mscorlib"> <data name="labelUsed.TabIndex" type="System.Int32, mscorlib">
<value>2</value> <value>2</value>
@ -190,7 +190,7 @@
<value>$this</value> <value>$this</value>
</data> </data>
<data name="&gt;&gt;labelUsed.ZOrder" xml:space="preserve"> <data name="&gt;&gt;labelUsed.ZOrder" xml:space="preserve">
<value>11</value> <value>12</value>
</data> </data>
<data name="labelAvail.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <data name="labelAvail.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value> <value>Top, Right</value>
@ -199,13 +199,13 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="labelAvail.Location" type="System.Drawing.Point, System.Drawing"> <data name="labelAvail.Location" type="System.Drawing.Point, System.Drawing">
<value>490, 36</value> <value>490, 54</value>
</data> </data>
<data name="labelAvail.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="labelAvail.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value> <value>0, 0, 0, 0</value>
</data> </data>
<data name="labelAvail.Size" type="System.Drawing.Size, System.Drawing"> <data name="labelAvail.Size" type="System.Drawing.Size, System.Drawing">
<value>111, 18</value> <value>123, 18</value>
</data> </data>
<data name="labelAvail.TabIndex" type="System.Int32, mscorlib"> <data name="labelAvail.TabIndex" type="System.Int32, mscorlib">
<value>3</value> <value>3</value>
@ -226,7 +226,7 @@
<value>$this</value> <value>$this</value>
</data> </data>
<data name="&gt;&gt;labelAvail.ZOrder" xml:space="preserve"> <data name="&gt;&gt;labelAvail.ZOrder" xml:space="preserve">
<value>10</value> <value>11</value>
</data> </data>
<data name="labelTotDynMax.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <data name="labelTotDynMax.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value> <value>Top, Right</value>
@ -235,13 +235,13 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="labelTotDynMax.Location" type="System.Drawing.Point, System.Drawing"> <data name="labelTotDynMax.Location" type="System.Drawing.Point, System.Drawing">
<value>490, 54</value> <value>490, 72</value>
</data> </data>
<data name="labelTotDynMax.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="labelTotDynMax.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value> <value>0, 0, 0, 0</value>
</data> </data>
<data name="labelTotDynMax.Size" type="System.Drawing.Size, System.Drawing"> <data name="labelTotDynMax.Size" type="System.Drawing.Size, System.Drawing">
<value>111, 18</value> <value>123, 18</value>
</data> </data>
<data name="labelTotDynMax.TabIndex" type="System.Int32, mscorlib"> <data name="labelTotDynMax.TabIndex" type="System.Int32, mscorlib">
<value>4</value> <value>4</value>
@ -262,7 +262,7 @@
<value>$this</value> <value>$this</value>
</data> </data>
<data name="&gt;&gt;labelTotDynMax.ZOrder" xml:space="preserve"> <data name="&gt;&gt;labelTotDynMax.ZOrder" xml:space="preserve">
<value>9</value> <value>10</value>
</data> </data>
<data name="valueTotal.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <data name="valueTotal.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value> <value>Top, Right</value>
@ -271,7 +271,7 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="valueTotal.Location" type="System.Drawing.Point, System.Drawing"> <data name="valueTotal.Location" type="System.Drawing.Point, System.Drawing">
<value>605, 0</value> <value>646, 0</value>
</data> </data>
<data name="valueTotal.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="valueTotal.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value> <value>0, 0, 0, 0</value>
@ -295,7 +295,7 @@
<value>$this</value> <value>$this</value>
</data> </data>
<data name="&gt;&gt;valueTotal.ZOrder" xml:space="preserve"> <data name="&gt;&gt;valueTotal.ZOrder" xml:space="preserve">
<value>8</value> <value>9</value>
</data> </data>
<data name="valueUsed.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <data name="valueUsed.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value> <value>Top, Right</value>
@ -304,7 +304,7 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="valueUsed.Location" type="System.Drawing.Point, System.Drawing"> <data name="valueUsed.Location" type="System.Drawing.Point, System.Drawing">
<value>605, 18</value> <value>646, 18</value>
</data> </data>
<data name="valueUsed.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="valueUsed.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value> <value>0, 0, 0, 0</value>
@ -328,7 +328,7 @@
<value>$this</value> <value>$this</value>
</data> </data>
<data name="&gt;&gt;valueUsed.ZOrder" xml:space="preserve"> <data name="&gt;&gt;valueUsed.ZOrder" xml:space="preserve">
<value>7</value> <value>8</value>
</data> </data>
<data name="valueAvail.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <data name="valueAvail.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value> <value>Top, Right</value>
@ -337,7 +337,7 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="valueAvail.Location" type="System.Drawing.Point, System.Drawing"> <data name="valueAvail.Location" type="System.Drawing.Point, System.Drawing">
<value>605, 36</value> <value>646, 54</value>
</data> </data>
<data name="valueAvail.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="valueAvail.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value> <value>0, 0, 0, 0</value>
@ -361,7 +361,7 @@
<value>$this</value> <value>$this</value>
</data> </data>
<data name="&gt;&gt;valueAvail.ZOrder" xml:space="preserve"> <data name="&gt;&gt;valueAvail.ZOrder" xml:space="preserve">
<value>6</value> <value>7</value>
</data> </data>
<data name="valueTotDynMax.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <data name="valueTotDynMax.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value> <value>Top, Right</value>
@ -370,7 +370,7 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="valueTotDynMax.Location" type="System.Drawing.Point, System.Drawing"> <data name="valueTotDynMax.Location" type="System.Drawing.Point, System.Drawing">
<value>605, 54</value> <value>646, 72</value>
</data> </data>
<data name="valueTotDynMax.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="valueTotDynMax.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value> <value>0, 0, 0, 0</value>
@ -394,28 +394,19 @@
<value>$this</value> <value>$this</value>
</data> </data>
<data name="&gt;&gt;valueTotDynMax.ZOrder" xml:space="preserve"> <data name="&gt;&gt;valueTotDynMax.ZOrder" xml:space="preserve">
<value>5</value> <value>6</value>
</data>
<data name="unitsTotal.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data> </data>
<data name="unitsTotal.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> <data name="unitsTotal.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="unitsTotal.Location" type="System.Drawing.Point, System.Drawing"> <data name="unitsTotal.Location" type="System.Drawing.Point, System.Drawing">
<value>674, 0</value> <value>0, 0</value>
</data>
<data name="unitsTotal.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data> </data>
<data name="unitsTotal.Size" type="System.Drawing.Size, System.Drawing"> <data name="unitsTotal.Size" type="System.Drawing.Size, System.Drawing">
<value>26, 18</value> <value>100, 23</value>
</data> </data>
<data name="unitsTotal.TabIndex" type="System.Int32, mscorlib"> <data name="unitsTotal.TabIndex" type="System.Int32, mscorlib">
<value>11</value> <value>21</value>
</data>
<data name="unitsTotal.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
</data> </data>
<data name="&gt;&gt;unitsTotal.Name" xml:space="preserve"> <data name="&gt;&gt;unitsTotal.Name" xml:space="preserve">
<value>unitsTotal</value> <value>unitsTotal</value>
@ -427,28 +418,19 @@
<value>$this</value> <value>$this</value>
</data> </data>
<data name="&gt;&gt;unitsTotal.ZOrder" xml:space="preserve"> <data name="&gt;&gt;unitsTotal.ZOrder" xml:space="preserve">
<value>4</value> <value>5</value>
</data>
<data name="unitsUsed.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data> </data>
<data name="unitsUsed.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> <data name="unitsUsed.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="unitsUsed.Location" type="System.Drawing.Point, System.Drawing"> <data name="unitsUsed.Location" type="System.Drawing.Point, System.Drawing">
<value>674, 18</value> <value>0, 0</value>
</data>
<data name="unitsUsed.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data> </data>
<data name="unitsUsed.Size" type="System.Drawing.Size, System.Drawing"> <data name="unitsUsed.Size" type="System.Drawing.Size, System.Drawing">
<value>26, 18</value> <value>100, 23</value>
</data> </data>
<data name="unitsUsed.TabIndex" type="System.Int32, mscorlib"> <data name="unitsUsed.TabIndex" type="System.Int32, mscorlib">
<value>12</value> <value>20</value>
</data>
<data name="unitsUsed.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
</data> </data>
<data name="&gt;&gt;unitsUsed.Name" xml:space="preserve"> <data name="&gt;&gt;unitsUsed.Name" xml:space="preserve">
<value>unitsUsed</value> <value>unitsUsed</value>
@ -460,61 +442,19 @@
<value>$this</value> <value>$this</value>
</data> </data>
<data name="&gt;&gt;unitsUsed.ZOrder" xml:space="preserve"> <data name="&gt;&gt;unitsUsed.ZOrder" xml:space="preserve">
<value>3</value> <value>4</value>
</data>
<data name="unitsAvail.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="unitsAvail.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="unitsAvail.Location" type="System.Drawing.Point, System.Drawing">
<value>674, 36</value>
</data>
<data name="unitsAvail.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="unitsAvail.Size" type="System.Drawing.Size, System.Drawing">
<value>26, 18</value>
</data>
<data name="unitsAvail.TabIndex" type="System.Int32, mscorlib">
<value>13</value>
</data>
<data name="unitsAvail.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
</data>
<data name="&gt;&gt;unitsAvail.Name" xml:space="preserve">
<value>unitsAvail</value>
</data>
<data name="&gt;&gt;unitsAvail.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;unitsAvail.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;unitsAvail.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="unitsTotDynMax.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data> </data>
<data name="unitsTotDynMax.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> <data name="unitsTotDynMax.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="unitsTotDynMax.Location" type="System.Drawing.Point, System.Drawing"> <data name="unitsTotDynMax.Location" type="System.Drawing.Point, System.Drawing">
<value>674, 54</value> <value>0, 0</value>
</data>
<data name="unitsTotDynMax.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data> </data>
<data name="unitsTotDynMax.Size" type="System.Drawing.Size, System.Drawing"> <data name="unitsTotDynMax.Size" type="System.Drawing.Size, System.Drawing">
<value>26, 18</value> <value>100, 23</value>
</data> </data>
<data name="unitsTotDynMax.TabIndex" type="System.Int32, mscorlib"> <data name="unitsTotDynMax.TabIndex" type="System.Int32, mscorlib">
<value>14</value> <value>19</value>
</data>
<data name="unitsTotDynMax.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
</data> </data>
<data name="&gt;&gt;unitsTotDynMax.Name" xml:space="preserve"> <data name="&gt;&gt;unitsTotDynMax.Name" xml:space="preserve">
<value>unitsTotDynMax</value> <value>unitsTotDynMax</value>
@ -526,7 +466,7 @@
<value>$this</value> <value>$this</value>
</data> </data>
<data name="&gt;&gt;unitsTotDynMax.ZOrder" xml:space="preserve"> <data name="&gt;&gt;unitsTotDynMax.ZOrder" xml:space="preserve">
<value>1</value> <value>3</value>
</data> </data>
<data name="labelOvercommit.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <data name="labelOvercommit.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value> <value>Top, Right</value>
@ -535,7 +475,7 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="labelOvercommit.Location" type="System.Drawing.Point, System.Drawing"> <data name="labelOvercommit.Location" type="System.Drawing.Point, System.Drawing">
<value>490, 72</value> <value>490, 90</value>
</data> </data>
<data name="labelOvercommit.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="labelOvercommit.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value> <value>0, 0, 0, 0</value>
@ -559,6 +499,72 @@
<value>$this</value> <value>$this</value>
</data> </data>
<data name="&gt;&gt;labelOvercommit.ZOrder" xml:space="preserve"> <data name="&gt;&gt;labelOvercommit.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="labelControlDomain.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="labelControlDomain.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="labelControlDomain.Location" type="System.Drawing.Point, System.Drawing">
<value>490, 36</value>
</data>
<data name="labelControlDomain.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="labelControlDomain.Size" type="System.Drawing.Size, System.Drawing">
<value>143, 18</value>
</data>
<data name="labelControlDomain.TabIndex" type="System.Int32, mscorlib">
<value>16</value>
</data>
<data name="labelControlDomain.Text" xml:space="preserve">
<value>Control domain memory</value>
</data>
<data name="labelControlDomain.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleLeft</value>
</data>
<data name="&gt;&gt;labelControlDomain.Name" xml:space="preserve">
<value>labelControlDomain</value>
</data>
<data name="&gt;&gt;labelControlDomain.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;labelControlDomain.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;labelControlDomain.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="valueControlDomain.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="valueControlDomain.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="valueControlDomain.Location" type="System.Drawing.Point, System.Drawing">
<value>646, 36</value>
</data>
<data name="valueControlDomain.Size" type="System.Drawing.Size, System.Drawing">
<value>54, 18</value>
</data>
<data name="valueControlDomain.TabIndex" type="System.Int32, mscorlib">
<value>18</value>
</data>
<data name="valueControlDomain.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleRight</value>
</data>
<data name="&gt;&gt;valueControlDomain.Name" xml:space="preserve">
<value>valueControlDomain</value>
</data>
<data name="&gt;&gt;valueControlDomain.Type" xml:space="preserve">
<value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;valueControlDomain.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;valueControlDomain.ZOrder" xml:space="preserve">
<value>0</value> <value>0</value>
</data> </data>
<data name="hostShinyBar.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <data name="hostShinyBar.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
@ -571,7 +577,7 @@
<value>0, 0, 0, 0</value> <value>0, 0, 0, 0</value>
</data> </data>
<data name="hostShinyBar.Size" type="System.Drawing.Size, System.Drawing"> <data name="hostShinyBar.Size" type="System.Drawing.Size, System.Drawing">
<value>420, 90</value> <value>420, 111</value>
</data> </data>
<data name="hostShinyBar.TabIndex" type="System.Int32, mscorlib"> <data name="hostShinyBar.TabIndex" type="System.Int32, mscorlib">
<value>0</value> <value>0</value>
@ -586,7 +592,7 @@
<value>$this</value> <value>$this</value>
</data> </data>
<data name="&gt;&gt;hostShinyBar.ZOrder" xml:space="preserve"> <data name="&gt;&gt;hostShinyBar.ZOrder" xml:space="preserve">
<value>13</value> <value>14</value>
</data> </data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
@ -601,7 +607,7 @@
<value>700, 90</value> <value>700, 90</value>
</data> </data>
<data name="$this.Size" type="System.Drawing.Size, System.Drawing"> <data name="$this.Size" type="System.Drawing.Size, System.Drawing">
<value>700, 90</value> <value>700, 111</value>
</data> </data>
<data name="&gt;&gt;$this.Name" xml:space="preserve"> <data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>HostMemoryControls</value> <value>HostMemoryControls</value>

View File

@ -47,14 +47,12 @@ namespace XenAdmin.Controls.Ballooning
// //
resources.ApplyResources(this.hostMemoryControls, "hostMemoryControls"); resources.ApplyResources(this.hostMemoryControls, "hostMemoryControls");
this.hostMemoryControls.BackColor = System.Drawing.Color.Transparent; this.hostMemoryControls.BackColor = System.Drawing.Color.Transparent;
this.hostMemoryControls.MinimumSize = new System.Drawing.Size(700, 90);
this.hostMemoryControls.Name = "hostMemoryControls"; this.hostMemoryControls.Name = "hostMemoryControls";
// //
// memoryRowLabel // memoryRowLabel
// //
resources.ApplyResources(this.memoryRowLabel, "memoryRowLabel"); resources.ApplyResources(this.memoryRowLabel, "memoryRowLabel");
this.memoryRowLabel.BackColor = System.Drawing.Color.Transparent; this.memoryRowLabel.BackColor = System.Drawing.Color.Transparent;
this.memoryRowLabel.MinimumSize = new System.Drawing.Size(0, 26);
this.memoryRowLabel.Name = "memoryRowLabel"; this.memoryRowLabel.Name = "memoryRowLabel";
// //
// HostMemoryRow // HostMemoryRow
@ -64,7 +62,6 @@ namespace XenAdmin.Controls.Ballooning
this.BackColor = System.Drawing.Color.Transparent; this.BackColor = System.Drawing.Color.Transparent;
this.Controls.Add(this.panel); this.Controls.Add(this.panel);
this.DoubleBuffered = true; this.DoubleBuffered = true;
this.MinimumSize = new System.Drawing.Size(700, 118);
this.Name = "HostMemoryRow"; this.Name = "HostMemoryRow";
this.panel.ResumeLayout(false); this.panel.ResumeLayout(false);
this.ResumeLayout(false); this.ResumeLayout(false);

View File

@ -112,29 +112,32 @@
<value>2.0</value> <value>2.0</value>
</resheader> </resheader>
<resheader name="reader"> <resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="panel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <data name="panel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left, Right</value> <value>Top, Bottom, Left, Right</value>
</data> </data>
<data name="hostMemoryControls.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <data name="hostMemoryControls.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value> <value>Top, Left, Right</value>
</data> </data>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="hostMemoryControls.Location" type="System.Drawing.Point, System.Drawing"> <data name="hostMemoryControls.Location" type="System.Drawing.Point, System.Drawing">
<value>1, 27</value> <value>1, 27</value>
</data> </data>
<data name="hostMemoryControls.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="hostMemoryControls.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value> <value>0, 0, 0, 0</value>
</data> </data>
<data name="hostMemoryControls.Size" type="System.Drawing.Size, System.Drawing"> <data name="hostMemoryControls.MinimumSize" type="System.Drawing.Size, System.Drawing">
<value>786, 90</value> <value>700, 90</value>
</data> </data>
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <data name="hostMemoryControls.Size" type="System.Drawing.Size, System.Drawing">
<value>786, 111</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="hostMemoryControls.TabIndex" type="System.Int32, mscorlib"> <data name="hostMemoryControls.TabIndex" type="System.Int32, mscorlib">
<value>1</value> <value>1</value>
</data> </data>
@ -159,6 +162,9 @@
<data name="memoryRowLabel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="memoryRowLabel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value> <value>0, 0, 0, 0</value>
</data> </data>
<data name="memoryRowLabel.MinimumSize" type="System.Drawing.Size, System.Drawing">
<value>0, 26</value>
</data>
<data name="memoryRowLabel.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="memoryRowLabel.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>10, 5, 10, 5</value> <value>10, 5, 10, 5</value>
</data> </data>
@ -187,7 +193,7 @@
<value>0, 0, 0, 0</value> <value>0, 0, 0, 0</value>
</data> </data>
<data name="panel.Size" type="System.Drawing.Size, System.Drawing"> <data name="panel.Size" type="System.Drawing.Size, System.Drawing">
<value>788, 118</value> <value>788, 139</value>
</data> </data>
<data name="panel.TabIndex" type="System.Int32, mscorlib"> <data name="panel.TabIndex" type="System.Int32, mscorlib">
<value>2</value> <value>2</value>
@ -204,7 +210,7 @@
<data name="&gt;&gt;panel.ZOrder" xml:space="preserve"> <data name="&gt;&gt;panel.ZOrder" xml:space="preserve">
<value>0</value> <value>0</value>
</data> </data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing"> <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
@ -213,13 +219,16 @@
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value> <value>0, 0, 0, 0</value>
</data> </data>
<data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing">
<value>700, 139</value>
</data>
<data name="$this.Size" type="System.Drawing.Size, System.Drawing"> <data name="$this.Size" type="System.Drawing.Size, System.Drawing">
<value>788, 118</value> <value>788, 139</value>
</data> </data>
<data name="&gt;&gt;$this.Name" xml:space="preserve"> <data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>HostMemoryRow</value> <value>HostMemoryRow</value>
</data> </data>
<data name="&gt;&gt;$this.Type" xml:space="preserve"> <data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.UserControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Windows.Forms.UserControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data> </data>
</root> </root>

View File

@ -53,12 +53,14 @@ namespace XenAdmin.Controls.Ballooning
List<VM> vms; List<VM> vms;
Dictionary<VM, VM_metrics> vm_metrics; Dictionary<VM, VM_metrics> vm_metrics;
long xen_memory; long xen_memory;
long dom0_memory;
public void Initialize(Host host, long xen_memory) public void Initialize(Host host, long xen_memory, long dom0_memory)
{ {
this.host = host; this.host = host;
this.host_metrics = host.Connection.Resolve(host.metrics); this.host_metrics = host.Connection.Resolve(host.metrics);
this.xen_memory = xen_memory; this.xen_memory = xen_memory;
this.dom0_memory = dom0_memory;
vms = host.Connection.ResolveAll(host.resident_VMs); vms = host.Connection.ResolveAll(host.resident_VMs);
vm_metrics = new Dictionary<VM, VM_metrics>(); vm_metrics = new Dictionary<VM, VM_metrics>();
foreach (VM vm in vms) foreach (VM vm in vms)
@ -79,7 +81,10 @@ namespace XenAdmin.Controls.Ballooning
// A bar for Xen memory // A bar for Xen memory
double left = (double)barArea.Left; double left = (double)barArea.Left;
DrawSegment(g, xen_memory, bytesPerPixel, Messages.MEMORY_XEN, null, BallooningColors.HostShinyBar_Control, ref left); DrawSegment(g, xen_memory - dom0_memory, bytesPerPixel, Messages.MEMORY_XEN, null, BallooningColors.HostShinyBar_Xen, ref left);
// A bar for Dom0 memory
DrawSegment(g, dom0_memory, bytesPerPixel, string.Format(Messages.CONTROL_DOM_ON_HOST, host.Name), null, BallooningColors.HostShinyBar_ControlDomain, ref left);
// A bar for each VM // A bar for each VM
int i = 0; int i = 0;

View File

@ -64,7 +64,6 @@ namespace XenAdmin.Controls.Ballooning
// SpinnerUnits // SpinnerUnits
// //
resources.ApplyResources(this.SpinnerUnits, "SpinnerUnits"); resources.ApplyResources(this.SpinnerUnits, "SpinnerUnits");
this.SpinnerUnits.BackColor = System.Drawing.SystemColors.Control;
this.SpinnerUnits.Name = "SpinnerUnits"; this.SpinnerUnits.Name = "SpinnerUnits";
// //
// MemorySpinner // MemorySpinner

View File

@ -37,9 +37,6 @@ namespace XenAdmin.Controls.Ballooning
this.valueDynMin = new System.Windows.Forms.Label(); this.valueDynMin = new System.Windows.Forms.Label();
this.valueDynMax = new System.Windows.Forms.Label(); this.valueDynMax = new System.Windows.Forms.Label();
this.valueStatMax = new System.Windows.Forms.Label(); this.valueStatMax = new System.Windows.Forms.Label();
this.unitsDynMin = new System.Windows.Forms.Label();
this.unitsDynMax = new System.Windows.Forms.Label();
this.unitsStatMax = new System.Windows.Forms.Label();
this.editButton = new System.Windows.Forms.Button(); this.editButton = new System.Windows.Forms.Button();
this.vmShinyBar = new XenAdmin.Controls.Ballooning.VMShinyBar(); this.vmShinyBar = new XenAdmin.Controls.Ballooning.VMShinyBar();
((System.ComponentModel.ISupportInitialize)(this.iconBoxDynMin)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.iconBoxDynMin)).BeginInit();
@ -98,24 +95,6 @@ namespace XenAdmin.Controls.Ballooning
this.valueStatMax.BackColor = System.Drawing.Color.Transparent; this.valueStatMax.BackColor = System.Drawing.Color.Transparent;
this.valueStatMax.Name = "valueStatMax"; this.valueStatMax.Name = "valueStatMax";
// //
// unitsDynMin
//
resources.ApplyResources(this.unitsDynMin, "unitsDynMin");
this.unitsDynMin.BackColor = System.Drawing.Color.Transparent;
this.unitsDynMin.Name = "unitsDynMin";
//
// unitsDynMax
//
resources.ApplyResources(this.unitsDynMax, "unitsDynMax");
this.unitsDynMax.BackColor = System.Drawing.Color.Transparent;
this.unitsDynMax.Name = "unitsDynMax";
//
// unitsStatMax
//
resources.ApplyResources(this.unitsStatMax, "unitsStatMax");
this.unitsStatMax.BackColor = System.Drawing.Color.Transparent;
this.unitsStatMax.Name = "unitsStatMax";
//
// editButton // editButton
// //
resources.ApplyResources(this.editButton, "editButton"); resources.ApplyResources(this.editButton, "editButton");
@ -126,6 +105,7 @@ namespace XenAdmin.Controls.Ballooning
// vmShinyBar // vmShinyBar
// //
resources.ApplyResources(this.vmShinyBar, "vmShinyBar"); resources.ApplyResources(this.vmShinyBar, "vmShinyBar");
this.vmShinyBar.Increment = 0D;
this.vmShinyBar.Name = "vmShinyBar"; this.vmShinyBar.Name = "vmShinyBar";
// //
// VMMemoryControlsNoEdit // VMMemoryControlsNoEdit
@ -133,9 +113,6 @@ namespace XenAdmin.Controls.Ballooning
resources.ApplyResources(this, "$this"); resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.Controls.Add(this.editButton); this.Controls.Add(this.editButton);
this.Controls.Add(this.unitsStatMax);
this.Controls.Add(this.unitsDynMax);
this.Controls.Add(this.unitsDynMin);
this.Controls.Add(this.valueStatMax); this.Controls.Add(this.valueStatMax);
this.Controls.Add(this.valueDynMax); this.Controls.Add(this.valueDynMax);
this.Controls.Add(this.valueDynMin); this.Controls.Add(this.valueDynMin);
@ -163,9 +140,6 @@ namespace XenAdmin.Controls.Ballooning
private System.Windows.Forms.Label valueDynMin; private System.Windows.Forms.Label valueDynMin;
private System.Windows.Forms.Label valueDynMax; private System.Windows.Forms.Label valueDynMax;
private System.Windows.Forms.Label valueStatMax; private System.Windows.Forms.Label valueStatMax;
private System.Windows.Forms.Label unitsDynMin;
private System.Windows.Forms.Label unitsDynMax;
private System.Windows.Forms.Label unitsStatMax;
private System.Windows.Forms.Button editButton; private System.Windows.Forms.Button editButton;
} }
} }

View File

@ -87,7 +87,7 @@ namespace XenAdmin.Controls.Ballooning
valueDynMin.Text = Util.MemorySizeStringSuitableUnits(vm0.memory_dynamic_min, true); valueDynMin.Text = Util.MemorySizeStringSuitableUnits(vm0.memory_dynamic_min, true);
valueDynMax.Text = Util.MemorySizeStringSuitableUnits(vm0.memory_dynamic_max, true); valueDynMax.Text = Util.MemorySizeStringSuitableUnits(vm0.memory_dynamic_max, true);
if (vm0.memory_dynamic_max == vm0.memory_static_max) if (vm0.memory_dynamic_max == vm0.memory_static_max)
labelStatMax.Visible = valueStatMax.Visible = unitsStatMax.Visible = false; labelStatMax.Visible = valueStatMax.Visible = false;
else else
valueStatMax.Text = Util.MemorySizeStringSuitableUnits(vm0.memory_static_max, true); valueStatMax.Text = Util.MemorySizeStringSuitableUnits(vm0.memory_static_max, true);
} }
@ -97,8 +97,8 @@ namespace XenAdmin.Controls.Ballooning
iconBoxDynMin.Visible = false; iconBoxDynMin.Visible = false;
labelDynMin.Text = Messages.MEMORY; labelDynMin.Text = Messages.MEMORY;
iconBoxDynMax.Visible = labelDynMax.Visible = valueDynMax.Visible = unitsDynMax.Visible = false; iconBoxDynMax.Visible = labelDynMax.Visible = valueDynMax.Visible = false;
labelStatMax.Visible = valueStatMax.Visible = unitsStatMax.Visible = false; labelStatMax.Visible = valueStatMax.Visible = false;
} }
} }

View File

@ -151,7 +151,7 @@
<value>$this</value> <value>$this</value>
</data> </data>
<data name="&gt;&gt;iconBoxDynMin.ZOrder" xml:space="preserve"> <data name="&gt;&gt;iconBoxDynMin.ZOrder" xml:space="preserve">
<value>11</value> <value>8</value>
</data> </data>
<data name="iconBoxDynMax.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <data name="iconBoxDynMax.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value> <value>Top, Right</value>
@ -181,7 +181,7 @@
<value>$this</value> <value>$this</value>
</data> </data>
<data name="&gt;&gt;iconBoxDynMax.ZOrder" xml:space="preserve"> <data name="&gt;&gt;iconBoxDynMax.ZOrder" xml:space="preserve">
<value>10</value> <value>7</value>
</data> </data>
<data name="labelDynMin.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <data name="labelDynMin.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value> <value>Top, Right</value>
@ -220,7 +220,7 @@
<value>$this</value> <value>$this</value>
</data> </data>
<data name="&gt;&gt;labelDynMin.ZOrder" xml:space="preserve"> <data name="&gt;&gt;labelDynMin.ZOrder" xml:space="preserve">
<value>9</value> <value>6</value>
</data> </data>
<data name="labelDynMax.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <data name="labelDynMax.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value> <value>Top, Right</value>
@ -256,7 +256,7 @@
<value>$this</value> <value>$this</value>
</data> </data>
<data name="&gt;&gt;labelDynMax.ZOrder" xml:space="preserve"> <data name="&gt;&gt;labelDynMax.ZOrder" xml:space="preserve">
<value>8</value> <value>5</value>
</data> </data>
<data name="labelStatMax.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <data name="labelStatMax.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value> <value>Top, Right</value>
@ -292,7 +292,7 @@
<value>$this</value> <value>$this</value>
</data> </data>
<data name="&gt;&gt;labelStatMax.ZOrder" xml:space="preserve"> <data name="&gt;&gt;labelStatMax.ZOrder" xml:space="preserve">
<value>7</value> <value>4</value>
</data> </data>
<data name="valueDynMin.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <data name="valueDynMin.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value> <value>Top, Right</value>
@ -301,7 +301,7 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="valueDynMin.Location" type="System.Drawing.Point, System.Drawing"> <data name="valueDynMin.Location" type="System.Drawing.Point, System.Drawing">
<value>605, 32</value> <value>646, 32</value>
</data> </data>
<data name="valueDynMin.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="valueDynMin.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value> <value>0, 0, 0, 0</value>
@ -325,7 +325,7 @@
<value>$this</value> <value>$this</value>
</data> </data>
<data name="&gt;&gt;valueDynMin.ZOrder" xml:space="preserve"> <data name="&gt;&gt;valueDynMin.ZOrder" xml:space="preserve">
<value>6</value> <value>3</value>
</data> </data>
<data name="valueDynMax.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <data name="valueDynMax.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value> <value>Top, Right</value>
@ -334,7 +334,7 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="valueDynMax.Location" type="System.Drawing.Point, System.Drawing"> <data name="valueDynMax.Location" type="System.Drawing.Point, System.Drawing">
<value>605, 51</value> <value>646, 51</value>
</data> </data>
<data name="valueDynMax.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="valueDynMax.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value> <value>0, 0, 0, 0</value>
@ -358,7 +358,7 @@
<value>$this</value> <value>$this</value>
</data> </data>
<data name="&gt;&gt;valueDynMax.ZOrder" xml:space="preserve"> <data name="&gt;&gt;valueDynMax.ZOrder" xml:space="preserve">
<value>5</value> <value>2</value>
</data> </data>
<data name="valueStatMax.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <data name="valueStatMax.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value> <value>Top, Right</value>
@ -367,7 +367,7 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="valueStatMax.Location" type="System.Drawing.Point, System.Drawing"> <data name="valueStatMax.Location" type="System.Drawing.Point, System.Drawing">
<value>605, 70</value> <value>646, 70</value>
</data> </data>
<data name="valueStatMax.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="valueStatMax.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value> <value>0, 0, 0, 0</value>
@ -391,105 +391,6 @@
<value>$this</value> <value>$this</value>
</data> </data>
<data name="&gt;&gt;valueStatMax.ZOrder" xml:space="preserve"> <data name="&gt;&gt;valueStatMax.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="unitsDynMin.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="unitsDynMin.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="unitsDynMin.Location" type="System.Drawing.Point, System.Drawing">
<value>674, 32</value>
</data>
<data name="unitsDynMin.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="unitsDynMin.Size" type="System.Drawing.Size, System.Drawing">
<value>26, 18</value>
</data>
<data name="unitsDynMin.TabIndex" type="System.Int32, mscorlib">
<value>9</value>
</data>
<data name="unitsDynMin.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
</data>
<data name="&gt;&gt;unitsDynMin.Name" xml:space="preserve">
<value>unitsDynMin</value>
</data>
<data name="&gt;&gt;unitsDynMin.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;unitsDynMin.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;unitsDynMin.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="unitsDynMax.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="unitsDynMax.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="unitsDynMax.Location" type="System.Drawing.Point, System.Drawing">
<value>674, 51</value>
</data>
<data name="unitsDynMax.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="unitsDynMax.Size" type="System.Drawing.Size, System.Drawing">
<value>26, 18</value>
</data>
<data name="unitsDynMax.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
</data>
<data name="unitsDynMax.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
</data>
<data name="&gt;&gt;unitsDynMax.Name" xml:space="preserve">
<value>unitsDynMax</value>
</data>
<data name="&gt;&gt;unitsDynMax.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;unitsDynMax.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;unitsDynMax.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="unitsStatMax.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="unitsStatMax.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="unitsStatMax.Location" type="System.Drawing.Point, System.Drawing">
<value>674, 70</value>
</data>
<data name="unitsStatMax.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="unitsStatMax.Size" type="System.Drawing.Size, System.Drawing">
<value>26, 18</value>
</data>
<data name="unitsStatMax.TabIndex" type="System.Int32, mscorlib">
<value>11</value>
</data>
<data name="unitsStatMax.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
</data>
<data name="&gt;&gt;unitsStatMax.Name" xml:space="preserve">
<value>unitsStatMax</value>
</data>
<data name="&gt;&gt;unitsStatMax.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;unitsStatMax.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;unitsStatMax.ZOrder" xml:space="preserve">
<value>1</value> <value>1</value>
</data> </data>
<data name="editButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <data name="editButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
@ -550,7 +451,7 @@
<value>$this</value> <value>$this</value>
</data> </data>
<data name="&gt;&gt;vmShinyBar.ZOrder" xml:space="preserve"> <data name="&gt;&gt;vmShinyBar.ZOrder" xml:space="preserve">
<value>12</value> <value>9</value>
</data> </data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>

View File

@ -1,6 +1,6 @@
namespace XenAdmin.Controls.DataGridViewEx namespace XenAdmin.Controls.DataGridViewEx
{ {
partial class CollapsingPvsFarmServerDataGridView partial class CollapsingPvsSiteServerDataGridView
{ {
/// <summary> /// <summary>
/// Required designer variable. /// Required designer variable.

View File

@ -34,14 +34,14 @@ using System.Windows.Forms;
namespace XenAdmin.Controls.DataGridViewEx namespace XenAdmin.Controls.DataGridViewEx
{ {
public partial class CollapsingPvsFarmServerDataGridView : DataGridViewEx public partial class CollapsingPvsSiteServerDataGridView : DataGridViewEx
{ {
public CollapsingPvsFarmServerDataGridView() public CollapsingPvsSiteServerDataGridView()
{ {
InitializeComponent(); InitializeComponent();
} }
public CollapsingPvsFarmServerDataGridView(IContainer container) public CollapsingPvsSiteServerDataGridView(IContainer container)
{ {
container.Add(this); container.Add(this);
@ -62,23 +62,23 @@ namespace XenAdmin.Controls.DataGridViewEx
public void ExpandCollapseClicked(int rowIndex) public void ExpandCollapseClicked(int rowIndex)
{ {
var farmRow = (CollapsingPvsFarmServerDataGridViewRow)Rows[rowIndex]; var siteRow = (CollapsingPvsSiteServerDataGridViewRow)Rows[rowIndex];
if (farmRow.UnderlyingFarm != null) if (siteRow.UnderlyingSite != null)
{ {
for (int i = rowIndex + 1; i < Rows.Count; i++) for (int i = rowIndex + 1; i < Rows.Count; i++)
{ {
var row = (CollapsingPvsFarmServerDataGridViewRow)Rows[i]; var row = (CollapsingPvsSiteServerDataGridViewRow)Rows[i];
if (row.IsFarmRow) if (row.IsSiteRow)
break; break;
row.Visible = !row.Visible; row.Visible = !row.Visible;
if (row.Visible) if (row.Visible)
farmRow.SetCollapseIcon(); siteRow.SetCollapseIcon();
else else
farmRow.SetExpandIcon(); siteRow.SetExpandIcon();
} }
} }
} }

View File

@ -35,27 +35,27 @@ using XenAPI;
namespace XenAdmin.Controls.DataGridViewEx namespace XenAdmin.Controls.DataGridViewEx
{ {
public class CollapsingPvsFarmServerDataGridViewRow : DataGridViewExRow public class CollapsingPvsSiteServerDataGridViewRow : DataGridViewExRow
{ {
protected DataGridViewImageCell expansionCell; protected DataGridViewImageCell expansionCell;
protected DataGridViewTextBoxCell farmCell; protected DataGridViewTextBoxCell siteCell;
protected DataGridViewTextBoxCell ipAddressesCell; protected DataGridViewTextBoxCell ipAddressesCell;
protected DataGridViewTextBoxCell firstPortCell; protected DataGridViewTextBoxCell firstPortCell;
protected DataGridViewTextBoxCell lastPortCell; protected DataGridViewTextBoxCell lastPortCell;
protected bool isPvsFarmRow; protected bool isPvsSiteRow;
public CollapsingPvsFarmServerDataGridViewRow(PVS_farm farm) public CollapsingPvsSiteServerDataGridViewRow(PVS_site site)
{ {
Tag = farm; Tag = site;
isPvsFarmRow = true; isPvsSiteRow = true;
SetupCells(); SetupCells();
} }
public CollapsingPvsFarmServerDataGridViewRow(PVS_server server) public CollapsingPvsSiteServerDataGridViewRow(PVS_server server)
{ {
Tag = server; Tag = server;
isPvsFarmRow = false; isPvsSiteRow = false;
SetupCells(); SetupCells();
} }
@ -63,13 +63,13 @@ namespace XenAdmin.Controls.DataGridViewEx
private void SetupCells() private void SetupCells()
{ {
expansionCell = new DataGridViewImageCell(); expansionCell = new DataGridViewImageCell();
farmCell = new DataGridViewTextBoxCell(); siteCell = new DataGridViewTextBoxCell();
ipAddressesCell = new DataGridViewTextBoxCell(); ipAddressesCell = new DataGridViewTextBoxCell();
firstPortCell = new DataGridViewTextBoxCell(); firstPortCell = new DataGridViewTextBoxCell();
lastPortCell = new DataGridViewTextBoxCell(); lastPortCell = new DataGridViewTextBoxCell();
Cells.Add(expansionCell); Cells.Add(expansionCell);
Cells.Add(farmCell); Cells.Add(siteCell);
Cells.Add(ipAddressesCell); Cells.Add(ipAddressesCell);
Cells.Add(firstPortCell); Cells.Add(firstPortCell);
Cells.Add(lastPortCell); Cells.Add(lastPortCell);
@ -79,16 +79,16 @@ namespace XenAdmin.Controls.DataGridViewEx
protected void UpdateDetails() protected void UpdateDetails()
{ {
if (isPvsFarmRow) if (isPvsSiteRow)
{ {
PVS_farm farm = (PVS_farm)Tag; PVS_site site = (PVS_site)Tag;
if (farm.servers.Count == 0) if (site.servers.Count == 0)
SetNoIcon(); SetNoIcon();
else else
SetCollapseIcon(); SetCollapseIcon();
farmCell.Value = farm.name; siteCell.Value = site.name;
} }
else else
{ {
@ -102,19 +102,19 @@ namespace XenAdmin.Controls.DataGridViewEx
} }
} }
public bool IsFarmRow public bool IsSiteRow
{ {
get { return isPvsFarmRow; } get { return isPvsSiteRow; }
} }
public bool IsServerRow public bool IsServerRow
{ {
get { return !isPvsFarmRow; } get { return !isPvsSiteRow; }
} }
public PVS_farm UnderlyingFarm public PVS_site UnderlyingSite
{ {
get { return Tag as PVS_farm; } get { return Tag as PVS_site; }
} }
public PVS_server UnderlyingServer public PVS_server UnderlyingServer

View File

@ -0,0 +1,159 @@
namespace XenAdmin.Dialogs
{
partial class ControlDomainMemoryDialog
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ControlDomainMemoryDialog));
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.panel1 = new System.Windows.Forms.FlowLayoutPanel();
this.CloseButton = new System.Windows.Forms.Button();
this.OkButton = new System.Windows.Forms.Button();
this.hostRebootWarningLabel = new System.Windows.Forms.Label();
this.hostRebootWarningImage = new System.Windows.Forms.PictureBox();
this.label1 = new System.Windows.Forms.Label();
this.maintenanceWarningImage = new System.Windows.Forms.PictureBox();
this.maintenanceWarningLabel = new System.Windows.Forms.Label();
this.memorySpinner = new XenAdmin.Controls.Ballooning.MemorySpinner();
this.maintenanceModeLinkLabel = new System.Windows.Forms.LinkLabel();
this.tableLayoutPanel1.SuspendLayout();
this.panel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.hostRebootWarningImage)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.maintenanceWarningImage)).BeginInit();
this.SuspendLayout();
//
// tableLayoutPanel1
//
resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1");
this.tableLayoutPanel1.Controls.Add(this.panel1, 0, 5);
this.tableLayoutPanel1.Controls.Add(this.hostRebootWarningLabel, 1, 4);
this.tableLayoutPanel1.Controls.Add(this.hostRebootWarningImage, 0, 4);
this.tableLayoutPanel1.Controls.Add(this.label1, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.maintenanceWarningImage, 0, 2);
this.tableLayoutPanel1.Controls.Add(this.maintenanceWarningLabel, 1, 2);
this.tableLayoutPanel1.Controls.Add(this.memorySpinner, 0, 1);
this.tableLayoutPanel1.Controls.Add(this.maintenanceModeLinkLabel, 1, 3);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
//
// panel1
//
resources.ApplyResources(this.panel1, "panel1");
this.tableLayoutPanel1.SetColumnSpan(this.panel1, 2);
this.panel1.Controls.Add(this.CloseButton);
this.panel1.Controls.Add(this.OkButton);
this.panel1.Name = "panel1";
//
// CloseButton
//
resources.ApplyResources(this.CloseButton, "CloseButton");
this.CloseButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.CloseButton.Name = "CloseButton";
this.CloseButton.UseVisualStyleBackColor = true;
//
// OkButton
//
resources.ApplyResources(this.OkButton, "OkButton");
this.OkButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.OkButton.Name = "OkButton";
this.OkButton.UseVisualStyleBackColor = true;
this.OkButton.Click += new System.EventHandler(this.OkButton_Click);
//
// hostRebootWarningLabel
//
resources.ApplyResources(this.hostRebootWarningLabel, "hostRebootWarningLabel");
this.hostRebootWarningLabel.Name = "hostRebootWarningLabel";
//
// hostRebootWarningImage
//
resources.ApplyResources(this.hostRebootWarningImage, "hostRebootWarningImage");
this.hostRebootWarningImage.Image = global::XenAdmin.Properties.Resources._000_Alert2_h32bit_16;
this.hostRebootWarningImage.Name = "hostRebootWarningImage";
this.hostRebootWarningImage.TabStop = false;
//
// label1
//
resources.ApplyResources(this.label1, "label1");
this.tableLayoutPanel1.SetColumnSpan(this.label1, 2);
this.label1.Name = "label1";
//
// maintenanceWarningImage
//
resources.ApplyResources(this.maintenanceWarningImage, "maintenanceWarningImage");
this.maintenanceWarningImage.Image = global::XenAdmin.Properties.Resources._000_Info3_h32bit_16;
this.maintenanceWarningImage.Name = "maintenanceWarningImage";
this.maintenanceWarningImage.TabStop = false;
//
// maintenanceWarningLabel
//
resources.ApplyResources(this.maintenanceWarningLabel, "maintenanceWarningLabel");
this.maintenanceWarningLabel.Name = "maintenanceWarningLabel";
//
// memorySpinner
//
this.tableLayoutPanel1.SetColumnSpan(this.memorySpinner, 2);
resources.ApplyResources(this.memorySpinner, "memorySpinner");
this.memorySpinner.Increment = 0.1D;
this.memorySpinner.Name = "memorySpinner";
//
// maintenanceModeLinkLabel
//
resources.ApplyResources(this.maintenanceModeLinkLabel, "maintenanceModeLinkLabel");
this.maintenanceModeLinkLabel.Name = "maintenanceModeLinkLabel";
this.maintenanceModeLinkLabel.TabStop = true;
this.maintenanceModeLinkLabel.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.maintenanceModeLinkLabel_LinkClicked);
//
// ControlDomainMemoryDialog
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.Controls.Add(this.tableLayoutPanel1);
this.Name = "ControlDomainMemoryDialog";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.ControlDomainMemoryDialog_FormClosing);
this.tableLayoutPanel1.ResumeLayout(false);
this.tableLayoutPanel1.PerformLayout();
this.panel1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.hostRebootWarningImage)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.maintenanceWarningImage)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private System.Windows.Forms.Label hostRebootWarningLabel;
private System.Windows.Forms.PictureBox hostRebootWarningImage;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.PictureBox maintenanceWarningImage;
private System.Windows.Forms.Label maintenanceWarningLabel;
private Controls.Ballooning.MemorySpinner memorySpinner;
private System.Windows.Forms.FlowLayoutPanel panel1;
public System.Windows.Forms.Button CloseButton;
public System.Windows.Forms.Button OkButton;
private System.Windows.Forms.LinkLabel maintenanceModeLinkLabel;
}
}

View File

@ -0,0 +1,171 @@
/* Copyright (c) Citrix Systems Inc.
* 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.
*
* 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.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using XenAdmin.Actions;
using XenAdmin.Commands;
using XenAPI;
namespace XenAdmin.Dialogs
{
public partial class ControlDomainMemoryDialog : XenDialogBase
{
private Host host;
private Host_metrics hostMetrics;
private double origMemory;
public const int MAXIMUM_DOM0_MEMORY_GB = 256;
public ControlDomainMemoryDialog(Host host)
: base(host.Connection)
{
if (host == null) throw new ArgumentNullException("host");
InitializeComponent();
this.host = host;
this.host.PropertyChanged += Server_PropertyChanged;
hostMetrics = connection.Resolve(this.host.metrics);
if (hostMetrics != null)
hostMetrics.PropertyChanged += Server_PropertyChanged;
Text = string.Format(Messages.CONTROL_DOMAIN_MEMORY_DIALOG_TITLE, this.host.Name);
Populate();
}
private void UpdateMaintenanceWarning()
{
Host_metrics metrics = host.Connection.Resolve(host.metrics);
bool maintenanceMode = host.MaintenanceMode || (metrics != null && !metrics.live);
maintenanceWarningImage.Visible = maintenanceWarningLabel.Visible = maintenanceModeLinkLabel.Visible = !maintenanceMode;
hostRebootWarningImage.Visible = hostRebootWarningLabel.Visible = maintenanceMode;
memorySpinner.Enabled = maintenanceMode;
}
private void Populate()
{
VM vm = host.ControlDomainZero;
// Since updates come in dribs and drabs, avoid error if new max and min arrive
// out of sync and maximum < minimum.
if (vm.memory_dynamic_max >= vm.memory_dynamic_min &&
vm.memory_static_max >= vm.memory_static_min)
{
double min = vm.memory_static_min;
double max = Math.Min(host.memory_available_calc, MAXIMUM_DOM0_MEMORY_GB * Util.BINARY_GIGA);
double value = vm.memory_dynamic_min;
// Avoid setting the range to exclude the current value: CA-40041
if (value > max)
max = value;
if (value < min)
min = value;
memorySpinner.Initialize(Messages.CONTROL_DOMAIN_MEMORY_LABEL, null, value, max);
memorySpinner.SetRange(min, max);
}
origMemory = memorySpinner.Value;
UpdateMaintenanceWarning();
}
private bool HasChanged()
{
return memorySpinner.Value != origMemory;
}
private bool SaveChanges()
{
if (!HasChanged())
return false;
var mem = memorySpinner.Value;
DialogResult dialogResult;
using (var dlg = new ThreeButtonDialog(
new ThreeButtonDialog.Details(SystemIcons.Warning, Messages.CONFIRM_CHANGE_CONTROL_DOMAIN_MEMORY, Messages.XENCENTER),
ThreeButtonDialog.ButtonYes,
ThreeButtonDialog.ButtonNo))
{
dialogResult = dlg.ShowDialog(this);
}
if (DialogResult.Yes != dialogResult)
return false;
var actions = new List<AsyncAction>();
var action = new ChangeControlDomainMemoryAction(host, (long)mem, false);
actions.Add(action);
actions.Add(new RebootHostAction(host, AddHostToPoolCommand.NtolDialog));
var multipleAction = new MultipleAction(connection,
string.Format(Messages.ACTION_CHANGE_CONTROL_DOMAIN_MEMORY, host.Name),
string.Format(Messages.ACTION_CHANGE_CONTROL_DOMAIN_MEMORY, host.Name),
Messages.COMPLETED, actions, true, false, true);
multipleAction.RunAsync();
return true;
}
private void Cleanup()
{
host.PropertyChanged -= Server_PropertyChanged;
if (hostMetrics != null)
hostMetrics.PropertyChanged -= Server_PropertyChanged;
}
private void Server_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
Program.Invoke(this, Populate);
}
private void OkButton_Click(object sender, EventArgs e)
{
if (SaveChanges())
{
DialogResult = DialogResult.OK;
}
}
private void maintenanceModeLinkLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
new HostMaintenanceModeCommand(Program.MainWindow, host, HostMaintenanceModeCommandParameter.Enter).Execute();
}
private void ControlDomainMemoryDialog_FormClosing(object sender, FormClosingEventArgs e)
{
Cleanup();
}
}
}

View File

@ -0,0 +1,543 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="panel1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="&gt;&gt;CloseButton.Name" xml:space="preserve">
<value>CloseButton</value>
</data>
<data name="&gt;&gt;CloseButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;CloseButton.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;CloseButton.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;OkButton.Name" xml:space="preserve">
<value>OkButton</value>
</data>
<data name="&gt;&gt;OkButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;OkButton.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;OkButton.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Bottom</value>
</data>
<data name="panel1.FlowDirection" type="System.Windows.Forms.FlowDirection, System.Windows.Forms">
<value>RightToLeft</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="panel1.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="panel1.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 180</value>
</data>
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
<value>433, 27</value>
</data>
<data name="panel1.TabIndex" type="System.Int32, mscorlib">
<value>21</value>
</data>
<data name="&gt;&gt;panel1.Name" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;panel1.Type" xml:space="preserve">
<value>System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;panel1.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;panel1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="hostRebootWarningLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="hostRebootWarningLabel.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="hostRebootWarningLabel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="hostRebootWarningLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>22, 160</value>
</data>
<data name="hostRebootWarningLabel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 20, 0, 0</value>
</data>
<data name="hostRebootWarningLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>271, 15</value>
</data>
<data name="hostRebootWarningLabel.TabIndex" type="System.Int32, mscorlib">
<value>14</value>
</data>
<data name="hostRebootWarningLabel.Text" xml:space="preserve">
<value>Changes to this setting will trigger a server reboot.</value>
</data>
<data name="&gt;&gt;hostRebootWarningLabel.Name" xml:space="preserve">
<value>hostRebootWarningLabel</value>
</data>
<data name="&gt;&gt;hostRebootWarningLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;hostRebootWarningLabel.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;hostRebootWarningLabel.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="hostRebootWarningImage.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="hostRebootWarningImage.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="hostRebootWarningImage.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 158</value>
</data>
<data name="hostRebootWarningImage.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 18, 3, 3</value>
</data>
<data name="hostRebootWarningImage.Size" type="System.Drawing.Size, System.Drawing">
<value>16, 16</value>
</data>
<data name="hostRebootWarningImage.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
<value>AutoSize</value>
</data>
<data name="hostRebootWarningImage.TabIndex" type="System.Int32, mscorlib">
<value>15</value>
</data>
<data name="&gt;&gt;hostRebootWarningImage.Name" xml:space="preserve">
<value>hostRebootWarningImage</value>
</data>
<data name="&gt;&gt;hostRebootWarningImage.Type" xml:space="preserve">
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;hostRebootWarningImage.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;hostRebootWarningImage.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="label1.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="label1.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 3</value>
</data>
<data name="label1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 20</value>
</data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>433, 30</value>
</data>
<data name="label1.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>Specify the amount of memory to be allocated to the Control Domain on this server.</value>
</data>
<data name="&gt;&gt;label1.Name" xml:space="preserve">
<value>label1</value>
</data>
<data name="&gt;&gt;label1.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label1.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="maintenanceWarningImage.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="maintenanceWarningImage.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="maintenanceWarningImage.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 100</value>
</data>
<data name="maintenanceWarningImage.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 18, 3, 3</value>
</data>
<data name="maintenanceWarningImage.Size" type="System.Drawing.Size, System.Drawing">
<value>16, 16</value>
</data>
<data name="maintenanceWarningImage.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;maintenanceWarningImage.Name" xml:space="preserve">
<value>maintenanceWarningImage</value>
</data>
<data name="&gt;&gt;maintenanceWarningImage.Type" xml:space="preserve">
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;maintenanceWarningImage.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;maintenanceWarningImage.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="maintenanceWarningLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="maintenanceWarningLabel.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="maintenanceWarningLabel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="maintenanceWarningLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>22, 102</value>
</data>
<data name="maintenanceWarningLabel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 20, 0, 0</value>
</data>
<data name="maintenanceWarningLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>332, 15</value>
</data>
<data name="maintenanceWarningLabel.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="maintenanceWarningLabel.Text" xml:space="preserve">
<value>This server must be in maintenance mode to edit this setting. </value>
</data>
<data name="maintenanceWarningLabel.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleLeft</value>
</data>
<data name="&gt;&gt;maintenanceWarningLabel.Name" xml:space="preserve">
<value>maintenanceWarningLabel</value>
</data>
<data name="&gt;&gt;maintenanceWarningLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;maintenanceWarningLabel.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;maintenanceWarningLabel.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="memorySpinnerDynMin.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="memorySpinnerDynMin.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 53</value>
</data>
<data name="memorySpinnerDynMin.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="memorySpinnerDynMin.Size" type="System.Drawing.Size, System.Drawing">
<value>293, 29</value>
</data>
<data name="memorySpinnerDynMin.TabIndex" type="System.Int32, mscorlib">
<value>16</value>
</data>
<data name="&gt;&gt;memorySpinnerDynMin.Name" xml:space="preserve">
<value>memorySpinnerDynMin</value>
</data>
<data name="&gt;&gt;memorySpinnerDynMin.Type" xml:space="preserve">
<value>XenAdmin.Controls.Ballooning.MemorySpinner, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;memorySpinnerDynMin.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;memorySpinnerDynMin.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="maintenanceModeLinkLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="maintenanceModeLinkLabel.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="maintenanceModeLinkLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>25, 122</value>
</data>
<data name="maintenanceModeLinkLabel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 3</value>
</data>
<data name="maintenanceModeLinkLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>149, 15</value>
</data>
<data name="maintenanceModeLinkLabel.TabIndex" type="System.Int32, mscorlib">
<value>22</value>
</data>
<data name="maintenanceModeLinkLabel.Text" xml:space="preserve">
<value>Enter maintenance mode...</value>
</data>
<data name="&gt;&gt;maintenanceModeLinkLabel.Name" xml:space="preserve">
<value>maintenanceModeLinkLabel</value>
</data>
<data name="&gt;&gt;maintenanceModeLinkLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;maintenanceModeLinkLabel.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;maintenanceModeLinkLabel.ZOrder" xml:space="preserve">
<value>7</value>
</data>
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="tableLayoutPanel1.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="tableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
<value>10, 10</value>
</data>
<data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
<value>439, 210</value>
</data>
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Name" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Type" xml:space="preserve">
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="panel1" Row="5" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="hostRebootWarningLabel" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="hostRebootWarningImage" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="label1" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="maintenanceWarningImage" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="maintenanceWarningLabel" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="memorySpinnerDynMin" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="maintenanceModeLinkLabel" Row="3" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,Percent,100,Absolute,20" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Percent,100" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<data name="CloseButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
</data>
<data name="CloseButton.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="CloseButton.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="CloseButton.Location" type="System.Drawing.Point, System.Drawing">
<value>355, 3</value>
</data>
<data name="CloseButton.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
</data>
<data name="CloseButton.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="CloseButton.Text" xml:space="preserve">
<value>Cancel</value>
</data>
<data name="&gt;&gt;CloseButton.Name" xml:space="preserve">
<value>CloseButton</value>
</data>
<data name="&gt;&gt;CloseButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;CloseButton.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;CloseButton.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="OkButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
</data>
<data name="OkButton.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="OkButton.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="OkButton.Location" type="System.Drawing.Point, System.Drawing">
<value>274, 3</value>
</data>
<data name="OkButton.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
</data>
<data name="OkButton.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="OkButton.Text" xml:space="preserve">
<value>OK</value>
</data>
<data name="&gt;&gt;OkButton.Name" xml:space="preserve">
<value>OkButton</value>
</data>
<data name="&gt;&gt;OkButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;OkButton.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;OkButton.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>96, 96</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>459, 230</value>
</data>
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="$this.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>10, 10, 10, 10</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value />
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>ControlDomainMemoryDialog</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>XenAdmin.Dialogs.XenDialogBase, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
</root>

View File

@ -0,0 +1,519 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="panel1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="CloseButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="CloseButton.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="CloseButton.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="CloseButton.Location" type="System.Drawing.Point, System.Drawing">
<value>355, 3</value>
</data>
<data name="CloseButton.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
</data>
<data name="CloseButton.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="CloseButton.Text" xml:space="preserve">
<value>Cancel</value>
</data>
<data name="&gt;&gt;CloseButton.Name" xml:space="preserve">
<value>CloseButton</value>
</data>
<data name="&gt;&gt;CloseButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;CloseButton.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;CloseButton.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="OkButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
</data>
<data name="OkButton.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="OkButton.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="OkButton.Location" type="System.Drawing.Point, System.Drawing">
<value>274, 3</value>
</data>
<data name="OkButton.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
</data>
<data name="OkButton.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="OkButton.Text" xml:space="preserve">
<value>OK</value>
</data>
<data name="&gt;&gt;OkButton.Name" xml:space="preserve">
<value>OkButton</value>
</data>
<data name="&gt;&gt;OkButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;OkButton.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;OkButton.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Bottom</value>
</data>
<data name="panel1.FlowDirection" type="System.Windows.Forms.FlowDirection, System.Windows.Forms">
<value>RightToLeft</value>
</data>
<data name="panel1.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="panel1.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 180</value>
</data>
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
<value>433, 27</value>
</data>
<data name="panel1.TabIndex" type="System.Int32, mscorlib">
<value>21</value>
</data>
<data name="&gt;&gt;panel1.Name" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;panel1.Type" xml:space="preserve">
<value>System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;panel1.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;panel1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="hostRebootWarningLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="hostRebootWarningLabel.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="hostRebootWarningLabel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="hostRebootWarningLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>22, 160</value>
</data>
<data name="hostRebootWarningLabel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 20, 0, 0</value>
</data>
<data name="hostRebootWarningLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>271, 15</value>
</data>
<data name="hostRebootWarningLabel.TabIndex" type="System.Int32, mscorlib">
<value>14</value>
</data>
<data name="hostRebootWarningLabel.Text" xml:space="preserve">
<value>Changes to this setting will trigger a server reboot.</value>
</data>
<data name="&gt;&gt;hostRebootWarningLabel.Name" xml:space="preserve">
<value>hostRebootWarningLabel</value>
</data>
<data name="&gt;&gt;hostRebootWarningLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;hostRebootWarningLabel.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;hostRebootWarningLabel.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="hostRebootWarningImage.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="hostRebootWarningImage.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="hostRebootWarningImage.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 158</value>
</data>
<data name="hostRebootWarningImage.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 18, 3, 3</value>
</data>
<data name="hostRebootWarningImage.Size" type="System.Drawing.Size, System.Drawing">
<value>16, 16</value>
</data>
<data name="hostRebootWarningImage.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
<value>AutoSize</value>
</data>
<data name="hostRebootWarningImage.TabIndex" type="System.Int32, mscorlib">
<value>15</value>
</data>
<data name="&gt;&gt;hostRebootWarningImage.Name" xml:space="preserve">
<value>hostRebootWarningImage</value>
</data>
<data name="&gt;&gt;hostRebootWarningImage.Type" xml:space="preserve">
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;hostRebootWarningImage.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;hostRebootWarningImage.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="label1.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="label1.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 3</value>
</data>
<data name="label1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 20</value>
</data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>433, 30</value>
</data>
<data name="label1.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>Specify the amount of memory to be allocated to the Control Domain on this server.</value>
</data>
<data name="&gt;&gt;label1.Name" xml:space="preserve">
<value>label1</value>
</data>
<data name="&gt;&gt;label1.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label1.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="maintenanceWarningImage.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="maintenanceWarningImage.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="maintenanceWarningImage.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 100</value>
</data>
<data name="maintenanceWarningImage.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 18, 3, 3</value>
</data>
<data name="maintenanceWarningImage.Size" type="System.Drawing.Size, System.Drawing">
<value>16, 16</value>
</data>
<data name="maintenanceWarningImage.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;maintenanceWarningImage.Name" xml:space="preserve">
<value>maintenanceWarningImage</value>
</data>
<data name="&gt;&gt;maintenanceWarningImage.Type" xml:space="preserve">
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;maintenanceWarningImage.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;maintenanceWarningImage.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="maintenanceWarningLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="maintenanceWarningLabel.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="maintenanceWarningLabel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="maintenanceWarningLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>22, 102</value>
</data>
<data name="maintenanceWarningLabel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 20, 0, 0</value>
</data>
<data name="maintenanceWarningLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>332, 15</value>
</data>
<data name="maintenanceWarningLabel.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="maintenanceWarningLabel.Text" xml:space="preserve">
<value>This server must be in maintenance mode to edit this setting. </value>
</data>
<data name="maintenanceWarningLabel.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleLeft</value>
</data>
<data name="&gt;&gt;maintenanceWarningLabel.Name" xml:space="preserve">
<value>maintenanceWarningLabel</value>
</data>
<data name="&gt;&gt;maintenanceWarningLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;maintenanceWarningLabel.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;maintenanceWarningLabel.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="memorySpinner.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="memorySpinner.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 53</value>
</data>
<data name="memorySpinner.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="memorySpinner.Size" type="System.Drawing.Size, System.Drawing">
<value>293, 29</value>
</data>
<data name="memorySpinner.TabIndex" type="System.Int32, mscorlib">
<value>16</value>
</data>
<data name="&gt;&gt;memorySpinner.Name" xml:space="preserve">
<value>memorySpinner</value>
</data>
<data name="&gt;&gt;memorySpinner.Type" xml:space="preserve">
<value>XenAdmin.Controls.Ballooning.MemorySpinner, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;memorySpinner.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;memorySpinner.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="maintenanceModeLinkLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="maintenanceModeLinkLabel.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="maintenanceModeLinkLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>25, 122</value>
</data>
<data name="maintenanceModeLinkLabel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 3</value>
</data>
<data name="maintenanceModeLinkLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>149, 15</value>
</data>
<data name="maintenanceModeLinkLabel.TabIndex" type="System.Int32, mscorlib">
<value>22</value>
</data>
<data name="maintenanceModeLinkLabel.Text" xml:space="preserve">
<value>Enter maintenance mode...</value>
</data>
<data name="&gt;&gt;maintenanceModeLinkLabel.Name" xml:space="preserve">
<value>maintenanceModeLinkLabel</value>
</data>
<data name="&gt;&gt;maintenanceModeLinkLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;maintenanceModeLinkLabel.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;maintenanceModeLinkLabel.ZOrder" xml:space="preserve">
<value>7</value>
</data>
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="tableLayoutPanel1.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="tableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
<value>10, 10</value>
</data>
<data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
<value>439, 210</value>
</data>
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Name" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Type" xml:space="preserve">
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="panel1" Row="5" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="hostRebootWarningLabel" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="hostRebootWarningImage" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="label1" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="maintenanceWarningImage" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="maintenanceWarningLabel" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="memorySpinner" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="maintenanceModeLinkLabel" Row="3" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,Percent,100,Absolute,20" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Percent,100" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>96, 96</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>459, 230</value>
</data>
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="$this.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>10, 10, 10, 10</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value />
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>ControlDomainMemoryDialog</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>XenAdmin.Dialogs.XenDialogBase, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
</root>

View File

@ -0,0 +1,543 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="panel1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="&gt;&gt;CloseButton.Name" xml:space="preserve">
<value>CloseButton</value>
</data>
<data name="&gt;&gt;CloseButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;CloseButton.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;CloseButton.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;OkButton.Name" xml:space="preserve">
<value>OkButton</value>
</data>
<data name="&gt;&gt;OkButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;OkButton.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;OkButton.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Bottom</value>
</data>
<data name="panel1.FlowDirection" type="System.Windows.Forms.FlowDirection, System.Windows.Forms">
<value>RightToLeft</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="panel1.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="panel1.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 180</value>
</data>
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
<value>433, 27</value>
</data>
<data name="panel1.TabIndex" type="System.Int32, mscorlib">
<value>21</value>
</data>
<data name="&gt;&gt;panel1.Name" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;panel1.Type" xml:space="preserve">
<value>System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;panel1.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;panel1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="hostRebootWarningLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="hostRebootWarningLabel.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="hostRebootWarningLabel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="hostRebootWarningLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>22, 160</value>
</data>
<data name="hostRebootWarningLabel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 20, 0, 0</value>
</data>
<data name="hostRebootWarningLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>271, 15</value>
</data>
<data name="hostRebootWarningLabel.TabIndex" type="System.Int32, mscorlib">
<value>14</value>
</data>
<data name="hostRebootWarningLabel.Text" xml:space="preserve">
<value>Changes to this setting will trigger a server reboot.</value>
</data>
<data name="&gt;&gt;hostRebootWarningLabel.Name" xml:space="preserve">
<value>hostRebootWarningLabel</value>
</data>
<data name="&gt;&gt;hostRebootWarningLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;hostRebootWarningLabel.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;hostRebootWarningLabel.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="hostRebootWarningImage.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="hostRebootWarningImage.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="hostRebootWarningImage.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 158</value>
</data>
<data name="hostRebootWarningImage.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 18, 3, 3</value>
</data>
<data name="hostRebootWarningImage.Size" type="System.Drawing.Size, System.Drawing">
<value>16, 16</value>
</data>
<data name="hostRebootWarningImage.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
<value>AutoSize</value>
</data>
<data name="hostRebootWarningImage.TabIndex" type="System.Int32, mscorlib">
<value>15</value>
</data>
<data name="&gt;&gt;hostRebootWarningImage.Name" xml:space="preserve">
<value>hostRebootWarningImage</value>
</data>
<data name="&gt;&gt;hostRebootWarningImage.Type" xml:space="preserve">
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;hostRebootWarningImage.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;hostRebootWarningImage.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="label1.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="label1.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 3</value>
</data>
<data name="label1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 20</value>
</data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>433, 30</value>
</data>
<data name="label1.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>Specify the amount of memory to be allocated to the Control Domain on this server.</value>
</data>
<data name="&gt;&gt;label1.Name" xml:space="preserve">
<value>label1</value>
</data>
<data name="&gt;&gt;label1.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label1.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="maintenanceWarningImage.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="maintenanceWarningImage.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="maintenanceWarningImage.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 100</value>
</data>
<data name="maintenanceWarningImage.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 18, 3, 3</value>
</data>
<data name="maintenanceWarningImage.Size" type="System.Drawing.Size, System.Drawing">
<value>16, 16</value>
</data>
<data name="maintenanceWarningImage.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;maintenanceWarningImage.Name" xml:space="preserve">
<value>maintenanceWarningImage</value>
</data>
<data name="&gt;&gt;maintenanceWarningImage.Type" xml:space="preserve">
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;maintenanceWarningImage.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;maintenanceWarningImage.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="maintenanceWarningLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="maintenanceWarningLabel.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="maintenanceWarningLabel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="maintenanceWarningLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>22, 102</value>
</data>
<data name="maintenanceWarningLabel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 20, 0, 0</value>
</data>
<data name="maintenanceWarningLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>332, 15</value>
</data>
<data name="maintenanceWarningLabel.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="maintenanceWarningLabel.Text" xml:space="preserve">
<value>This server must be in maintenance mode to edit this setting. </value>
</data>
<data name="maintenanceWarningLabel.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleLeft</value>
</data>
<data name="&gt;&gt;maintenanceWarningLabel.Name" xml:space="preserve">
<value>maintenanceWarningLabel</value>
</data>
<data name="&gt;&gt;maintenanceWarningLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;maintenanceWarningLabel.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;maintenanceWarningLabel.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="memorySpinnerDynMin.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="memorySpinnerDynMin.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 53</value>
</data>
<data name="memorySpinnerDynMin.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="memorySpinnerDynMin.Size" type="System.Drawing.Size, System.Drawing">
<value>293, 29</value>
</data>
<data name="memorySpinnerDynMin.TabIndex" type="System.Int32, mscorlib">
<value>16</value>
</data>
<data name="&gt;&gt;memorySpinnerDynMin.Name" xml:space="preserve">
<value>memorySpinnerDynMin</value>
</data>
<data name="&gt;&gt;memorySpinnerDynMin.Type" xml:space="preserve">
<value>XenAdmin.Controls.Ballooning.MemorySpinner, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;memorySpinnerDynMin.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;memorySpinnerDynMin.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="maintenanceModeLinkLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="maintenanceModeLinkLabel.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="maintenanceModeLinkLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>25, 122</value>
</data>
<data name="maintenanceModeLinkLabel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 3</value>
</data>
<data name="maintenanceModeLinkLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>149, 15</value>
</data>
<data name="maintenanceModeLinkLabel.TabIndex" type="System.Int32, mscorlib">
<value>22</value>
</data>
<data name="maintenanceModeLinkLabel.Text" xml:space="preserve">
<value>Enter maintenance mode...</value>
</data>
<data name="&gt;&gt;maintenanceModeLinkLabel.Name" xml:space="preserve">
<value>maintenanceModeLinkLabel</value>
</data>
<data name="&gt;&gt;maintenanceModeLinkLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;maintenanceModeLinkLabel.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;maintenanceModeLinkLabel.ZOrder" xml:space="preserve">
<value>7</value>
</data>
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="tableLayoutPanel1.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="tableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
<value>10, 10</value>
</data>
<data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
<value>439, 210</value>
</data>
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Name" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Type" xml:space="preserve">
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="panel1" Row="5" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="hostRebootWarningLabel" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="hostRebootWarningImage" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="label1" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="maintenanceWarningImage" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="maintenanceWarningLabel" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="memorySpinnerDynMin" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="maintenanceModeLinkLabel" Row="3" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,Percent,100,Absolute,20" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Percent,100" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<data name="CloseButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
</data>
<data name="CloseButton.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="CloseButton.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="CloseButton.Location" type="System.Drawing.Point, System.Drawing">
<value>355, 3</value>
</data>
<data name="CloseButton.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
</data>
<data name="CloseButton.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="CloseButton.Text" xml:space="preserve">
<value>Cancel</value>
</data>
<data name="&gt;&gt;CloseButton.Name" xml:space="preserve">
<value>CloseButton</value>
</data>
<data name="&gt;&gt;CloseButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;CloseButton.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;CloseButton.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="OkButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
</data>
<data name="OkButton.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="OkButton.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="OkButton.Location" type="System.Drawing.Point, System.Drawing">
<value>274, 3</value>
</data>
<data name="OkButton.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
</data>
<data name="OkButton.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="OkButton.Text" xml:space="preserve">
<value>OK</value>
</data>
<data name="&gt;&gt;OkButton.Name" xml:space="preserve">
<value>OkButton</value>
</data>
<data name="&gt;&gt;OkButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;OkButton.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;OkButton.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>96, 96</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>459, 230</value>
</data>
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="$this.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>10, 10, 10, 10</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value />
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>ControlDomainMemoryDialog</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>XenAdmin.Dialogs.XenDialogBase, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
</root>

View File

@ -1,6 +1,6 @@
namespace XenAdmin.Dialogs namespace XenAdmin.Dialogs
{ {
partial class PvsFarmDialog partial class PvsSiteDialog
{ {
/// <summary> /// <summary>
/// Required designer variable. /// Required designer variable.
@ -29,14 +29,14 @@ namespace XenAdmin.Dialogs
private void InitializeComponent() private void InitializeComponent()
{ {
this.components = new System.ComponentModel.Container(); this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PvsFarmDialog)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PvsSiteDialog));
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
this.closeButton = new System.Windows.Forms.Button(); this.closeButton = new System.Windows.Forms.Button();
this.bottomPanel = new System.Windows.Forms.Panel(); this.bottomPanel = new System.Windows.Forms.Panel();
this.mainPanel = new System.Windows.Forms.Panel(); this.mainPanel = new System.Windows.Forms.Panel();
this.gridView = new XenAdmin.Controls.DataGridViewEx.CollapsingPvsFarmServerDataGridView(this.components); this.gridView = new XenAdmin.Controls.DataGridViewEx.CollapsingPvsSiteServerDataGridView(this.components);
this.expansionColumn = new System.Windows.Forms.DataGridViewImageColumn(); this.expansionColumn = new System.Windows.Forms.DataGridViewImageColumn();
this.farmColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.siteColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.ipAddressesColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.ipAddressesColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.firstPortColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.firstPortColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.lastPortColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.lastPortColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
@ -72,7 +72,7 @@ namespace XenAdmin.Dialogs
this.gridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing; this.gridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
this.gridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.gridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.expansionColumn, this.expansionColumn,
this.farmColumn, this.siteColumn,
this.ipAddressesColumn, this.ipAddressesColumn,
this.firstPortColumn, this.firstPortColumn,
this.lastPortColumn}); this.lastPortColumn});
@ -98,13 +98,13 @@ namespace XenAdmin.Dialogs
this.expansionColumn.ReadOnly = true; this.expansionColumn.ReadOnly = true;
this.expansionColumn.Resizable = System.Windows.Forms.DataGridViewTriState.False; this.expansionColumn.Resizable = System.Windows.Forms.DataGridViewTriState.False;
// //
// farmColumn // siteColumn
// //
this.farmColumn.FillWeight = 108.4123F; this.siteColumn.FillWeight = 108.4123F;
resources.ApplyResources(this.farmColumn, "farmColumn"); resources.ApplyResources(this.siteColumn, "siteColumn");
this.farmColumn.Name = "farmColumn"; this.siteColumn.Name = "siteColumn";
this.farmColumn.ReadOnly = true; this.siteColumn.ReadOnly = true;
this.farmColumn.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; this.siteColumn.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
// //
// ipAddressesColumn // ipAddressesColumn
// //
@ -130,7 +130,7 @@ namespace XenAdmin.Dialogs
this.lastPortColumn.ReadOnly = true; this.lastPortColumn.ReadOnly = true;
this.lastPortColumn.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; this.lastPortColumn.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
// //
// PvsFarmDialog // PvsSiteDialog
// //
resources.ApplyResources(this, "$this"); resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
@ -141,7 +141,7 @@ namespace XenAdmin.Dialogs
this.HelpButton = false; this.HelpButton = false;
this.MaximizeBox = true; this.MaximizeBox = true;
this.MinimizeBox = true; this.MinimizeBox = true;
this.Name = "PvsFarmDialog"; this.Name = "PvsSiteDialog";
this.ShowInTaskbar = true; this.ShowInTaskbar = true;
this.bottomPanel.ResumeLayout(false); this.bottomPanel.ResumeLayout(false);
this.mainPanel.ResumeLayout(false); this.mainPanel.ResumeLayout(false);
@ -154,11 +154,11 @@ namespace XenAdmin.Dialogs
private System.Windows.Forms.Button closeButton; private System.Windows.Forms.Button closeButton;
private System.Windows.Forms.Panel bottomPanel; private System.Windows.Forms.Panel bottomPanel;
private System.Windows.Forms.Panel mainPanel; private System.Windows.Forms.Panel mainPanel;
private Controls.DataGridViewEx.CollapsingPvsFarmServerDataGridView gridView; private Controls.DataGridViewEx.CollapsingPvsSiteServerDataGridView gridView;
private System.Windows.Forms.DataGridViewTextBoxColumn farmColumn; private System.Windows.Forms.DataGridViewImageColumn expansionColumn;
private System.Windows.Forms.DataGridViewTextBoxColumn siteColumn;
private System.Windows.Forms.DataGridViewTextBoxColumn ipAddressesColumn; private System.Windows.Forms.DataGridViewTextBoxColumn ipAddressesColumn;
private System.Windows.Forms.DataGridViewTextBoxColumn firstPortColumn; private System.Windows.Forms.DataGridViewTextBoxColumn firstPortColumn;
private System.Windows.Forms.DataGridViewTextBoxColumn lastPortColumn; private System.Windows.Forms.DataGridViewTextBoxColumn lastPortColumn;
private System.Windows.Forms.DataGridViewImageColumn expansionColumn;
} }
} }

View File

@ -38,19 +38,19 @@ using XenAPI;
namespace XenAdmin.Dialogs namespace XenAdmin.Dialogs
{ {
public partial class PvsFarmDialog : XenDialogBase public partial class PvsSiteDialog : XenDialogBase
{ {
/// <summary> /// <summary>
/// Creates a dialog for viewing the PVS farms and PVS servers on a particular connection. /// Creates a dialog for viewing the PVS sites and PVS servers on a particular connection.
/// </summary> /// </summary>
/// <param name="_connection">May not be null.</param> /// <param name="_connection">May not be null.</param>
public PvsFarmDialog(IXenConnection _connection) public PvsSiteDialog(IXenConnection _connection)
{ {
System.Diagnostics.Trace.Assert(_connection != null); System.Diagnostics.Trace.Assert(_connection != null);
connection = _connection; connection = _connection;
InitializeComponent(); InitializeComponent();
Text = string.Format(Messages.PVS_FARM_DIALOG_TITLE, this.connection.Name); Text = string.Format(Messages.PVS_SITE_DIALOG_TITLE, this.connection.Name);
System.Diagnostics.Trace.Assert(gridView.Columns.Count > 0); System.Diagnostics.Trace.Assert(gridView.Columns.Count > 0);
gridView.Columns[0].DefaultCellStyle.NullValue = null; gridView.Columns[0].DefaultCellStyle.NullValue = null;
@ -62,17 +62,17 @@ namespace XenAdmin.Dialogs
private void RegisterEventHandlers() private void RegisterEventHandlers()
{ {
UnregisterEventHandlers(); UnregisterEventHandlers();
connection.Cache.RegisterBatchCollectionChanged<PVS_farm>(PvsFarmBatchCollectionChanged); connection.Cache.RegisterBatchCollectionChanged<PVS_site>(PvsSiteBatchCollectionChanged);
connection.Cache.RegisterBatchCollectionChanged<PVS_server>(PvsServerBatchCollectionChanged); connection.Cache.RegisterBatchCollectionChanged<PVS_server>(PvsServerBatchCollectionChanged);
} }
private void UnregisterEventHandlers() private void UnregisterEventHandlers()
{ {
connection.Cache.DeregisterBatchCollectionChanged<PVS_farm>(PvsFarmBatchCollectionChanged); connection.Cache.DeregisterBatchCollectionChanged<PVS_site>(PvsSiteBatchCollectionChanged);
connection.Cache.DeregisterBatchCollectionChanged<PVS_server>(PvsServerBatchCollectionChanged); connection.Cache.DeregisterBatchCollectionChanged<PVS_server>(PvsServerBatchCollectionChanged);
} }
private void PvsFarmBatchCollectionChanged(object sender, EventArgs e) private void PvsSiteBatchCollectionChanged(object sender, EventArgs e)
{ {
Program.Invoke(this, Rebuild); Program.Invoke(this, Rebuild);
} }
@ -98,17 +98,17 @@ namespace XenAdmin.Dialogs
gridView.SuspendLayout(); gridView.SuspendLayout();
gridView.Rows.Clear(); gridView.Rows.Clear();
var pvsFarms = connection.Cache.PVS_farms.ToList(); var pvsSites = connection.Cache.PVS_sites.ToList();
pvsFarms.Sort(); pvsSites.Sort();
foreach (var pvsFarm in pvsFarms) foreach (var pvsSite in pvsSites)
{ {
var farmRow = new CollapsingPvsFarmServerDataGridViewRow(pvsFarm); var siteRow = new CollapsingPvsSiteServerDataGridViewRow(pvsSite);
gridView.Rows.Add(farmRow); gridView.Rows.Add(siteRow);
foreach (var pvsServer in connection.ResolveAll(pvsFarm.servers)) foreach (var pvsServer in connection.ResolveAll(pvsSite.servers))
{ {
var serverRow = new CollapsingPvsFarmServerDataGridViewRow(pvsServer); var serverRow = new CollapsingPvsSiteServerDataGridViewRow(pvsServer);
gridView.Rows.Add(serverRow); gridView.Rows.Add(serverRow);
} }
} }

View File

@ -421,7 +421,7 @@
<value>高可用性の構成</value> <value>高可用性の構成</value>
</data> </data>
<data name="&gt;&gt;$this.Name" xml:space="preserve"> <data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>PvsFarmDialog</value> <value>PvsSiteDialog</value>
</data> </data>
<data name="&gt;&gt;$this.Type" xml:space="preserve"> <data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>XenAdmin.Dialogs.XenDialogBase, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value> <value>XenAdmin.Dialogs.XenDialogBase, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>

View File

@ -160,7 +160,7 @@
<value>Segoe UI, 9pt</value> <value>Segoe UI, 9pt</value>
</data> </data>
<data name="bottomPanel.Location" type="System.Drawing.Point, System.Drawing"> <data name="bottomPanel.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 324</value> <value>8, 325</value>
</data> </data>
<data name="bottomPanel.Size" type="System.Drawing.Size, System.Drawing"> <data name="bottomPanel.Size" type="System.Drawing.Size, System.Drawing">
<value>602, 29</value> <value>602, 29</value>
@ -192,13 +192,13 @@
<data name="expansionColumn.Width" type="System.Int32, mscorlib"> <data name="expansionColumn.Width" type="System.Int32, mscorlib">
<value>20</value> <value>20</value>
</data> </data>
<metadata name="farmColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="siteColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<data name="farmColumn.HeaderText" xml:space="preserve"> <data name="siteColumn.HeaderText" xml:space="preserve">
<value>PVS Farm</value> <value>PVS Site</value>
</data> </data>
<data name="farmColumn.MinimumWidth" type="System.Int32, mscorlib"> <data name="siteColumn.MinimumWidth" type="System.Int32, mscorlib">
<value>65</value> <value>65</value>
</data> </data>
<metadata name="ipAddressesColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="ipAddressesColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
@ -238,7 +238,7 @@
<value>0, 0</value> <value>0, 0</value>
</data> </data>
<data name="gridView.Size" type="System.Drawing.Size, System.Drawing"> <data name="gridView.Size" type="System.Drawing.Size, System.Drawing">
<value>602, 311</value> <value>602, 312</value>
</data> </data>
<data name="gridView.TabIndex" type="System.Int32, mscorlib"> <data name="gridView.TabIndex" type="System.Int32, mscorlib">
<value>0</value> <value>0</value>
@ -247,7 +247,7 @@
<value>gridView</value> <value>gridView</value>
</data> </data>
<data name="&gt;&gt;gridView.Type" xml:space="preserve"> <data name="&gt;&gt;gridView.Type" xml:space="preserve">
<value>XenAdmin.Controls.DataGridViewEx.CollapsingPvsFarmServerDataGridView, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value> <value>XenAdmin.Controls.DataGridViewEx.CollapsingPvsSiteServerDataGridView, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data> </data>
<data name="&gt;&gt;gridView.Parent" xml:space="preserve"> <data name="&gt;&gt;gridView.Parent" xml:space="preserve">
<value>mainPanel</value> <value>mainPanel</value>
@ -268,7 +268,7 @@
<value>0, 0, 0, 5</value> <value>0, 0, 0, 5</value>
</data> </data>
<data name="mainPanel.Size" type="System.Drawing.Size, System.Drawing"> <data name="mainPanel.Size" type="System.Drawing.Size, System.Drawing">
<value>602, 316</value> <value>602, 317</value>
</data> </data>
<data name="mainPanel.TabIndex" type="System.Int32, mscorlib"> <data name="mainPanel.TabIndex" type="System.Int32, mscorlib">
<value>7</value> <value>7</value>
@ -292,7 +292,7 @@
<value>96, 96</value> <value>96, 96</value>
</data> </data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing"> <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>618, 361</value> <value>618, 362</value>
</data> </data>
<data name="$this.Font" type="System.Drawing.Font, System.Drawing"> <data name="$this.Font" type="System.Drawing.Font, System.Drawing">
<value>Tahoma, 8pt</value> <value>Tahoma, 8pt</value>
@ -307,7 +307,7 @@
<value>8, 8, 8, 8</value> <value>8, 8, 8, 8</value>
</data> </data>
<data name="$this.Text" xml:space="preserve"> <data name="$this.Text" xml:space="preserve">
<value>PVS Farms</value> <value>PVS Sites</value>
</data> </data>
<data name="&gt;&gt;expansionColumn.Name" xml:space="preserve"> <data name="&gt;&gt;expansionColumn.Name" xml:space="preserve">
<value>expansionColumn</value> <value>expansionColumn</value>
@ -315,10 +315,10 @@
<data name="&gt;&gt;expansionColumn.Type" xml:space="preserve"> <data name="&gt;&gt;expansionColumn.Type" xml:space="preserve">
<value>System.Windows.Forms.DataGridViewImageColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Windows.Forms.DataGridViewImageColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data> </data>
<data name="&gt;&gt;farmColumn.Name" xml:space="preserve"> <data name="&gt;&gt;siteColumn.Name" xml:space="preserve">
<value>farmColumn</value> <value>siteColumn</value>
</data> </data>
<data name="&gt;&gt;farmColumn.Type" xml:space="preserve"> <data name="&gt;&gt;siteColumn.Type" xml:space="preserve">
<value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data> </data>
<data name="&gt;&gt;ipAddressesColumn.Name" xml:space="preserve"> <data name="&gt;&gt;ipAddressesColumn.Name" xml:space="preserve">
@ -340,7 +340,7 @@
<value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data> </data>
<data name="&gt;&gt;$this.Name" xml:space="preserve"> <data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>PvsFarmDialog</value> <value>PvsSiteDialog</value>
</data> </data>
<data name="&gt;&gt;$this.Type" xml:space="preserve"> <data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>XenAdmin.Dialogs.XenDialogBase, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value> <value>XenAdmin.Dialogs.XenDialogBase, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>

View File

@ -421,7 +421,7 @@
<value>配置高可用性</value> <value>配置高可用性</value>
</data> </data>
<data name="&gt;&gt;$this.Name" xml:space="preserve"> <data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>PvsFarmDialog</value> <value>PvsSiteDialog</value>
</data> </data>
<data name="&gt;&gt;$this.Type" xml:space="preserve"> <data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>XenAdmin.Dialogs.XenDialogBase, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value> <value>XenAdmin.Dialogs.XenDialogBase, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>

View File

@ -188,6 +188,7 @@ namespace XenAdmin
this.restoreFromBackupToolStripMenuItem = new XenAdmin.Commands.CommandToolStripMenuItem(); this.restoreFromBackupToolStripMenuItem = new XenAdmin.Commands.CommandToolStripMenuItem();
this.toolStripSeparator23 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripSeparator23 = new System.Windows.Forms.ToolStripSeparator();
this.maintenanceModeToolStripMenuItem1 = new XenAdmin.Commands.CommandToolStripMenuItem(); this.maintenanceModeToolStripMenuItem1 = new XenAdmin.Commands.CommandToolStripMenuItem();
this.controlDomainMemoryToolStripMenuItem = new XenAdmin.Commands.CommandToolStripMenuItem();
this.RemoveCrashdumpsToolStripMenuItem = new XenAdmin.Commands.CommandToolStripMenuItem(); this.RemoveCrashdumpsToolStripMenuItem = new XenAdmin.Commands.CommandToolStripMenuItem();
this.HostPasswordToolStripMenuItem = new XenAdmin.Commands.CommandToolStripMenuItem(); this.HostPasswordToolStripMenuItem = new XenAdmin.Commands.CommandToolStripMenuItem();
this.ChangeRootPasswordToolStripMenuItem = new XenAdmin.Commands.CommandToolStripMenuItem(); this.ChangeRootPasswordToolStripMenuItem = new XenAdmin.Commands.CommandToolStripMenuItem();
@ -1086,6 +1087,7 @@ namespace XenAdmin
this.restoreFromBackupToolStripMenuItem, this.restoreFromBackupToolStripMenuItem,
this.toolStripSeparator23, this.toolStripSeparator23,
this.maintenanceModeToolStripMenuItem1, this.maintenanceModeToolStripMenuItem1,
this.controlDomainMemoryToolStripMenuItem,
this.RemoveCrashdumpsToolStripMenuItem, this.RemoveCrashdumpsToolStripMenuItem,
this.HostPasswordToolStripMenuItem, this.HostPasswordToolStripMenuItem,
this.toolStripSeparator25, this.toolStripSeparator25,
@ -1219,6 +1221,12 @@ namespace XenAdmin
this.maintenanceModeToolStripMenuItem1.Name = "maintenanceModeToolStripMenuItem1"; this.maintenanceModeToolStripMenuItem1.Name = "maintenanceModeToolStripMenuItem1";
resources.ApplyResources(this.maintenanceModeToolStripMenuItem1, "maintenanceModeToolStripMenuItem1"); resources.ApplyResources(this.maintenanceModeToolStripMenuItem1, "maintenanceModeToolStripMenuItem1");
// //
// controlDomainMemoryToolStripMenuItem
//
this.controlDomainMemoryToolStripMenuItem.Command = new XenAdmin.Commands.ChangeControlDomainMemoryCommand();
this.controlDomainMemoryToolStripMenuItem.Name = "controlDomainMemoryToolStripMenuItem";
resources.ApplyResources(this.controlDomainMemoryToolStripMenuItem, "controlDomainMemoryToolStripMenuItem");
//
// RemoveCrashdumpsToolStripMenuItem // RemoveCrashdumpsToolStripMenuItem
// //
this.RemoveCrashdumpsToolStripMenuItem.Command = new XenAdmin.Commands.RemoveHostCrashDumpsCommand(); this.RemoveCrashdumpsToolStripMenuItem.Command = new XenAdmin.Commands.RemoveHostCrashDumpsCommand();
@ -2125,6 +2133,7 @@ namespace XenAdmin
private TabPage TabPageADUpsell; private TabPage TabPageADUpsell;
private TabPage TabPageCvmConsole; private TabPage TabPageCvmConsole;
private TabPage TabPagePvs; private TabPage TabPagePvs;
private CommandToolStripMenuItem controlDomainMemoryToolStripMenuItem;
} }
} }

View File

@ -1427,8 +1427,8 @@ namespace XenAdmin
ShowTab(ad_upsell ? TabPageADUpsell : TabPageAD, !multi && !SearchMode && (isPoolSelected || isHostSelected && isHostLive)); ShowTab(ad_upsell ? TabPageADUpsell : TabPageAD, !multi && !SearchMode && (isPoolSelected || isHostSelected && isHostLive));
bool hasPvsFarms = selectionConnection != null && selectionConnection.Cache.PVS_farms.Length > 0; bool hasPvsSites = selectionConnection != null && selectionConnection.Cache.PVS_sites.Length > 0;
ShowTab(TabPagePvs, !multi && !SearchMode && isPoolOrLiveStandaloneHost && hasPvsFarms && !Helpers.FeatureForbidden(SelectionManager.Selection.FirstAsXenObject, Host.RestrictPvsCache)); ShowTab(TabPagePvs, !multi && !SearchMode && isPoolOrLiveStandaloneHost && hasPvsSites && !Helpers.FeatureForbidden(SelectionManager.Selection.FirstAsXenObject, Host.RestrictPvsCache));
foreach (TabPageFeature f in pluginManager.GetAllFeatures<TabPageFeature>(f => !f.IsConsoleReplacement && !multi && f.ShowTab)) foreach (TabPageFeature f in pluginManager.GetAllFeatures<TabPageFeature>(f => !f.IsConsoleReplacement && !multi && f.ShowTab))
ShowTab(f.TabPage, true); ShowTab(f.TabPage, true);

View File

@ -2020,16 +2020,16 @@
<value>&amp;Pool</value> <value>&amp;Pool</value>
</data> </data>
<data name="AddHostToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <data name="AddHostToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>212, 22</value> <value>216, 22</value>
</data> </data>
<data name="AddHostToolStripMenuItem.Text" xml:space="preserve"> <data name="AddHostToolStripMenuItem.Text" xml:space="preserve">
<value>&amp;Add...</value> <value>&amp;Add...</value>
</data> </data>
<data name="toolStripMenuItem11.Size" type="System.Drawing.Size, System.Drawing"> <data name="toolStripMenuItem11.Size" type="System.Drawing.Size, System.Drawing">
<value>209, 6</value> <value>213, 6</value>
</data> </data>
<data name="RebootHostToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <data name="RebootHostToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>212, 22</value> <value>216, 22</value>
</data> </data>
<data name="RebootHostToolStripMenuItem.Text" xml:space="preserve"> <data name="RebootHostToolStripMenuItem.Text" xml:space="preserve">
<value>Reb&amp;oot</value> <value>Reb&amp;oot</value>
@ -2055,7 +2055,7 @@
</value> </value>
</data> </data>
<data name="powerOnToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <data name="powerOnToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>212, 22</value> <value>216, 22</value>
</data> </data>
<data name="powerOnToolStripMenuItem.Text" xml:space="preserve"> <data name="powerOnToolStripMenuItem.Text" xml:space="preserve">
<value>Power O&amp;n</value> <value>Power O&amp;n</value>
@ -2083,19 +2083,19 @@
</value> </value>
</data> </data>
<data name="ShutdownHostToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <data name="ShutdownHostToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>212, 22</value> <value>216, 22</value>
</data> </data>
<data name="ShutdownHostToolStripMenuItem.Text" xml:space="preserve"> <data name="ShutdownHostToolStripMenuItem.Text" xml:space="preserve">
<value>S&amp;hut Down</value> <value>S&amp;hut Down</value>
</data> </data>
<data name="restartToolstackToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <data name="restartToolstackToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>212, 22</value> <value>216, 22</value>
</data> </data>
<data name="restartToolstackToolStripMenuItem.Text" xml:space="preserve"> <data name="restartToolstackToolStripMenuItem.Text" xml:space="preserve">
<value>Restart Toolstac&amp;k</value> <value>Restart Toolstac&amp;k</value>
</data> </data>
<data name="toolStripSeparator1.Size" type="System.Drawing.Size, System.Drawing"> <data name="toolStripSeparator1.Size" type="System.Drawing.Size, System.Drawing">
<value>209, 6</value> <value>213, 6</value>
</data> </data>
<data name="ReconnectToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing"> <data name="ReconnectToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
<value>155, 22</value> <value>155, 22</value>
@ -2131,37 +2131,37 @@
<value>Di&amp;sconnect All</value> <value>Di&amp;sconnect All</value>
</data> </data>
<data name="connectDisconnectToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <data name="connectDisconnectToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>212, 22</value> <value>216, 22</value>
</data> </data>
<data name="connectDisconnectToolStripMenuItem.Text" xml:space="preserve"> <data name="connectDisconnectToolStripMenuItem.Text" xml:space="preserve">
<value>&amp;Connect/Disconnect</value> <value>&amp;Connect/Disconnect</value>
</data> </data>
<data name="addServerToPoolMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <data name="addServerToPoolMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>212, 22</value> <value>216, 22</value>
</data> </data>
<data name="addServerToPoolMenuItem.Text" xml:space="preserve"> <data name="addServerToPoolMenuItem.Text" xml:space="preserve">
<value>Add to &amp;Pool</value> <value>Add to &amp;Pool</value>
</data> </data>
<data name="toolStripSeparator3.Size" type="System.Drawing.Size, System.Drawing"> <data name="toolStripSeparator3.Size" type="System.Drawing.Size, System.Drawing">
<value>209, 6</value> <value>213, 6</value>
</data> </data>
<data name="backupToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <data name="backupToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>212, 22</value> <value>216, 22</value>
</data> </data>
<data name="backupToolStripMenuItem.Text" xml:space="preserve"> <data name="backupToolStripMenuItem.Text" xml:space="preserve">
<value>&amp;Back Up...</value> <value>&amp;Back Up...</value>
</data> </data>
<data name="restoreFromBackupToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <data name="restoreFromBackupToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>212, 22</value> <value>216, 22</value>
</data> </data>
<data name="restoreFromBackupToolStripMenuItem.Text" xml:space="preserve"> <data name="restoreFromBackupToolStripMenuItem.Text" xml:space="preserve">
<value>Restore From Back&amp;up...</value> <value>Restore From Back&amp;up...</value>
</data> </data>
<data name="toolStripSeparator23.Size" type="System.Drawing.Size, System.Drawing"> <data name="toolStripSeparator23.Size" type="System.Drawing.Size, System.Drawing">
<value>209, 6</value> <value>213, 6</value>
</data> </data>
<data name="maintenanceModeToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing"> <data name="maintenanceModeToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
<value>212, 22</value> <value>216, 22</value>
</data> </data>
<data name="maintenanceModeToolStripMenuItem1.Text" xml:space="preserve"> <data name="maintenanceModeToolStripMenuItem1.Text" xml:space="preserve">
<value>Enter &amp;Maintenance Mode</value> <value>Enter &amp;Maintenance Mode</value>
@ -2169,11 +2169,17 @@
<data name="maintenanceModeToolStripMenuItem1.ToolTipText" xml:space="preserve"> <data name="maintenanceModeToolStripMenuItem1.ToolTipText" xml:space="preserve">
<value>Testing</value> <value>Testing</value>
</data> </data>
<data name="controlDomainMemoryToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>216, 22</value>
</data>
<data name="controlDomainMemoryToolStripMenuItem.Text" xml:space="preserve">
<value>Control &amp;Domain Memory...</value>
</data>
<data name="RemoveCrashdumpsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <data name="RemoveCrashdumpsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>212, 22</value> <value>216, 22</value>
</data> </data>
<data name="RemoveCrashdumpsToolStripMenuItem.Text" xml:space="preserve"> <data name="RemoveCrashdumpsToolStripMenuItem.Text" xml:space="preserve">
<value>Remove Crash &amp;Dump Files</value> <value>Remove Crash Dump &amp;Files</value>
</data> </data>
<data name="ChangeRootPasswordToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <data name="ChangeRootPasswordToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>161, 22</value> <value>161, 22</value>
@ -2188,37 +2194,37 @@
<value>&amp;Forget Password</value> <value>&amp;Forget Password</value>
</data> </data>
<data name="HostPasswordToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <data name="HostPasswordToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>212, 22</value> <value>216, 22</value>
</data> </data>
<data name="HostPasswordToolStripMenuItem.Text" xml:space="preserve"> <data name="HostPasswordToolStripMenuItem.Text" xml:space="preserve">
<value>Pass&amp;word</value> <value>Pass&amp;word</value>
</data> </data>
<data name="toolStripSeparator25.Size" type="System.Drawing.Size, System.Drawing"> <data name="toolStripSeparator25.Size" type="System.Drawing.Size, System.Drawing">
<value>209, 6</value> <value>213, 6</value>
</data> </data>
<data name="destroyServerToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <data name="destroyServerToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>212, 22</value> <value>216, 22</value>
</data> </data>
<data name="destroyServerToolStripMenuItem.Text" xml:space="preserve"> <data name="destroyServerToolStripMenuItem.Text" xml:space="preserve">
<value>D&amp;estroy</value> <value>D&amp;estroy</value>
</data> </data>
<data name="removeHostToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <data name="removeHostToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>212, 22</value> <value>216, 22</value>
</data> </data>
<data name="removeHostToolStripMenuItem.Text" xml:space="preserve"> <data name="removeHostToolStripMenuItem.Text" xml:space="preserve">
<value>Remo&amp;ve from [XenCenter]</value> <value>Remo&amp;ve from [XenCenter]</value>
</data> </data>
<data name="toolStripSeparator15.Size" type="System.Drawing.Size, System.Drawing"> <data name="toolStripSeparator15.Size" type="System.Drawing.Size, System.Drawing">
<value>209, 6</value> <value>213, 6</value>
</data> </data>
<data name="pluginItemsPlaceHolderToolStripMenuItem3.Size" type="System.Drawing.Size, System.Drawing"> <data name="pluginItemsPlaceHolderToolStripMenuItem3.Size" type="System.Drawing.Size, System.Drawing">
<value>212, 22</value> <value>216, 22</value>
</data> </data>
<data name="pluginItemsPlaceHolderToolStripMenuItem3.Text" xml:space="preserve"> <data name="pluginItemsPlaceHolderToolStripMenuItem3.Text" xml:space="preserve">
<value>PluginItemsPlaceHolder</value> <value>PluginItemsPlaceHolder</value>
</data> </data>
<data name="ServerPropertiesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <data name="ServerPropertiesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>212, 22</value> <value>216, 22</value>
</data> </data>
<data name="ServerPropertiesToolStripMenuItem.Text" xml:space="preserve"> <data name="ServerPropertiesToolStripMenuItem.Text" xml:space="preserve">
<value>P&amp;roperties</value> <value>P&amp;roperties</value>
@ -3312,6 +3318,12 @@
<data name="&gt;&gt;maintenanceModeToolStripMenuItem1.Type" xml:space="preserve"> <data name="&gt;&gt;maintenanceModeToolStripMenuItem1.Type" xml:space="preserve">
<value>XenAdmin.Commands.CommandToolStripMenuItem, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value> <value>XenAdmin.Commands.CommandToolStripMenuItem, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data> </data>
<data name="&gt;&gt;controlDomainMemoryToolStripMenuItem.Name" xml:space="preserve">
<value>controlDomainMemoryToolStripMenuItem</value>
</data>
<data name="&gt;&gt;controlDomainMemoryToolStripMenuItem.Type" xml:space="preserve">
<value>XenAdmin.Commands.CommandToolStripMenuItem, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;RemoveCrashdumpsToolStripMenuItem.Name" xml:space="preserve"> <data name="&gt;&gt;RemoveCrashdumpsToolStripMenuItem.Name" xml:space="preserve">
<value>RemoveCrashdumpsToolStripMenuItem</value> <value>RemoveCrashdumpsToolStripMenuItem</value>
</data> </data>

View File

@ -44,17 +44,17 @@
this.ColumnSR = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.ColumnSR = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.ColumnPrepopulation = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.ColumnPrepopulation = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.label2 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label();
this.dataGridViewFarms = new XenAdmin.Controls.DataGridViewEx.DataGridViewEx(); this.dataGridViewSites = new XenAdmin.Controls.DataGridViewEx.DataGridViewEx();
this.ColumnFarm = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.ColumnSite = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.ColumnConfiguration = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.ColumnConfiguration = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.ColumnSRs = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.ColumnSRs = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.ConfigureButton = new System.Windows.Forms.Button(); this.ConfigureButton = new System.Windows.Forms.Button();
this.ViewPvsFarmsButton = new System.Windows.Forms.Button(); this.ViewPvsSitesButton = new System.Windows.Forms.Button();
this.label1 = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label();
this.pageContainerPanel.SuspendLayout(); this.pageContainerPanel.SuspendLayout();
this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGridViewVms)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewVms)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dataGridViewFarms)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewSites)).BeginInit();
this.SuspendLayout(); this.SuspendLayout();
// //
// pageContainerPanel // pageContainerPanel
@ -68,9 +68,9 @@
this.tableLayoutPanel1.Controls.Add(this.button2, 0, 5); this.tableLayoutPanel1.Controls.Add(this.button2, 0, 5);
this.tableLayoutPanel1.Controls.Add(this.dataGridViewVms, 0, 4); this.tableLayoutPanel1.Controls.Add(this.dataGridViewVms, 0, 4);
this.tableLayoutPanel1.Controls.Add(this.label2, 0, 3); this.tableLayoutPanel1.Controls.Add(this.label2, 0, 3);
this.tableLayoutPanel1.Controls.Add(this.dataGridViewFarms, 0, 1); this.tableLayoutPanel1.Controls.Add(this.dataGridViewSites, 0, 1);
this.tableLayoutPanel1.Controls.Add(this.ConfigureButton, 0, 2); this.tableLayoutPanel1.Controls.Add(this.ConfigureButton, 0, 2);
this.tableLayoutPanel1.Controls.Add(this.ViewPvsFarmsButton, 1, 2); this.tableLayoutPanel1.Controls.Add(this.ViewPvsSitesButton, 1, 2);
this.tableLayoutPanel1.Controls.Add(this.label1, 0, 0); this.tableLayoutPanel1.Controls.Add(this.label1, 0, 0);
this.tableLayoutPanel1.Name = "tableLayoutPanel1"; this.tableLayoutPanel1.Name = "tableLayoutPanel1";
// //
@ -144,32 +144,32 @@
this.tableLayoutPanel1.SetColumnSpan(this.label2, 2); this.tableLayoutPanel1.SetColumnSpan(this.label2, 2);
this.label2.Name = "label2"; this.label2.Name = "label2";
// //
// dataGridViewFarms // dataGridViewSites
// //
this.dataGridViewFarms.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.AllCells; this.dataGridViewSites.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.AllCells;
this.dataGridViewFarms.BackgroundColor = System.Drawing.SystemColors.Window; this.dataGridViewSites.BackgroundColor = System.Drawing.SystemColors.Window;
this.dataGridViewFarms.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.None; this.dataGridViewSites.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.None;
this.dataGridViewFarms.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing; this.dataGridViewSites.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
this.dataGridViewFarms.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.dataGridViewSites.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.ColumnFarm, this.ColumnSite,
this.ColumnConfiguration, this.ColumnConfiguration,
this.ColumnSRs}); this.ColumnSRs});
this.tableLayoutPanel1.SetColumnSpan(this.dataGridViewFarms, 2); this.tableLayoutPanel1.SetColumnSpan(this.dataGridViewSites, 2);
resources.ApplyResources(this.dataGridViewFarms, "dataGridViewFarms"); resources.ApplyResources(this.dataGridViewSites, "dataGridViewSites");
this.dataGridViewFarms.MultiSelect = true; this.dataGridViewSites.MultiSelect = true;
this.dataGridViewFarms.Name = "dataGridViewFarms"; this.dataGridViewSites.Name = "dataGridViewSites";
this.dataGridViewFarms.ReadOnly = true; this.dataGridViewSites.ReadOnly = true;
// //
// ColumnFarm // ColumnSite
// //
this.ColumnFarm.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.ColumnHeader; this.ColumnSite.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.ColumnHeader;
dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.TopLeft; dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.TopLeft;
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.False; dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.ColumnFarm.DefaultCellStyle = dataGridViewCellStyle5; this.ColumnSite.DefaultCellStyle = dataGridViewCellStyle5;
this.ColumnFarm.FillWeight = 20F; this.ColumnSite.FillWeight = 20F;
resources.ApplyResources(this.ColumnFarm, "ColumnFarm"); resources.ApplyResources(this.ColumnSite, "ColumnSite");
this.ColumnFarm.Name = "ColumnFarm"; this.ColumnSite.Name = "ColumnSite";
this.ColumnFarm.ReadOnly = true; this.ColumnSite.ReadOnly = true;
// //
// ColumnConfiguration // ColumnConfiguration
// //
@ -197,12 +197,12 @@
this.ConfigureButton.Name = "ConfigureButton"; this.ConfigureButton.Name = "ConfigureButton";
this.ConfigureButton.UseVisualStyleBackColor = true; this.ConfigureButton.UseVisualStyleBackColor = true;
// //
// ViewPvsFarmsButton // ViewPvsSitesButton
// //
resources.ApplyResources(this.ViewPvsFarmsButton, "ViewPvsFarmsButton"); resources.ApplyResources(this.ViewPvsSitesButton, "ViewPvsSitesButton");
this.ViewPvsFarmsButton.Name = "ViewPvsFarmsButton"; this.ViewPvsSitesButton.Name = "ViewPvsSitesButton";
this.ViewPvsFarmsButton.UseVisualStyleBackColor = true; this.ViewPvsSitesButton.UseVisualStyleBackColor = true;
this.ViewPvsFarmsButton.Click += new System.EventHandler(this.ViewPvsFarmsButton_Click); this.ViewPvsSitesButton.Click += new System.EventHandler(this.ViewPvsSitesButton_Click);
// //
// label1 // label1
// //
@ -219,7 +219,7 @@
this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel1.ResumeLayout(false);
this.tableLayoutPanel1.PerformLayout(); this.tableLayoutPanel1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGridViewVms)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewVms)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dataGridViewFarms)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewSites)).EndInit();
this.ResumeLayout(false); this.ResumeLayout(false);
this.PerformLayout(); this.PerformLayout();
@ -228,9 +228,9 @@
#endregion #endregion
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private Controls.DataGridViewEx.DataGridViewEx dataGridViewFarms; private Controls.DataGridViewEx.DataGridViewEx dataGridViewSites;
public System.Windows.Forms.Button ConfigureButton; public System.Windows.Forms.Button ConfigureButton;
public System.Windows.Forms.Button ViewPvsFarmsButton; public System.Windows.Forms.Button ViewPvsSitesButton;
private System.Windows.Forms.Label label1; private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2; private System.Windows.Forms.Label label2;
public System.Windows.Forms.Button button2; public System.Windows.Forms.Button button2;
@ -239,7 +239,7 @@
private System.Windows.Forms.DataGridViewTextBoxColumn columnCurrentlyCached; private System.Windows.Forms.DataGridViewTextBoxColumn columnCurrentlyCached;
private System.Windows.Forms.DataGridViewTextBoxColumn ColumnSR; private System.Windows.Forms.DataGridViewTextBoxColumn ColumnSR;
private System.Windows.Forms.DataGridViewTextBoxColumn ColumnPrepopulation; private System.Windows.Forms.DataGridViewTextBoxColumn ColumnPrepopulation;
private System.Windows.Forms.DataGridViewTextBoxColumn ColumnFarm; private System.Windows.Forms.DataGridViewTextBoxColumn ColumnSite;
private System.Windows.Forms.DataGridViewTextBoxColumn ColumnConfiguration; private System.Windows.Forms.DataGridViewTextBoxColumn ColumnConfiguration;
private System.Windows.Forms.DataGridViewTextBoxColumn ColumnSRs; private System.Windows.Forms.DataGridViewTextBoxColumn ColumnSRs;
} }

View File

@ -61,7 +61,7 @@ namespace XenAdmin.TabPages
{ {
if (connection != null) if (connection != null)
{ {
connection.Cache.DeregisterBatchCollectionChanged<PVS_farm>(PvsFarmBatchCollectionChanged); connection.Cache.DeregisterBatchCollectionChanged<PVS_site>(PvsSiteBatchCollectionChanged);
connection.Cache.DeregisterBatchCollectionChanged<PVS_proxy>(PvsProxyBatchCollectionChanged); connection.Cache.DeregisterBatchCollectionChanged<PVS_proxy>(PvsProxyBatchCollectionChanged);
} }
@ -69,16 +69,16 @@ namespace XenAdmin.TabPages
if (connection != null) if (connection != null)
{ {
connection.Cache.RegisterBatchCollectionChanged<PVS_farm>(PvsFarmBatchCollectionChanged); connection.Cache.RegisterBatchCollectionChanged<PVS_site>(PvsSiteBatchCollectionChanged);
connection.Cache.RegisterBatchCollectionChanged<PVS_proxy>(PvsProxyBatchCollectionChanged); connection.Cache.RegisterBatchCollectionChanged<PVS_proxy>(PvsProxyBatchCollectionChanged);
} }
LoadFarms(); LoadSites();
LoadVMs(); LoadVMs();
} }
} }
private void LoadFarms() private void LoadSites()
{ {
Program.AssertOnEventThread(); Program.AssertOnEventThread();
@ -87,22 +87,22 @@ namespace XenAdmin.TabPages
try try
{ {
dataGridViewFarms.SuspendLayout(); dataGridViewSites.SuspendLayout();
dataGridViewFarms.Rows.Clear(); dataGridViewSites.Rows.Clear();
var rowList = new List<DataGridViewRow>(); var rowList = new List<DataGridViewRow>();
foreach (var pvsFarm in Connection.Cache.PVS_farms) foreach (var pvsSite in Connection.Cache.PVS_sites)
rowList.Add(NewPvsFarmRow(pvsFarm)); rowList.Add(NewPvsSiteRow(pvsSite));
dataGridViewFarms.Rows.AddRange(rowList.ToArray()); dataGridViewSites.Rows.AddRange(rowList.ToArray());
if (dataGridViewFarms.SelectedRows.Count == 0 && dataGridViewFarms.Rows.Count > 0) if (dataGridViewSites.SelectedRows.Count == 0 && dataGridViewSites.Rows.Count > 0)
dataGridViewFarms.Rows[0].Selected = true; dataGridViewSites.Rows[0].Selected = true;
} }
finally finally
{ {
dataGridViewFarms.ResumeLayout(); dataGridViewSites.ResumeLayout();
} }
} }
@ -132,20 +132,20 @@ namespace XenAdmin.TabPages
} }
} }
private DataGridViewRow NewPvsFarmRow(PVS_farm pvsFarm) private DataGridViewRow NewPvsSiteRow(PVS_site pvsSite)
{ {
var farmCell = new DataGridViewTextBoxCell {Value = pvsFarm.name}; var siteCell = new DataGridViewTextBoxCell {Value = pvsSite.name};
var configurationCell = new DataGridViewTextBoxCell var configurationCell = new DataGridViewTextBoxCell
{ {
Value = pvsFarm.cache_storage.Count > 0 ? Messages.PVS_CACHE_MEMORY_AND_DISK: Messages.PVS_CACHE_MEMORY_ONLY Value = pvsSite.cache_storage.Count > 0 ? Messages.PVS_CACHE_MEMORY_AND_DISK: Messages.PVS_CACHE_MEMORY_ONLY
}; };
var cacheSrsCell = new DataGridViewTextBoxCell var cacheSrsCell = new DataGridViewTextBoxCell
{ {
Value = string.Join(", ", Connection.ResolveAll(pvsFarm.cache_storage)) Value = string.Join(", ", Connection.ResolveAll(pvsSite.cache_storage))
}; };
var newRow = new DataGridViewRow { Tag = pvsFarm }; var newRow = new DataGridViewRow { Tag = pvsSite };
newRow.Cells.AddRange(farmCell, configurationCell, cacheSrsCell); newRow.Cells.AddRange(siteCell, configurationCell, cacheSrsCell);
return newRow; return newRow;
} }
@ -182,9 +182,9 @@ namespace XenAdmin.TabPages
} }
} }
private void PvsFarmBatchCollectionChanged(object sender, EventArgs e) private void PvsSiteBatchCollectionChanged(object sender, EventArgs e)
{ {
Program.Invoke(this, LoadFarms); Program.Invoke(this, LoadSites);
} }
private void PvsProxyBatchCollectionChanged(object sender, EventArgs e) private void PvsProxyBatchCollectionChanged(object sender, EventArgs e)
@ -208,9 +208,9 @@ namespace XenAdmin.TabPages
} }
} }
private void ViewPvsFarmsButton_Click(object sender, EventArgs e) private void ViewPvsSitesButton_Click(object sender, EventArgs e)
{ {
Program.MainWindow.ShowPerConnectionWizard(connection, new PvsFarmDialog(connection)); Program.MainWindow.ShowPerConnectionWizard(connection, new PvsSiteDialog(connection));
} }
} }
} }

View File

@ -131,7 +131,7 @@
</data> </data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms"> <data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="button2" Row="5" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewVms" Row="4" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="label2" Row="3" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewFarms" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="ConfigureButton" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="button1" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="label1" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,AutoSize,0" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Percent,100,AutoSize,0" /&gt;&lt;/TableLayoutSettings&gt;</value> <value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="button2" Row="5" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewVms" Row="4" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="label2" Row="3" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewSites" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="ConfigureButton" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="button1" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="label1" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,AutoSize,0" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Percent,100,AutoSize,0" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data> </data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="pageContainerPanel.Location" type="System.Drawing.Point, System.Drawing"> <data name="pageContainerPanel.Location" type="System.Drawing.Point, System.Drawing">
@ -270,7 +270,7 @@
<data name="&gt;&gt;label2.ZOrder" xml:space="preserve"> <data name="&gt;&gt;label2.ZOrder" xml:space="preserve">
<value>2</value> <value>2</value>
</data> </data>
<metadata name="ColumnFarm.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="ColumnSite.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="ColumnConfiguration.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="ColumnConfiguration.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
@ -279,34 +279,34 @@
<metadata name="ColumnSRs.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="ColumnSRs.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<data name="dataGridViewFarms.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <data name="dataGridViewSites.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value> <value>Top, Left, Right</value>
</data> </data>
<data name="dataGridViewFarms.Font" type="System.Drawing.Font, System.Drawing"> <data name="dataGridViewSites.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value> <value>Segoe UI, 9pt</value>
</data> </data>
<data name="dataGridViewFarms.Location" type="System.Drawing.Point, System.Drawing"> <data name="dataGridViewSites.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 23</value> <value>0, 23</value>
</data> </data>
<data name="dataGridViewFarms.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="dataGridViewSites.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 1, 5</value> <value>0, 0, 1, 5</value>
</data> </data>
<data name="dataGridViewFarms.Size" type="System.Drawing.Size, System.Drawing"> <data name="dataGridViewSites.Size" type="System.Drawing.Size, System.Drawing">
<value>718, 165</value> <value>718, 165</value>
</data> </data>
<data name="dataGridViewFarms.TabIndex" type="System.Int32, mscorlib"> <data name="dataGridViewSites.TabIndex" type="System.Int32, mscorlib">
<value>5</value> <value>5</value>
</data> </data>
<data name="&gt;&gt;dataGridViewFarms.Name" xml:space="preserve"> <data name="&gt;&gt;dataGridViewSites.Name" xml:space="preserve">
<value>dataGridViewFarms</value> <value>dataGridViewSites</value>
</data> </data>
<data name="&gt;&gt;dataGridViewFarms.Type" xml:space="preserve"> <data name="&gt;&gt;dataGridViewSites.Type" xml:space="preserve">
<value>XenAdmin.Controls.DataGridViewEx.DataGridViewEx, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value> <value>XenAdmin.Controls.DataGridViewEx.DataGridViewEx, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data> </data>
<data name="&gt;&gt;dataGridViewFarms.Parent" xml:space="preserve"> <data name="&gt;&gt;dataGridViewSites.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value> <value>tableLayoutPanel1</value>
</data> </data>
<data name="&gt;&gt;dataGridViewFarms.ZOrder" xml:space="preserve"> <data name="&gt;&gt;dataGridViewSites.ZOrder" xml:space="preserve">
<value>3</value> <value>3</value>
</data> </data>
<data name="ConfigureButton.AutoSize" type="System.Boolean, mscorlib"> <data name="ConfigureButton.AutoSize" type="System.Boolean, mscorlib">
@ -361,7 +361,7 @@
<value>7</value> <value>7</value>
</data> </data>
<data name="button1.Text" xml:space="preserve"> <data name="button1.Text" xml:space="preserve">
<value>&amp;View PVS Farms...</value> <value>&amp;View PVS Sites...</value>
</data> </data>
<data name="&gt;&gt;button1.Name" xml:space="preserve"> <data name="&gt;&gt;button1.Name" xml:space="preserve">
<value>button1</value> <value>button1</value>
@ -439,7 +439,7 @@
<value>0</value> <value>0</value>
</data> </data>
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms"> <data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="button2" Row="5" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewVms" Row="4" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="label2" Row="3" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewFarms" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="ConfigureButton" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="button1" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="label1" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,AutoSize,0" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Percent,100,AutoSize,0" /&gt;&lt;/TableLayoutSettings&gt;</value> <value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="button2" Row="5" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewVms" Row="4" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="label2" Row="3" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewSites" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="ConfigureButton" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="button1" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="label1" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,AutoSize,0" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Percent,100,AutoSize,0" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data> </data>
<metadata name="columnVM.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="columnVM.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
@ -474,13 +474,13 @@
<data name="ColumnPrepopulation.HeaderText" xml:space="preserve"> <data name="ColumnPrepopulation.HeaderText" xml:space="preserve">
<value>Marked for prepopulation</value> <value>Marked for prepopulation</value>
</data> </data>
<metadata name="ColumnFarm.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="ColumnSite.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<data name="ColumnFarm.HeaderText" xml:space="preserve"> <data name="ColumnSite.HeaderText" xml:space="preserve">
<value>PVS Farm</value> <value>PVS Site</value>
</data> </data>
<data name="ColumnFarm.MinimumWidth" type="System.Int32, mscorlib"> <data name="ColumnSite.MinimumWidth" type="System.Int32, mscorlib">
<value>80</value> <value>80</value>
</data> </data>
<metadata name="ColumnConfiguration.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="ColumnConfiguration.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
@ -534,10 +534,10 @@
<data name="&gt;&gt;ColumnPrepopulation.Type" xml:space="preserve"> <data name="&gt;&gt;ColumnPrepopulation.Type" xml:space="preserve">
<value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data> </data>
<data name="&gt;&gt;ColumnFarm.Name" xml:space="preserve"> <data name="&gt;&gt;ColumnSite.Name" xml:space="preserve">
<value>ColumnFarm</value> <value>ColumnSite</value>
</data> </data>
<data name="&gt;&gt;ColumnFarm.Type" xml:space="preserve"> <data name="&gt;&gt;ColumnSite.Type" xml:space="preserve">
<value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data> </data>
<data name="&gt;&gt;ColumnConfiguration.Name" xml:space="preserve"> <data name="&gt;&gt;ColumnConfiguration.Name" xml:space="preserve">

View File

@ -267,16 +267,16 @@
<data name="&gt;&gt;label2.ZOrder" xml:space="preserve"> <data name="&gt;&gt;label2.ZOrder" xml:space="preserve">
<value>2</value> <value>2</value>
</data> </data>
<metadata name="ColumnFarm.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="ColumnSite.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<data name="ColumnFarm.HeaderText" xml:space="preserve"> <data name="ColumnSite.HeaderText" xml:space="preserve">
<value>PVS Farm</value> <value>PVS Site</value>
</data> </data>
<data name="ColumnFarm.MinimumWidth" type="System.Int32, mscorlib"> <data name="ColumnSite.MinimumWidth" type="System.Int32, mscorlib">
<value>80</value> <value>80</value>
</data> </data>
<data name="ColumnFarm.Width" type="System.Int32, mscorlib"> <data name="ColumnSite.Width" type="System.Int32, mscorlib">
<value>82</value> <value>82</value>
</data> </data>
<metadata name="ColumnConfiguration.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="ColumnConfiguration.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
@ -300,34 +300,34 @@
<data name="ColumnSRs.MinimumWidth" type="System.Int32, mscorlib"> <data name="ColumnSRs.MinimumWidth" type="System.Int32, mscorlib">
<value>80</value> <value>80</value>
</data> </data>
<data name="dataGridViewFarms.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> <data name="dataGridViewSites.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value> <value>Fill</value>
</data> </data>
<data name="dataGridViewFarms.Font" type="System.Drawing.Font, System.Drawing"> <data name="dataGridViewSites.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value> <value>Segoe UI, 9pt</value>
</data> </data>
<data name="dataGridViewFarms.Location" type="System.Drawing.Point, System.Drawing"> <data name="dataGridViewSites.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 23</value> <value>0, 23</value>
</data> </data>
<data name="dataGridViewFarms.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="dataGridViewSites.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 1, 5</value> <value>0, 0, 1, 5</value>
</data> </data>
<data name="dataGridViewFarms.Size" type="System.Drawing.Size, System.Drawing"> <data name="dataGridViewSites.Size" type="System.Drawing.Size, System.Drawing">
<value>561, 155</value> <value>561, 155</value>
</data> </data>
<data name="dataGridViewFarms.TabIndex" type="System.Int32, mscorlib"> <data name="dataGridViewSites.TabIndex" type="System.Int32, mscorlib">
<value>5</value> <value>5</value>
</data> </data>
<data name="&gt;&gt;dataGridViewFarms.Name" xml:space="preserve"> <data name="&gt;&gt;dataGridViewSites.Name" xml:space="preserve">
<value>dataGridViewFarms</value> <value>dataGridViewSites</value>
</data> </data>
<data name="&gt;&gt;dataGridViewFarms.Type" xml:space="preserve"> <data name="&gt;&gt;dataGridViewSites.Type" xml:space="preserve">
<value>XenAdmin.Controls.DataGridViewEx.DataGridViewEx, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value> <value>XenAdmin.Controls.DataGridViewEx.DataGridViewEx, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data> </data>
<data name="&gt;&gt;dataGridViewFarms.Parent" xml:space="preserve"> <data name="&gt;&gt;dataGridViewSites.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value> <value>tableLayoutPanel1</value>
</data> </data>
<data name="&gt;&gt;dataGridViewFarms.ZOrder" xml:space="preserve"> <data name="&gt;&gt;dataGridViewSites.ZOrder" xml:space="preserve">
<value>3</value> <value>3</value>
</data> </data>
<data name="ConfigureButton.AutoSize" type="System.Boolean, mscorlib"> <data name="ConfigureButton.AutoSize" type="System.Boolean, mscorlib">
@ -363,37 +363,37 @@
<data name="&gt;&gt;ConfigureButton.ZOrder" xml:space="preserve"> <data name="&gt;&gt;ConfigureButton.ZOrder" xml:space="preserve">
<value>4</value> <value>4</value>
</data> </data>
<data name="ViewPvsFarmsButton.AutoSize" type="System.Boolean, mscorlib"> <data name="ViewPvsSitesButton.AutoSize" type="System.Boolean, mscorlib">
<value>True</value> <value>True</value>
</data> </data>
<data name="ViewPvsFarmsButton.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> <data name="ViewPvsSitesButton.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="ViewPvsFarmsButton.Location" type="System.Drawing.Point, System.Drawing"> <data name="ViewPvsSitesButton.Location" type="System.Drawing.Point, System.Drawing">
<value>131, 186</value> <value>131, 186</value>
</data> </data>
<data name="ViewPvsFarmsButton.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="ViewPvsSitesButton.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 3, 3, 3</value> <value>0, 3, 3, 3</value>
</data> </data>
<data name="ViewPvsFarmsButton.Size" type="System.Drawing.Size, System.Drawing"> <data name="ViewPvsSitesButton.Size" type="System.Drawing.Size, System.Drawing">
<value>104, 23</value> <value>104, 23</value>
</data> </data>
<data name="ViewPvsFarmsButton.TabIndex" type="System.Int32, mscorlib"> <data name="ViewPvsSitesButton.TabIndex" type="System.Int32, mscorlib">
<value>7</value> <value>7</value>
</data> </data>
<data name="ViewPvsFarmsButton.Text" xml:space="preserve"> <data name="ViewPvsSitesButton.Text" xml:space="preserve">
<value>View PVS &amp;Farms...</value> <value>View PVS &amp;Sites...</value>
</data> </data>
<data name="&gt;&gt;ViewPvsFarmsButton.Name" xml:space="preserve"> <data name="&gt;&gt;ViewPvsSitesButton.Name" xml:space="preserve">
<value>ViewPvsFarmsButton</value> <value>ViewPvsSitesButton</value>
</data> </data>
<data name="&gt;&gt;ViewPvsFarmsButton.Type" xml:space="preserve"> <data name="&gt;&gt;ViewPvsSitesButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data> </data>
<data name="&gt;&gt;ViewPvsFarmsButton.Parent" xml:space="preserve"> <data name="&gt;&gt;ViewPvsSitesButton.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value> <value>tableLayoutPanel1</value>
</data> </data>
<data name="&gt;&gt;ViewPvsFarmsButton.ZOrder" xml:space="preserve"> <data name="&gt;&gt;ViewPvsSitesButton.ZOrder" xml:space="preserve">
<value>5</value> <value>5</value>
</data> </data>
<data name="label1.AutoSize" type="System.Boolean, mscorlib"> <data name="label1.AutoSize" type="System.Boolean, mscorlib">
@ -460,7 +460,7 @@
<value>0</value> <value>0</value>
</data> </data>
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms"> <data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="button2" Row="5" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewVms" Row="4" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="label2" Row="3" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewFarms" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="ConfigureButton" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="ViewPvsFarmsButton" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="label1" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,Percent,100" /&gt;&lt;Rows Styles="AutoSize,0,Absolute,160,AutoSize,0,AutoSize,0,Percent,100,AutoSize,0" /&gt;&lt;/TableLayoutSettings&gt;</value> <value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="button2" Row="5" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewVms" Row="4" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="label2" Row="3" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewSites" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="ConfigureButton" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="ViewPvsSitesButton" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="label1" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,Percent,100" /&gt;&lt;Rows Styles="AutoSize,0,Absolute,160,AutoSize,0,AutoSize,0,Percent,100,AutoSize,0" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data> </data>
<data name="pageContainerPanel.Location" type="System.Drawing.Point, System.Drawing"> <data name="pageContainerPanel.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 91</value> <value>0, 91</value>
@ -513,10 +513,10 @@
<data name="&gt;&gt;ColumnPrepopulation.Type" xml:space="preserve"> <data name="&gt;&gt;ColumnPrepopulation.Type" xml:space="preserve">
<value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data> </data>
<data name="&gt;&gt;ColumnFarm.Name" xml:space="preserve"> <data name="&gt;&gt;ColumnSite.Name" xml:space="preserve">
<value>ColumnFarm</value> <value>ColumnSite</value>
</data> </data>
<data name="&gt;&gt;ColumnFarm.Type" xml:space="preserve"> <data name="&gt;&gt;ColumnSite.Type" xml:space="preserve">
<value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data> </data>
<data name="&gt;&gt;ColumnConfiguration.Name" xml:space="preserve"> <data name="&gt;&gt;ColumnConfiguration.Name" xml:space="preserve">

View File

@ -131,7 +131,7 @@
</data> </data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms"> <data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="button2" Row="5" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewVms" Row="4" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="label2" Row="3" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewFarms" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="ConfigureButton" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="button1" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="label1" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,AutoSize,0" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Percent,100,AutoSize,0" /&gt;&lt;/TableLayoutSettings&gt;</value> <value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="button2" Row="5" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewVms" Row="4" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="label2" Row="3" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewSites" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="ConfigureButton" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="button1" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="label1" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,AutoSize,0" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Percent,100,AutoSize,0" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data> </data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="pageContainerPanel.Location" type="System.Drawing.Point, System.Drawing"> <data name="pageContainerPanel.Location" type="System.Drawing.Point, System.Drawing">
@ -270,7 +270,7 @@
<data name="&gt;&gt;label2.ZOrder" xml:space="preserve"> <data name="&gt;&gt;label2.ZOrder" xml:space="preserve">
<value>2</value> <value>2</value>
</data> </data>
<metadata name="ColumnFarm.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="ColumnSite.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="ColumnConfiguration.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="ColumnConfiguration.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
@ -279,34 +279,34 @@
<metadata name="ColumnSRs.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="ColumnSRs.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<data name="dataGridViewFarms.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <data name="dataGridViewSites.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value> <value>Top, Left, Right</value>
</data> </data>
<data name="dataGridViewFarms.Font" type="System.Drawing.Font, System.Drawing"> <data name="dataGridViewSites.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value> <value>Segoe UI, 9pt</value>
</data> </data>
<data name="dataGridViewFarms.Location" type="System.Drawing.Point, System.Drawing"> <data name="dataGridViewSites.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 23</value> <value>0, 23</value>
</data> </data>
<data name="dataGridViewFarms.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="dataGridViewSites.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 1, 5</value> <value>0, 0, 1, 5</value>
</data> </data>
<data name="dataGridViewFarms.Size" type="System.Drawing.Size, System.Drawing"> <data name="dataGridViewSites.Size" type="System.Drawing.Size, System.Drawing">
<value>718, 165</value> <value>718, 165</value>
</data> </data>
<data name="dataGridViewFarms.TabIndex" type="System.Int32, mscorlib"> <data name="dataGridViewSites.TabIndex" type="System.Int32, mscorlib">
<value>5</value> <value>5</value>
</data> </data>
<data name="&gt;&gt;dataGridViewFarms.Name" xml:space="preserve"> <data name="&gt;&gt;dataGridViewSites.Name" xml:space="preserve">
<value>dataGridViewFarms</value> <value>dataGridViewSites</value>
</data> </data>
<data name="&gt;&gt;dataGridViewFarms.Type" xml:space="preserve"> <data name="&gt;&gt;dataGridViewSites.Type" xml:space="preserve">
<value>XenAdmin.Controls.DataGridViewEx.DataGridViewEx, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value> <value>XenAdmin.Controls.DataGridViewEx.DataGridViewEx, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data> </data>
<data name="&gt;&gt;dataGridViewFarms.Parent" xml:space="preserve"> <data name="&gt;&gt;dataGridViewSites.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value> <value>tableLayoutPanel1</value>
</data> </data>
<data name="&gt;&gt;dataGridViewFarms.ZOrder" xml:space="preserve"> <data name="&gt;&gt;dataGridViewSites.ZOrder" xml:space="preserve">
<value>3</value> <value>3</value>
</data> </data>
<data name="ConfigureButton.AutoSize" type="System.Boolean, mscorlib"> <data name="ConfigureButton.AutoSize" type="System.Boolean, mscorlib">
@ -361,7 +361,7 @@
<value>7</value> <value>7</value>
</data> </data>
<data name="button1.Text" xml:space="preserve"> <data name="button1.Text" xml:space="preserve">
<value>&amp;View PVS Farms...</value> <value>&amp;View PVS Sites...</value>
</data> </data>
<data name="&gt;&gt;button1.Name" xml:space="preserve"> <data name="&gt;&gt;button1.Name" xml:space="preserve">
<value>button1</value> <value>button1</value>
@ -439,7 +439,7 @@
<value>0</value> <value>0</value>
</data> </data>
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms"> <data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="button2" Row="5" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewVms" Row="4" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="label2" Row="3" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewFarms" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="ConfigureButton" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="button1" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="label1" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,AutoSize,0" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Percent,100,AutoSize,0" /&gt;&lt;/TableLayoutSettings&gt;</value> <value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="button2" Row="5" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewVms" Row="4" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="label2" Row="3" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewSites" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="ConfigureButton" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="button1" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="label1" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,AutoSize,0" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Percent,100,AutoSize,0" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data> </data>
<metadata name="columnVM.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="columnVM.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
@ -474,13 +474,13 @@
<data name="ColumnPrepopulation.HeaderText" xml:space="preserve"> <data name="ColumnPrepopulation.HeaderText" xml:space="preserve">
<value>Marked for prepopulation</value> <value>Marked for prepopulation</value>
</data> </data>
<metadata name="ColumnFarm.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="ColumnSite.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<data name="ColumnFarm.HeaderText" xml:space="preserve"> <data name="ColumnSite.HeaderText" xml:space="preserve">
<value>PVS Farm</value> <value>PVS Site</value>
</data> </data>
<data name="ColumnFarm.MinimumWidth" type="System.Int32, mscorlib"> <data name="ColumnSite.MinimumWidth" type="System.Int32, mscorlib">
<value>80</value> <value>80</value>
</data> </data>
<metadata name="ColumnConfiguration.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="ColumnConfiguration.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
@ -534,10 +534,10 @@
<data name="&gt;&gt;ColumnPrepopulation.Type" xml:space="preserve"> <data name="&gt;&gt;ColumnPrepopulation.Type" xml:space="preserve">
<value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data> </data>
<data name="&gt;&gt;ColumnFarm.Name" xml:space="preserve"> <data name="&gt;&gt;ColumnSite.Name" xml:space="preserve">
<value>ColumnFarm</value> <value>ColumnSite</value>
</data> </data>
<data name="&gt;&gt;ColumnFarm.Type" xml:space="preserve"> <data name="&gt;&gt;ColumnSite.Type" xml:space="preserve">
<value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data> </data>
<data name="&gt;&gt;ColumnConfiguration.Name" xml:space="preserve"> <data name="&gt;&gt;ColumnConfiguration.Name" xml:space="preserve">

View File

@ -111,6 +111,7 @@
<Compile Include="Alerts\Types\XenServerPatchAlert.cs" /> <Compile Include="Alerts\Types\XenServerPatchAlert.cs" />
<Compile Include="Alerts\Types\XenServerVersionAlert.cs" /> <Compile Include="Alerts\Types\XenServerVersionAlert.cs" />
<Compile Include="Commands\CallHomeCommand.cs" /> <Compile Include="Commands\CallHomeCommand.cs" />
<Compile Include="Commands\ChangeControlDomainMemoryCommand.cs" />
<Compile Include="Commands\CrossPoolCopyVMCommand.cs" /> <Compile Include="Commands\CrossPoolCopyVMCommand.cs" />
<Compile Include="Commands\CrossPoolMoveVMCommand.cs" /> <Compile Include="Commands\CrossPoolMoveVMCommand.cs" />
<Compile Include="Commands\DragDropCrossPoolMoveHaltedVMCommand.cs" /> <Compile Include="Commands\DragDropCrossPoolMoveHaltedVMCommand.cs" />
@ -157,12 +158,12 @@
<Compile Include="Controls\ConsolePanel.Designer.cs"> <Compile Include="Controls\ConsolePanel.Designer.cs">
<DependentUpon>ConsolePanel.cs</DependentUpon> <DependentUpon>ConsolePanel.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="Controls\DataGridViewEx\CollapsingPvsFarmServerDataGridViewRow.cs" /> <Compile Include="Controls\DataGridViewEx\CollapsingPvsSiteServerDataGridViewRow.cs" />
<Compile Include="Controls\DataGridViewEx\CollapsingPvsFarmServerDataGridView.cs"> <Compile Include="Controls\DataGridViewEx\CollapsingPvsSiteServerDataGridView.cs">
<SubType>Component</SubType> <SubType>Component</SubType>
</Compile> </Compile>
<Compile Include="Controls\DataGridViewEx\CollapsingPvsFarmServerDataGridView.Designer.cs"> <Compile Include="Controls\DataGridViewEx\CollapsingPvsSiteServerDataGridView.Designer.cs">
<DependentUpon>CollapsingPvsFarmServerDataGridView.cs</DependentUpon> <DependentUpon>CollapsingPvsSiteServerDataGridView.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="Controls\DataGridViewEx\DataGridViewEx.cs"> <Compile Include="Controls\DataGridViewEx\DataGridViewEx.cs">
<SubType>Component</SubType> <SubType>Component</SubType>
@ -226,11 +227,17 @@
<Compile Include="Diagnostics\Problems\ProblemWithInformationUrl.cs" /> <Compile Include="Diagnostics\Problems\ProblemWithInformationUrl.cs" />
<Compile Include="Diagnostics\Problems\SRProblem\UnsupportedStorageLinkSrIsPresentProblem.cs" /> <Compile Include="Diagnostics\Problems\SRProblem\UnsupportedStorageLinkSrIsPresentProblem.cs" />
<Compile Include="Diagnostics\Problems\VMProblem\InvalidVCPUConfiguration.cs" /> <Compile Include="Diagnostics\Problems\VMProblem\InvalidVCPUConfiguration.cs" />
<Compile Include="Dialogs\PvsFarmDialog.cs"> <Compile Include="Dialogs\PvsSiteDialog.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
<Compile Include="Dialogs\PvsFarmDialog.Designer.cs"> <Compile Include="Dialogs\PvsSiteDialog.Designer.cs">
<DependentUpon>PvsFarmDialog.cs</DependentUpon> <DependentUpon>PvsSiteDialog.cs</DependentUpon>
</Compile>
<Compile Include="Dialogs\ControlDomainMemoryDialog.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Dialogs\ControlDomainMemoryDialog.Designer.cs">
<DependentUpon>ControlDomainMemoryDialog.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="Dialogs\HealthCheck\HealthCheckOverviewLauncher.cs" /> <Compile Include="Dialogs\HealthCheck\HealthCheckOverviewLauncher.cs" />
<Compile Include="Dialogs\ExportVMDialog.cs"> <Compile Include="Dialogs\ExportVMDialog.cs">
@ -1542,6 +1549,15 @@
<SubType>Designer</SubType> <SubType>Designer</SubType>
<DependentUpon>BallooningDialogAdvanced.cs</DependentUpon> <DependentUpon>BallooningDialogAdvanced.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="Dialogs\ControlDomainMemoryDialog.resx">
<DependentUpon>ControlDomainMemoryDialog.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Dialogs\ControlDomainMemoryDialog.zh-CN.resx">
<DependentUpon>ControlDomainMemoryDialog.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Dialogs\ControlDomainMemoryDialog.ja.resx">
<DependentUpon>ControlDomainMemoryDialog.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Dialogs\DateFilterDialog.resx"> <EmbeddedResource Include="Dialogs\DateFilterDialog.resx">
<SubType>Designer</SubType> <SubType>Designer</SubType>
<DependentUpon>DateFilterDialog.cs</DependentUpon> <DependentUpon>DateFilterDialog.cs</DependentUpon>
@ -1550,16 +1566,16 @@
<SubType>Designer</SubType> <SubType>Designer</SubType>
<DependentUpon>AdPasswordPrompt.cs</DependentUpon> <DependentUpon>AdPasswordPrompt.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="Dialogs\PvsFarmDialog.ja.resx"> <EmbeddedResource Include="Dialogs\PvsSiteDialog.ja.resx">
<DependentUpon>PvsFarmDialog.cs</DependentUpon> <DependentUpon>PvsSiteDialog.cs</DependentUpon>
<SubType>Designer</SubType> <SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="Dialogs\PvsFarmDialog.resx"> <EmbeddedResource Include="Dialogs\PvsSiteDialog.resx">
<DependentUpon>PvsFarmDialog.cs</DependentUpon> <DependentUpon>PvsSiteDialog.cs</DependentUpon>
<SubType>Designer</SubType> <SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="Dialogs\PvsFarmDialog.zh-CN.resx"> <EmbeddedResource Include="Dialogs\PvsSiteDialog.zh-CN.resx">
<DependentUpon>PvsFarmDialog.cs</DependentUpon> <DependentUpon>PvsSiteDialog.cs</DependentUpon>
<SubType>Designer</SubType> <SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="Dialogs\HealthCheck\HealthCheckOverviewDialog.ja.resx"> <EmbeddedResource Include="Dialogs\HealthCheck\HealthCheckOverviewDialog.ja.resx">
@ -1864,9 +1880,11 @@
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="TabPages\PvsPage.ja.resx"> <EmbeddedResource Include="TabPages\PvsPage.ja.resx">
<DependentUpon>PvsPage.cs</DependentUpon> <DependentUpon>PvsPage.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="TabPages\PvsPage.resx"> <EmbeddedResource Include="TabPages\PvsPage.resx">
<DependentUpon>PvsPage.cs</DependentUpon> <DependentUpon>PvsPage.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="TabPages\PvsPage.zh-CN.resx"> <EmbeddedResource Include="TabPages\PvsPage.zh-CN.resx">
<DependentUpon>PvsPage.cs</DependentUpon> <DependentUpon>PvsPage.cs</DependentUpon>

View File

@ -101,7 +101,8 @@ namespace XenAdminTests.TabsAndMenus
new ExpectedTextMenuItem("Restore From Back&up...", false, false ), new ExpectedTextMenuItem("Restore From Back&up...", false, false ),
new ExpectedSeparator(), new ExpectedSeparator(),
new ExpectedTextMenuItem("Enter &Maintenance Mode...", false, false ), new ExpectedTextMenuItem("Enter &Maintenance Mode...", false, false ),
new ExpectedTextMenuItem("Remove Crash &Dump Files", false, false ), new ExpectedTextMenuItem("Control &Domain Memory...", false, false ),
new ExpectedTextMenuItem("Remove Crash Dump &Files", false, false ),
new ExpectedTextMenuItem("Pass&word", false, false, new ExpectedMenuItem[]{ new ExpectedTextMenuItem("Pass&word", false, false, new ExpectedMenuItem[]{
new ExpectedTextMenuItem("&Change...", false, false ), new ExpectedTextMenuItem("&Change...", false, false ),
new ExpectedTextMenuItem("&Forget Password", false, false )}), new ExpectedTextMenuItem("&Forget Password", false, false )}),
@ -210,7 +211,8 @@ namespace XenAdminTests.TabsAndMenus
new ExpectedTextMenuItem("Restore From Back&up...", false, false ), new ExpectedTextMenuItem("Restore From Back&up...", false, false ),
new ExpectedSeparator(), new ExpectedSeparator(),
new ExpectedTextMenuItem("Enter &Maintenance Mode...", false, false ), new ExpectedTextMenuItem("Enter &Maintenance Mode...", false, false ),
new ExpectedTextMenuItem("Remove Crash &Dump Files", false, false ), new ExpectedTextMenuItem("Control &Domain Memory...", false, false ),
new ExpectedTextMenuItem("Remove Crash Dump &Files", false, false ),
new ExpectedTextMenuItem("Pass&word", true, false, new ExpectedMenuItem[]{ new ExpectedTextMenuItem("Pass&word", true, false, new ExpectedMenuItem[]{
new ExpectedTextMenuItem("&Change...", true, false ), new ExpectedTextMenuItem("&Change...", true, false ),
new ExpectedTextMenuItem("&Forget Password", false, false )}), new ExpectedTextMenuItem("&Forget Password", false, false )}),
@ -321,7 +323,8 @@ namespace XenAdminTests.TabsAndMenus
new ExpectedTextMenuItem("Restore From Back&up...", true, false ), new ExpectedTextMenuItem("Restore From Back&up...", true, false ),
new ExpectedSeparator(), new ExpectedSeparator(),
new ExpectedTextMenuItem("Enter &Maintenance Mode...", true, false ), new ExpectedTextMenuItem("Enter &Maintenance Mode...", true, false ),
new ExpectedTextMenuItem("Remove Crash &Dump Files", false, false ), new ExpectedTextMenuItem("Control &Domain Memory...", false, false ),
new ExpectedTextMenuItem("Remove Crash Dump &Files", false, false ),
new ExpectedTextMenuItem("Pass&word", true, false, new ExpectedMenuItem[]{ new ExpectedTextMenuItem("Pass&word", true, false, new ExpectedMenuItem[]{
new ExpectedTextMenuItem("&Change...", true, false ), new ExpectedTextMenuItem("&Change...", true, false ),
new ExpectedTextMenuItem("&Forget Password", false, false )}), new ExpectedTextMenuItem("&Forget Password", false, false )}),
@ -432,7 +435,8 @@ namespace XenAdminTests.TabsAndMenus
new ExpectedTextMenuItem("Restore From Back&up...", false, false ), new ExpectedTextMenuItem("Restore From Back&up...", false, false ),
new ExpectedSeparator(), new ExpectedSeparator(),
new ExpectedTextMenuItem("Enter &Maintenance Mode...", false, false ), new ExpectedTextMenuItem("Enter &Maintenance Mode...", false, false ),
new ExpectedTextMenuItem("Remove Crash &Dump Files", false, false ), new ExpectedTextMenuItem("Control &Domain Memory...", false, false ),
new ExpectedTextMenuItem("Remove Crash Dump &Files", false, false ),
new ExpectedTextMenuItem("Pass&word", false, false, new ExpectedMenuItem[]{ new ExpectedTextMenuItem("Pass&word", false, false, new ExpectedMenuItem[]{
new ExpectedTextMenuItem("&Change...", false, false ), new ExpectedTextMenuItem("&Change...", false, false ),
new ExpectedTextMenuItem("&Forget Password", false, false )}), new ExpectedTextMenuItem("&Forget Password", false, false )}),
@ -544,7 +548,8 @@ namespace XenAdminTests.TabsAndMenus
new ExpectedTextMenuItem("Restore From Back&up...", false, false ), new ExpectedTextMenuItem("Restore From Back&up...", false, false ),
new ExpectedSeparator(), new ExpectedSeparator(),
new ExpectedTextMenuItem("Enter &Maintenance Mode...", vm.Home() != null, false ), new ExpectedTextMenuItem("Enter &Maintenance Mode...", vm.Home() != null, false ),
new ExpectedTextMenuItem("Remove Crash &Dump Files", false, false ), new ExpectedTextMenuItem("Control &Domain Memory...", false, false ),
new ExpectedTextMenuItem("Remove Crash Dump &Files", false, false ),
new ExpectedTextMenuItem("Pass&word", false, false, new ExpectedMenuItem[]{ new ExpectedTextMenuItem("Pass&word", false, false, new ExpectedMenuItem[]{
new ExpectedTextMenuItem("&Change...", false, false ), new ExpectedTextMenuItem("&Change...", false, false ),
new ExpectedTextMenuItem("&Forget Password", false, false )}), new ExpectedTextMenuItem("&Forget Password", false, false )}),
@ -658,7 +663,8 @@ namespace XenAdminTests.TabsAndMenus
new ExpectedTextMenuItem("Restore From Back&up...", false, false ), new ExpectedTextMenuItem("Restore From Back&up...", false, false ),
new ExpectedSeparator(), new ExpectedSeparator(),
new ExpectedTextMenuItem("Enter &Maintenance Mode...", sr.Home != null, false ), new ExpectedTextMenuItem("Enter &Maintenance Mode...", sr.Home != null, false ),
new ExpectedTextMenuItem("Remove Crash &Dump Files", false, false ), new ExpectedTextMenuItem("Control &Domain Memory...", false, false ),
new ExpectedTextMenuItem("Remove Crash Dump &Files", false, false ),
new ExpectedTextMenuItem("Pass&word", false, false, new ExpectedMenuItem[]{ new ExpectedTextMenuItem("Pass&word", false, false, new ExpectedMenuItem[]{
new ExpectedTextMenuItem("&Change...", false, false ), new ExpectedTextMenuItem("&Change...", false, false ),
new ExpectedTextMenuItem("&Forget Password", false, false )}), new ExpectedTextMenuItem("&Forget Password", false, false )}),
@ -773,7 +779,8 @@ namespace XenAdminTests.TabsAndMenus
new ExpectedTextMenuItem("Restore From Back&up...", false, false ), new ExpectedTextMenuItem("Restore From Back&up...", false, false ),
new ExpectedSeparator(), new ExpectedSeparator(),
new ExpectedTextMenuItem("Enter &Maintenance Mode...", false, false ), new ExpectedTextMenuItem("Enter &Maintenance Mode...", false, false ),
new ExpectedTextMenuItem("Remove Crash &Dump Files", false, false ), new ExpectedTextMenuItem("Control &Domain Memory...", false, false ),
new ExpectedTextMenuItem("Remove Crash Dump &Files", false, false ),
new ExpectedTextMenuItem("Pass&word", false, false, new ExpectedMenuItem[]{ new ExpectedTextMenuItem("Pass&word", false, false, new ExpectedMenuItem[]{
new ExpectedTextMenuItem("&Change...", false, false ), new ExpectedTextMenuItem("&Change...", false, false ),
new ExpectedTextMenuItem("&Forget Password", false, false )}), new ExpectedTextMenuItem("&Forget Password", false, false )}),
@ -891,7 +898,8 @@ namespace XenAdminTests.TabsAndMenus
new ExpectedTextMenuItem("Restore From Back&up...", false, false ), new ExpectedTextMenuItem("Restore From Back&up...", false, false ),
new ExpectedSeparator(), new ExpectedSeparator(),
new ExpectedTextMenuItem("Enter &Maintenance Mode...", false, false ), new ExpectedTextMenuItem("Enter &Maintenance Mode...", false, false ),
new ExpectedTextMenuItem("Remove Crash &Dump Files", false, false ), new ExpectedTextMenuItem("Control &Domain Memory...", false, false ),
new ExpectedTextMenuItem("Remove Crash Dump &Files", false, false ),
new ExpectedTextMenuItem("Pass&word", false, false, new ExpectedMenuItem[]{ new ExpectedTextMenuItem("Pass&word", false, false, new ExpectedMenuItem[]{
new ExpectedTextMenuItem("&Change...", false, false ), new ExpectedTextMenuItem("&Change...", false, false ),
new ExpectedTextMenuItem("&Forget Password", false, false )}), new ExpectedTextMenuItem("&Forget Password", false, false )}),
@ -1010,7 +1018,8 @@ namespace XenAdminTests.TabsAndMenus
new ExpectedTextMenuItem("Restore From Back&up...", false, false ), new ExpectedTextMenuItem("Restore From Back&up...", false, false ),
new ExpectedSeparator(), new ExpectedSeparator(),
new ExpectedTextMenuItem("Enter &Maintenance Mode...", false, false ), new ExpectedTextMenuItem("Enter &Maintenance Mode...", false, false ),
new ExpectedTextMenuItem("Remove Crash &Dump Files", false, false ), new ExpectedTextMenuItem("Control &Domain Memory...", false, false ),
new ExpectedTextMenuItem("Remove Crash Dump &Files", false, false ),
new ExpectedTextMenuItem("Pass&word", false, false, new ExpectedMenuItem[]{ new ExpectedTextMenuItem("Pass&word", false, false, new ExpectedMenuItem[]{
new ExpectedTextMenuItem("&Change...", false, false ), new ExpectedTextMenuItem("&Change...", false, false ),
new ExpectedTextMenuItem("&Forget Password", false, false )}), new ExpectedTextMenuItem("&Forget Password", false, false )}),
@ -1130,7 +1139,8 @@ namespace XenAdminTests.TabsAndMenus
new ExpectedTextMenuItem("Restore From Back&up...", false, false ), new ExpectedTextMenuItem("Restore From Back&up...", false, false ),
new ExpectedSeparator(), new ExpectedSeparator(),
new ExpectedTextMenuItem("Enter &Maintenance Mode...", false, false ), new ExpectedTextMenuItem("Enter &Maintenance Mode...", false, false ),
new ExpectedTextMenuItem("Remove Crash &Dump Files", false, false ), new ExpectedTextMenuItem("Control &Domain Memory...", false, false ),
new ExpectedTextMenuItem("Remove Crash Dump &Files", false, false ),
new ExpectedTextMenuItem("Pass&word", false, false, new ExpectedMenuItem[]{ new ExpectedTextMenuItem("Pass&word", false, false, new ExpectedMenuItem[]{
new ExpectedTextMenuItem("&Change...", false, false ), new ExpectedTextMenuItem("&Change...", false, false ),
new ExpectedTextMenuItem("&Forget Password", false, false )}), new ExpectedTextMenuItem("&Forget Password", false, false )}),
@ -1251,7 +1261,8 @@ namespace XenAdminTests.TabsAndMenus
new ExpectedTextMenuItem("Restore From Back&up...", false, false ), new ExpectedTextMenuItem("Restore From Back&up...", false, false ),
new ExpectedSeparator(), new ExpectedSeparator(),
new ExpectedTextMenuItem("Enter &Maintenance Mode...", false, false ), new ExpectedTextMenuItem("Enter &Maintenance Mode...", false, false ),
new ExpectedTextMenuItem("Remove Crash &Dump Files", false, false ), new ExpectedTextMenuItem("Control &Domain Memory...", false, false ),
new ExpectedTextMenuItem("Remove Crash Dump &Files", false, false ),
new ExpectedTextMenuItem("Pass&word", false, false, new ExpectedMenuItem[]{ new ExpectedTextMenuItem("Pass&word", false, false, new ExpectedMenuItem[]{
new ExpectedTextMenuItem("&Change...", false, false ), new ExpectedTextMenuItem("&Change...", false, false ),
new ExpectedTextMenuItem("&Forget Password", false, false )}), new ExpectedTextMenuItem("&Forget Password", false, false )}),
@ -1367,7 +1378,8 @@ namespace XenAdminTests.TabsAndMenus
new ExpectedTextMenuItem("Restore From Back&up...", true, false ), new ExpectedTextMenuItem("Restore From Back&up...", true, false ),
new ExpectedSeparator(), new ExpectedSeparator(),
new ExpectedTextMenuItem("Enter &Maintenance Mode...", true, false ), new ExpectedTextMenuItem("Enter &Maintenance Mode...", true, false ),
new ExpectedTextMenuItem("Remove Crash &Dump Files", false, false ), new ExpectedTextMenuItem("Control &Domain Memory...", false, false ),
new ExpectedTextMenuItem("Remove Crash Dump &Files", false, false ),
new ExpectedTextMenuItem("Pass&word", true, false, new ExpectedMenuItem[]{ new ExpectedTextMenuItem("Pass&word", true, false, new ExpectedMenuItem[]{
new ExpectedTextMenuItem("&Change...", true, false ), new ExpectedTextMenuItem("&Change...", true, false ),
new ExpectedTextMenuItem("&Forget Password", false, false )}), new ExpectedTextMenuItem("&Forget Password", false, false )}),
@ -1476,7 +1488,8 @@ namespace XenAdminTests.TabsAndMenus
new ExpectedTextMenuItem("Restore From Back&up...", true, false ), new ExpectedTextMenuItem("Restore From Back&up...", true, false ),
new ExpectedSeparator(), new ExpectedSeparator(),
new ExpectedTextMenuItem("Enter &Maintenance Mode...", true, false ), new ExpectedTextMenuItem("Enter &Maintenance Mode...", true, false ),
new ExpectedTextMenuItem("Remove Crash &Dump Files", false, false ), new ExpectedTextMenuItem("Control &Domain Memory...", false, false ),
new ExpectedTextMenuItem("Remove Crash Dump &Files", false, false ),
new ExpectedTextMenuItem("Pass&word", true, false, new ExpectedMenuItem[]{ new ExpectedTextMenuItem("Pass&word", true, false, new ExpectedMenuItem[]{
new ExpectedTextMenuItem("&Change...", true, false ), new ExpectedTextMenuItem("&Change...", true, false ),
new ExpectedTextMenuItem("&Forget Password", false, false )}), new ExpectedTextMenuItem("&Forget Password", false, false )}),
@ -1587,7 +1600,8 @@ namespace XenAdminTests.TabsAndMenus
new ExpectedTextMenuItem("Restore From Back&up...", false, false ), new ExpectedTextMenuItem("Restore From Back&up...", false, false ),
new ExpectedSeparator(), new ExpectedSeparator(),
new ExpectedTextMenuItem("Enter &Maintenance Mode...", true, false ), new ExpectedTextMenuItem("Enter &Maintenance Mode...", true, false ),
new ExpectedTextMenuItem("Remove Crash &Dump Files", false, false ), new ExpectedTextMenuItem("Control &Domain Memory...", false, false ),
new ExpectedTextMenuItem("Remove Crash Dump &Files", false, false ),
new ExpectedTextMenuItem("Pass&word", false, false, new ExpectedMenuItem[]{ new ExpectedTextMenuItem("Pass&word", false, false, new ExpectedMenuItem[]{
new ExpectedTextMenuItem("&Change...", false, false ), new ExpectedTextMenuItem("&Change...", false, false ),
new ExpectedTextMenuItem("&Forget Password", false, false )}), new ExpectedTextMenuItem("&Forget Password", false, false )}),
@ -1726,7 +1740,8 @@ namespace XenAdminTests.TabsAndMenus
new ExpectedTextMenuItem("Restore From Back&up...", false, false ), new ExpectedTextMenuItem("Restore From Back&up...", false, false ),
new ExpectedSeparator(), new ExpectedSeparator(),
new ExpectedTextMenuItem("Enter &Maintenance Mode...", true, false ), new ExpectedTextMenuItem("Enter &Maintenance Mode...", true, false ),
new ExpectedTextMenuItem("Remove Crash &Dump Files", false, false ), new ExpectedTextMenuItem("Control &Domain Memory...", false, false ),
new ExpectedTextMenuItem("Remove Crash Dump &Files", false, false ),
new ExpectedTextMenuItem("Pass&word", false, false, new ExpectedMenuItem[]{ new ExpectedTextMenuItem("Pass&word", false, false, new ExpectedMenuItem[]{
new ExpectedTextMenuItem("&Change...", false, false ), new ExpectedTextMenuItem("&Change...", false, false ),
new ExpectedTextMenuItem("&Forget Password", false, false )}), new ExpectedTextMenuItem("&Forget Password", false, false )}),
@ -1851,7 +1866,8 @@ namespace XenAdminTests.TabsAndMenus
new ExpectedTextMenuItem("Restore From Back&up...", false, false ), new ExpectedTextMenuItem("Restore From Back&up...", false, false ),
new ExpectedSeparator(), new ExpectedSeparator(),
new ExpectedTextMenuItem("Enter &Maintenance Mode...", false, false ), new ExpectedTextMenuItem("Enter &Maintenance Mode...", false, false ),
new ExpectedTextMenuItem("Remove Crash &Dump Files", false, false ), new ExpectedTextMenuItem("Control &Domain Memory...", false, false ),
new ExpectedTextMenuItem("Remove Crash Dump &Files", false, false ),
new ExpectedTextMenuItem("Pass&word", false, false, new ExpectedMenuItem[]{ new ExpectedTextMenuItem("Pass&word", false, false, new ExpectedMenuItem[]{
new ExpectedTextMenuItem("&Change...", false, false ), new ExpectedTextMenuItem("&Change...", false, false ),
new ExpectedTextMenuItem("&Forget Password", false, false )}), new ExpectedTextMenuItem("&Forget Password", false, false )}),

View File

@ -0,0 +1,65 @@
/* Copyright (c) Citrix Systems Inc.
* 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.
*
* 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 XenAPI;
using XenAdmin.Actions.VMActions;
namespace XenAdmin.Actions
{
public class ChangeControlDomainMemoryAction : AsyncAction
{
long memory;
public ChangeControlDomainMemoryAction(Host host, long memory, bool suppressHistory)
: base(host.Connection, string.Format(Messages.ACTION_CHANGE_CONTROL_DOMAIN_MEMORY, host.Name), suppressHistory)
{
Host = host;
this.memory = memory;
#region RBAC Dependencies
ApiMethodsToRoleCheck.Add("vm.set_memory");
#endregion
}
protected override void Run()
{
VM vm = Host.ControlDomainZero;
XenAPI.VM.set_memory(Session, vm.opaque_ref, memory);
Description = Messages.COMPLETED;
}
}
}

View File

@ -1,7 +1,7 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
// Runtime Version:4.0.30319.42000 // Runtime Version:4.0.30319.34209
// //
// Changes to this file may cause incorrect behavior and will be lost if // Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated. // the code is regenerated.
@ -78,6 +78,15 @@ namespace XenAdmin {
} }
} }
/// <summary>
/// Looks up a localized string similar to Changing control domain memory settings on &apos;{0}&apos;.
/// </summary>
public static string ACTION_CHANGE_CONTROL_DOMAIN_MEMORY {
get {
return ResourceManager.GetString("ACTION_CHANGE_CONTROL_DOMAIN_MEMORY", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to Change disk size. /// Looks up a localized string similar to Change disk size.
/// </summary> /// </summary>
@ -6912,6 +6921,17 @@ namespace XenAdmin {
} }
} }
/// <summary>
/// Looks up a localized string similar to Changing the Control Domain memory will cause the server to be rebooted.
///
///Do you want to continue?.
/// </summary>
public static string CONFIRM_CHANGE_CONTROL_DOMAIN_MEMORY {
get {
return ResourceManager.GetString("CONFIRM_CHANGE_CONTROL_DOMAIN_MEMORY", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to Changing the maximum memory of these VMs will cause them to be rebooted. /// Looks up a localized string similar to Changing the maximum memory of these VMs will cause them to be rebooted.
/// ///
@ -8281,6 +8301,24 @@ namespace XenAdmin {
} }
} }
/// <summary>
/// Looks up a localized string similar to Control Domain Memory Settings - {0}.
/// </summary>
public static string CONTROL_DOMAIN_MEMORY_DIALOG_TITLE {
get {
return ResourceManager.GetString("CONTROL_DOMAIN_MEMORY_DIALOG_TITLE", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to &amp;Control Domain Memory:.
/// </summary>
public static string CONTROL_DOMAIN_MEMORY_LABEL {
get {
return ResourceManager.GetString("CONTROL_DOMAIN_MEMORY_LABEL", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to &amp;Convert. /// Looks up a localized string similar to &amp;Convert.
/// </summary> /// </summary>
@ -17037,6 +17075,15 @@ namespace XenAdmin {
} }
} }
/// <summary>
/// Looks up a localized string similar to Control &amp;Domain Memory....
/// </summary>
public static string HOST_MENU_CONTROL_DOMAIN_MEMORY {
get {
return ResourceManager.GetString("HOST_MENU_CONTROL_DOMAIN_MEMORY", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to &amp;Migrate VM wizard.... /// Looks up a localized string similar to &amp;Migrate VM wizard....
/// </summary> /// </summary>
@ -20459,7 +20506,7 @@ namespace XenAdmin {
} }
/// <summary> /// <summary>
/// Looks up a localized string similar to Remove Crash &amp;Dump Files. /// Looks up a localized string similar to Remove Crash Dump &amp;Files.
/// </summary> /// </summary>
public static string MAINWINDOW_REMOVE_HOST_CRASHDUMPS { public static string MAINWINDOW_REMOVE_HOST_CRASHDUMPS {
get { get {
@ -27234,11 +27281,11 @@ namespace XenAdmin {
} }
/// <summary> /// <summary>
/// Looks up a localized string similar to PVS Farms - &apos;{0}&apos;. /// Looks up a localized string similar to PVS Sites - &apos;{0}&apos;.
/// </summary> /// </summary>
public static string PVS_FARM_DIALOG_TITLE { public static string PVS_SITE_DIALOG_TITLE {
get { get {
return ResourceManager.GetString("PVS_FARM_DIALOG_TITLE", resourceCulture); return ResourceManager.GetString("PVS_SITE_DIALOG_TITLE", resourceCulture);
} }
} }

View File

@ -9429,8 +9429,8 @@ VM が再起動したら、[[XenServer product] Tools のインストール] を
<data name="PROXY_SERVERS_NOT_SUPPORTED" xml:space="preserve"> <data name="PROXY_SERVERS_NOT_SUPPORTED" xml:space="preserve">
<value>プロキシ サーバーはサポートされません。</value> <value>プロキシ サーバーはサポートされません。</value>
</data> </data>
<data name="PVS_FARM_DIALOG_TITLE" xml:space="preserve"> <data name="PVS_SITE_DIALOG_TITLE" xml:space="preserve">
<value>PVS Farms - '{0}'</value> <value>PVS Sites - '{0}'</value>
</data> </data>
<data name="PV_DRIVERS_NOT_INSTALLED" xml:space="preserve"> <data name="PV_DRIVERS_NOT_INSTALLED" xml:space="preserve">
<value>[XenServer product] Tools 未インストール</value> <value>[XenServer product] Tools 未インストール</value>

View File

@ -126,6 +126,9 @@
<data name="ACTION_CHANGED_DISK_SIZE_FOR" xml:space="preserve"> <data name="ACTION_CHANGED_DISK_SIZE_FOR" xml:space="preserve">
<value>Disk size changed for '{0}'.</value> <value>Disk size changed for '{0}'.</value>
</data> </data>
<data name="ACTION_CHANGE_CONTROL_DOMAIN_MEMORY" xml:space="preserve">
<value>Changing control domain memory settings on '{0}'</value>
</data>
<data name="ACTION_CHANGE_DISK_SIZE" xml:space="preserve"> <data name="ACTION_CHANGE_DISK_SIZE" xml:space="preserve">
<value>Change disk size</value> <value>Change disk size</value>
</data> </data>
@ -2511,6 +2514,11 @@ Do you want to assign it to the policy '{2}' instead?</value>
<data name="CONFIGURING_WLB_ON" xml:space="preserve"> <data name="CONFIGURING_WLB_ON" xml:space="preserve">
<value>Configuring Workload Balancing on pool '{0}'</value> <value>Configuring Workload Balancing on pool '{0}'</value>
</data> </data>
<data name="CONFIRM_CHANGE_CONTROL_DOMAIN_MEMORY" xml:space="preserve">
<value>Changing the Control Domain memory will cause the server to be rebooted.
Do you want to continue?</value>
</data>
<data name="CONFIRM_CHANGE_MEMORY_MAX_PLURAL" xml:space="preserve"> <data name="CONFIRM_CHANGE_MEMORY_MAX_PLURAL" xml:space="preserve">
<value>Changing the maximum memory of these VMs will cause them to be rebooted. <value>Changing the maximum memory of these VMs will cause them to be rebooted.
@ -3009,6 +3017,12 @@ You can only connect to a single [Citrix] [XenServer product] Express Edition se
<data name="CONTINUE_WITH_EXPORT" xml:space="preserve"> <data name="CONTINUE_WITH_EXPORT" xml:space="preserve">
<value>&amp;Continue with export</value> <value>&amp;Continue with export</value>
</data> </data>
<data name="CONTROL_DOMAIN_MEMORY_DIALOG_TITLE" xml:space="preserve">
<value>Control Domain Memory Settings - {0}</value>
</data>
<data name="CONTROL_DOMAIN_MEMORY_LABEL" xml:space="preserve">
<value>&amp;Control Domain Memory:</value>
</data>
<data name="CONTROL_DOM_ON_HOST" xml:space="preserve"> <data name="CONTROL_DOM_ON_HOST" xml:space="preserve">
<value>Control domain on host {0}</value> <value>Control domain on host {0}</value>
</data> </data>
@ -6003,6 +6017,9 @@ Click Configure HA to alter the settings displayed below.</value>
<data name="HOST_MENU_COMPLETE_FAILURE" xml:space="preserve"> <data name="HOST_MENU_COMPLETE_FAILURE" xml:space="preserve">
<value>(Error generating menu)</value> <value>(Error generating menu)</value>
</data> </data>
<data name="HOST_MENU_CONTROL_DOMAIN_MEMORY" xml:space="preserve">
<value>Control &amp;Domain Memory...</value>
</data>
<data name="HOST_MENU_CPM_TEXT" xml:space="preserve"> <data name="HOST_MENU_CPM_TEXT" xml:space="preserve">
<value>&amp;Migrate VM wizard...</value> <value>&amp;Migrate VM wizard...</value>
</data> </data>
@ -7134,7 +7151,7 @@ This will permanently delete and reinitialize all local storage on the servers.
<value>Remo&amp;ve from [XenCenter]</value> <value>Remo&amp;ve from [XenCenter]</value>
</data> </data>
<data name="MAINWINDOW_REMOVE_HOST_CRASHDUMPS" xml:space="preserve"> <data name="MAINWINDOW_REMOVE_HOST_CRASHDUMPS" xml:space="preserve">
<value>Remove Crash &amp;Dump Files</value> <value>Remove Crash Dump &amp;Files</value>
</data> </data>
<data name="MAINWINDOW_REMOVE_HOST_CRASHDUMPS_CONTEXT_MENU" xml:space="preserve"> <data name="MAINWINDOW_REMOVE_HOST_CRASHDUMPS_CONTEXT_MENU" xml:space="preserve">
<value>Remove Crash Dump &amp;Files</value> <value>Remove Crash Dump &amp;Files</value>
@ -9477,8 +9494,8 @@ Press OK to continue the wizard and return to the server and follow the instruct
<data name="PVS_CACHE_MEMORY_ONLY" xml:space="preserve"> <data name="PVS_CACHE_MEMORY_ONLY" xml:space="preserve">
<value>Memory only</value> <value>Memory only</value>
</data> </data>
<data name="PVS_FARM_DIALOG_TITLE" xml:space="preserve"> <data name="PVS_SITE_DIALOG_TITLE" xml:space="preserve">
<value>PVS Farms - '{0}'</value> <value>PVS Sites - '{0}'</value>
</data> </data>
<data name="PVS_TAB_TITLE" xml:space="preserve"> <data name="PVS_TAB_TITLE" xml:space="preserve">
<value>PVS Read Cache</value> <value>PVS Read Cache</value>

View File

@ -9428,8 +9428,8 @@ VM 克隆使用文件管理器的快照和克隆功能来实现高性能,并
<data name="PROXY_SERVERS_NOT_SUPPORTED" xml:space="preserve"> <data name="PROXY_SERVERS_NOT_SUPPORTED" xml:space="preserve">
<value>不支持代理服务器。</value> <value>不支持代理服务器。</value>
</data> </data>
<data name="PVS_FARM_DIALOG_TITLE" xml:space="preserve"> <data name="PVS_SITE_DIALOG_TITLE" xml:space="preserve">
<value>PVS Farms - '{0}'</value> <value>PVS Sites - '{0}'</value>
</data> </data>
<data name="PV_DRIVERS_NOT_INSTALLED" xml:space="preserve"> <data name="PV_DRIVERS_NOT_INSTALLED" xml:space="preserve">
<value>未安装 [XenServer product] Tools</value> <value>未安装 [XenServer product] Tools</value>

View File

@ -67,9 +67,10 @@ namespace XenAdmin.Network
private readonly ChangeableDictionary<XenRef<PIF_metrics>, PIF_metrics> _pif_metrics = new ChangeableDictionary<XenRef<PIF_metrics>, PIF_metrics>(); private readonly ChangeableDictionary<XenRef<PIF_metrics>, PIF_metrics> _pif_metrics = new ChangeableDictionary<XenRef<PIF_metrics>, PIF_metrics>();
private readonly ChangeableDictionary<XenRef<Pool>, Pool> _pool = new ChangeableDictionary<XenRef<Pool>, Pool>(); private readonly ChangeableDictionary<XenRef<Pool>, Pool> _pool = new ChangeableDictionary<XenRef<Pool>, Pool>();
private readonly ChangeableDictionary<XenRef<Pool_patch>, Pool_patch> _pool_patch = new ChangeableDictionary<XenRef<Pool_patch>, Pool_patch>(); private readonly ChangeableDictionary<XenRef<Pool_patch>, Pool_patch> _pool_patch = new ChangeableDictionary<XenRef<Pool_patch>, Pool_patch>();
private readonly ChangeableDictionary<XenRef<PVS_farm>, PVS_farm> _pvs_farm = new ChangeableDictionary<XenRef<PVS_farm>, PVS_farm>(); private readonly ChangeableDictionary<XenRef<PVS_cache_storage>, PVS_cache_storage> _pvs_cache_storage = new ChangeableDictionary<XenRef<PVS_cache_storage>, PVS_cache_storage>();
private readonly ChangeableDictionary<XenRef<PVS_server>, PVS_server> _pvs_server = new ChangeableDictionary<XenRef<PVS_server>, PVS_server>();
private readonly ChangeableDictionary<XenRef<PVS_proxy>, PVS_proxy> _pvs_proxy = new ChangeableDictionary<XenRef<PVS_proxy>, PVS_proxy>(); private readonly ChangeableDictionary<XenRef<PVS_proxy>, PVS_proxy> _pvs_proxy = new ChangeableDictionary<XenRef<PVS_proxy>, PVS_proxy>();
private readonly ChangeableDictionary<XenRef<PVS_server>, PVS_server> _pvs_server = new ChangeableDictionary<XenRef<PVS_server>, PVS_server>();
private readonly ChangeableDictionary<XenRef<PVS_site>, PVS_site> _pvs_site = new ChangeableDictionary<XenRef<PVS_site>, PVS_site>();
private readonly ChangeableDictionary<XenRef<Role>, Role> _role = new ChangeableDictionary<XenRef<Role>, Role>(); private readonly ChangeableDictionary<XenRef<Role>, Role> _role = new ChangeableDictionary<XenRef<Role>, Role>();
private readonly ChangeableDictionary<XenRef<SM>, SM> _sm = new ChangeableDictionary<XenRef<SM>, SM>(); private readonly ChangeableDictionary<XenRef<SM>, SM> _sm = new ChangeableDictionary<XenRef<SM>, SM>();
private readonly ChangeableDictionary<XenRef<SR>, SR> _sr = new ChangeableDictionary<XenRef<SR>, SR>(); private readonly ChangeableDictionary<XenRef<SR>, SR> _sr = new ChangeableDictionary<XenRef<SR>, SR>();
@ -193,9 +194,9 @@ namespace XenAdmin.Network
get { return contents(_pool_patch); } get { return contents(_pool_patch); }
} }
public PVS_farm[] PVS_farms public PVS_site[] PVS_sites
{ {
get { return contents(_pvs_farm); } get { return contents(_pvs_site); }
} }
public PVS_server[] PVS_servers public PVS_server[] PVS_servers

View File

@ -82,7 +82,7 @@ namespace XenAdmin.Network
VM[] VMs { get; } VM[] VMs { get; }
IEnumerable<IXenObject> XenSearchableObjects { get; } IEnumerable<IXenObject> XenSearchableObjects { get; }
DockerContainer[] DockerContainers { get; } DockerContainer[] DockerContainers { get; }
PVS_farm[] PVS_farms { get; } PVS_site[] PVS_sites { get; }
PVS_server[] PVS_servers { get; } PVS_server[] PVS_servers { get; }
PVS_proxy[] PVS_proxies { get; } PVS_proxy[] PVS_proxies { get; }
void UpdateDockerContainersForVM(IList<DockerContainer> d, VM v); void UpdateDockerContainersForVM(IList<DockerContainer> d, VM v);

View File

@ -402,6 +402,25 @@ namespace XenAdmin.Core
HostBuildNumber(host) == CUSTOM_BUILD_NUMBER; HostBuildNumber(host) == CUSTOM_BUILD_NUMBER;
} }
/// <param name="conn">May be null, in which case true is returned.</param>
public static bool ElyOrGreater(IXenConnection conn)
{
return conn == null ? true : ElyOrGreater(Helpers.GetMaster(conn));
}
/// Ely is ver. 2.1.1
/// <param name="host">May be null, in which case true is returned.</param>
public static bool ElyOrGreater(Host host)
{
if (host == null)
return true;
string platform_version = HostPlatformVersion(host);
return
platform_version != null && productVersionCompare(platform_version, "2.1.1") >= 0 ||
HostBuildNumber(host) == CUSTOM_BUILD_NUMBER;
}
/// <summary> /// <summary>
/// Cream (Creedence SP1) has API version 2.4 /// Cream (Creedence SP1) has API version 2.4
/// </summary> /// </summary>

View File

@ -1249,6 +1249,22 @@ namespace XenAPI
} }
} }
public long dom0_memory
{
get
{
long dom0_mem = 0;
VM vm = ControlDomainZero;
if (vm != null)
{
VM_metrics vmMetrics = vm.Connection.Resolve(vm.metrics);
dom0_mem = vmMetrics != null ? vmMetrics.memory_actual : vm.memory_dynamic_min;
}
return dom0_mem;
}
}
/// <summary> /// <summary>
/// Friendly string showing memory usage on the host /// Friendly string showing memory usage on the host
/// </summary> /// </summary>

View File

@ -1,40 +1,40 @@
/* /*
* Copyright (c) Citrix Systems, Inc. * Copyright (c) Citrix Systems, Inc.
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions * modification, are permitted provided that the following conditions
* are met: * are met:
* *
* 1) Redistributions of source code must retain the above copyright * 1) Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer. * notice, this list of conditions and the following disclaimer.
* *
* 2) Redistributions in binary form must reproduce the above * 2) Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following * copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials * disclaimer in the documentation and/or other materials
* provided with the distribution. * provided with the distribution.
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE. * OF THE POSSIBILITY OF SUCH DAMAGE.
*/ */
namespace XenAPI namespace XenAPI
{ {
public partial class PVS_farm : XenObject<PVS_farm> public partial class PVS_site : XenObject<PVS_site>
{ {
public override string Name public override string Name
{ {
get { return name; } get { return name; }
} }
} }
} }

View File

@ -861,17 +861,17 @@
<data name="PROVISION_ONLY_ALLOWED_ON_TEMPLATE" xml:space="preserve"> <data name="PROVISION_ONLY_ALLOWED_ON_TEMPLATE" xml:space="preserve">
<value>The provision call can only be invoked on templates, not regular VMs.</value> <value>The provision call can only be invoked on templates, not regular VMs.</value>
</data> </data>
<data name="PVS_FARM_CONTAINS_RUNNING_PROXIES" xml:space="preserve"> <data name="PVS_SITE_CONTAINS_RUNNING_PROXIES" xml:space="preserve">
<value>The PVS farm contains running proxies.</value> <value>The PVS site contains running proxies.</value>
</data> </data>
<data name="PVS_FARM_CONTAINS_SERVERS" xml:space="preserve"> <data name="PVS_SITE_CONTAINS_SERVERS" xml:space="preserve">
<value>The PVS farm contains servers and cannot be forgotten.</value> <value>The PVS site contains servers and cannot be forgotten.</value>
</data> </data>
<data name="PVS_FARM_SR_ALREADY_ADDED" xml:space="preserve"> <data name="PVS_SITE_SR_ALREADY_ADDED" xml:space="preserve">
<value>Trying to add a cache SR that is already associated with the farm</value> <value>Trying to add a cache SR that is already associated with the site</value>
</data> </data>
<data name="PVS_FARM_SR_IS_IN_USE" xml:space="preserve"> <data name="PVS_SITE_SR_IS_IN_USE" xml:space="preserve">
<value>The SR is in use by the farm and cannot be removed.</value> <value>The SR is in use by the site and cannot be removed.</value>
</data> </data>
<data name="RBAC_PERMISSION_DENIED" xml:space="preserve"> <data name="RBAC_PERMISSION_DENIED" xml:space="preserve">
<value>Your current role is not authorized to perform this action. <value>Your current role is not authorized to perform this action.
@ -1526,8 +1526,8 @@ Authorized Roles: {1}</value>
<data name="SR_NOT_EMPTY" xml:space="preserve"> <data name="SR_NOT_EMPTY" xml:space="preserve">
<value>The SR operation cannot be performed because the SR is not empty.</value> <value>The SR operation cannot be performed because the SR is not empty.</value>
</data> </data>
<data name="SR_NOT_IN_PVS_FARM" xml:space="preserve"> <data name="SR_NOT_IN_PVS_SITE" xml:space="preserve">
<value>The SR is not associated with the farm.</value> <value>The SR is not associated with the site.</value>
</data> </data>
<data name="SR_NOT_SHARABLE" xml:space="preserve"> <data name="SR_NOT_SHARABLE" xml:space="preserve">
<value>SR is not sharable</value> <value>SR is not sharable</value>
@ -1697,6 +1697,9 @@ Authorized Roles: {1}</value>
<data name="VIF_NOT_IN_MAP" xml:space="preserve"> <data name="VIF_NOT_IN_MAP" xml:space="preserve">
<value>This VIF was not mapped to a destination network</value> <value>This VIF was not mapped to a destination network</value>
</data> </data>
<data name="VLAN_IN_USE" xml:space="preserve">
<value>Operation cannot be performed because this VLAN is already in use. Please check your network configuration.</value>
</data>
<data name="VLAN_TAG_INVALID" xml:space="preserve"> <data name="VLAN_TAG_INVALID" xml:space="preserve">
<value>You tried to create a VLAN, but the tag you gave ({0}) was invalid -- it must be between 0 and 4094.</value> <value>You tried to create a VLAN, but the tag you gave ({0}) was invalid -- it must be between 0 and 4094.</value>
</data> </data>
@ -1772,6 +1775,9 @@ Authorized Roles: {1}</value>
<data name="VM_INCOMPATIBLE_WITH_THIS_HOST" xml:space="preserve"> <data name="VM_INCOMPATIBLE_WITH_THIS_HOST" xml:space="preserve">
<value>The host does not have some of the CPU features that the VM is currently using</value> <value>The host does not have some of the CPU features that the VM is currently using</value>
</data> </data>
<data name="VM_IS_IMMOBILE" xml:space="preserve">
<value>The VM is configured in a way that prevents it from being mobile.</value>
</data>
<data name="VM_IS_PART_OF_AN_APPLIANCE" xml:space="preserve"> <data name="VM_IS_PART_OF_AN_APPLIANCE" xml:space="preserve">
<value>The VM cannot be recovered on its own as it is part of a VM appliance.</value> <value>The VM cannot be recovered on its own as it is part of a VM appliance.</value>
</data> </data>

View File

@ -0,0 +1,319 @@
/*
* Copyright (c) Citrix Systems, Inc.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1) Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2) 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.
*
* 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.Collections;
using System.Collections.Generic;
using CookComputing.XmlRpc;
namespace XenAPI
{
/// <summary>
/// Describes the storage that is available to a PVS site for caching purposes
/// </summary>
public partial class PVS_cache_storage : XenObject<PVS_cache_storage>
{
public PVS_cache_storage()
{
}
public PVS_cache_storage(string uuid,
XenRef<PVS_site> site,
XenRef<SR> SR,
long size)
{
this.uuid = uuid;
this.site = site;
this.SR = SR;
this.size = size;
}
/// <summary>
/// Creates a new PVS_cache_storage from a Proxy_PVS_cache_storage.
/// </summary>
/// <param name="proxy"></param>
public PVS_cache_storage(Proxy_PVS_cache_storage proxy)
{
this.UpdateFromProxy(proxy);
}
public override void UpdateFrom(PVS_cache_storage update)
{
uuid = update.uuid;
site = update.site;
SR = update.SR;
size = update.size;
}
internal void UpdateFromProxy(Proxy_PVS_cache_storage proxy)
{
uuid = proxy.uuid == null ? null : (string)proxy.uuid;
site = proxy.site == null ? null : XenRef<PVS_site>.Create(proxy.site);
SR = proxy.SR == null ? null : XenRef<SR>.Create(proxy.SR);
size = proxy.size == null ? 0 : long.Parse((string)proxy.size);
}
public Proxy_PVS_cache_storage ToProxy()
{
Proxy_PVS_cache_storage result_ = new Proxy_PVS_cache_storage();
result_.uuid = (uuid != null) ? uuid : "";
result_.site = (site != null) ? site : "";
result_.SR = (SR != null) ? SR : "";
result_.size = size.ToString();
return result_;
}
/// <summary>
/// Creates a new PVS_cache_storage from a Hashtable.
/// </summary>
/// <param name="table"></param>
public PVS_cache_storage(Hashtable table)
{
uuid = Marshalling.ParseString(table, "uuid");
site = Marshalling.ParseRef<PVS_site>(table, "site");
SR = Marshalling.ParseRef<SR>(table, "SR");
size = Marshalling.ParseLong(table, "size");
}
public bool DeepEquals(PVS_cache_storage other)
{
if (ReferenceEquals(null, other))
return false;
if (ReferenceEquals(this, other))
return true;
return Helper.AreEqual2(this._uuid, other._uuid) &&
Helper.AreEqual2(this._site, other._site) &&
Helper.AreEqual2(this._SR, other._SR) &&
Helper.AreEqual2(this._size, other._size);
}
public override string SaveChanges(Session session, string opaqueRef, PVS_cache_storage server)
{
if (opaqueRef == null)
{
Proxy_PVS_cache_storage p = this.ToProxy();
return session.proxy.pvs_cache_storage_create(session.uuid, p).parse();
}
else
{
throw new InvalidOperationException("This type has no read/write properties");
}
}
/// <summary>
/// Get a record containing the current state of the given PVS_cache_storage.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_cache_storage">The opaque_ref of the given pvs_cache_storage</param>
public static PVS_cache_storage get_record(Session session, string _pvs_cache_storage)
{
return new PVS_cache_storage((Proxy_PVS_cache_storage)session.proxy.pvs_cache_storage_get_record(session.uuid, (_pvs_cache_storage != null) ? _pvs_cache_storage : "").parse());
}
/// <summary>
/// Get a reference to the PVS_cache_storage instance with the specified UUID.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_uuid">UUID of object to return</param>
public static XenRef<PVS_cache_storage> get_by_uuid(Session session, string _uuid)
{
return XenRef<PVS_cache_storage>.Create(session.proxy.pvs_cache_storage_get_by_uuid(session.uuid, (_uuid != null) ? _uuid : "").parse());
}
/// <summary>
/// Create a new PVS_cache_storage instance, and return its handle.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_record">All constructor arguments</param>
public static XenRef<PVS_cache_storage> create(Session session, PVS_cache_storage _record)
{
return XenRef<PVS_cache_storage>.Create(session.proxy.pvs_cache_storage_create(session.uuid, _record.ToProxy()).parse());
}
/// <summary>
/// Create a new PVS_cache_storage instance, and return its handle.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_record">All constructor arguments</param>
public static XenRef<Task> async_create(Session session, PVS_cache_storage _record)
{
return XenRef<Task>.Create(session.proxy.async_pvs_cache_storage_create(session.uuid, _record.ToProxy()).parse());
}
/// <summary>
/// Destroy the specified PVS_cache_storage instance.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_cache_storage">The opaque_ref of the given pvs_cache_storage</param>
public static void destroy(Session session, string _pvs_cache_storage)
{
session.proxy.pvs_cache_storage_destroy(session.uuid, (_pvs_cache_storage != null) ? _pvs_cache_storage : "").parse();
}
/// <summary>
/// Destroy the specified PVS_cache_storage instance.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_cache_storage">The opaque_ref of the given pvs_cache_storage</param>
public static XenRef<Task> async_destroy(Session session, string _pvs_cache_storage)
{
return XenRef<Task>.Create(session.proxy.async_pvs_cache_storage_destroy(session.uuid, (_pvs_cache_storage != null) ? _pvs_cache_storage : "").parse());
}
/// <summary>
/// Get the uuid field of the given PVS_cache_storage.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_cache_storage">The opaque_ref of the given pvs_cache_storage</param>
public static string get_uuid(Session session, string _pvs_cache_storage)
{
return (string)session.proxy.pvs_cache_storage_get_uuid(session.uuid, (_pvs_cache_storage != null) ? _pvs_cache_storage : "").parse();
}
/// <summary>
/// Get the site field of the given PVS_cache_storage.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_cache_storage">The opaque_ref of the given pvs_cache_storage</param>
public static XenRef<PVS_site> get_site(Session session, string _pvs_cache_storage)
{
return XenRef<PVS_site>.Create(session.proxy.pvs_cache_storage_get_site(session.uuid, (_pvs_cache_storage != null) ? _pvs_cache_storage : "").parse());
}
/// <summary>
/// Get the SR field of the given PVS_cache_storage.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_cache_storage">The opaque_ref of the given pvs_cache_storage</param>
public static XenRef<SR> get_SR(Session session, string _pvs_cache_storage)
{
return XenRef<SR>.Create(session.proxy.pvs_cache_storage_get_sr(session.uuid, (_pvs_cache_storage != null) ? _pvs_cache_storage : "").parse());
}
/// <summary>
/// Get the size field of the given PVS_cache_storage.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_cache_storage">The opaque_ref of the given pvs_cache_storage</param>
public static long get_size(Session session, string _pvs_cache_storage)
{
return long.Parse((string)session.proxy.pvs_cache_storage_get_size(session.uuid, (_pvs_cache_storage != null) ? _pvs_cache_storage : "").parse());
}
/// <summary>
/// Unique identifier/object reference
/// Experimental. First published in .
/// </summary>
public virtual string uuid
{
get { return _uuid; }
set
{
if (!Helper.AreEqual(value, _uuid))
{
_uuid = value;
Changed = true;
NotifyPropertyChanged("uuid");
}
}
}
private string _uuid;
/// <summary>
/// PVS site this proxy is part of
/// Experimental. First published in .
/// </summary>
public virtual XenRef<PVS_site> site
{
get { return _site; }
set
{
if (!Helper.AreEqual(value, _site))
{
_site = value;
Changed = true;
NotifyPropertyChanged("site");
}
}
}
private XenRef<PVS_site> _site;
/// <summary>
/// SR providing storage for the PVS cache
/// Experimental. First published in .
/// </summary>
public virtual XenRef<SR> SR
{
get { return _SR; }
set
{
if (!Helper.AreEqual(value, _SR))
{
_SR = value;
Changed = true;
NotifyPropertyChanged("SR");
}
}
}
private XenRef<SR> _SR;
/// <summary>
/// The size of the cache VDI (in bytes)
/// Experimental. First published in .
/// </summary>
public virtual long size
{
get { return _size; }
set
{
if (!Helper.AreEqual(value, _size))
{
_size = value;
Changed = true;
NotifyPropertyChanged("size");
}
}
}
private long _size;
}
}

View File

@ -1,445 +1,445 @@
/* /*
* Copyright (c) Citrix Systems, Inc. * Copyright (c) Citrix Systems, Inc.
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions * modification, are permitted provided that the following conditions
* are met: * are met:
* *
* 1) Redistributions of source code must retain the above copyright * 1) Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer. * notice, this list of conditions and the following disclaimer.
* *
* 2) Redistributions in binary form must reproduce the above * 2) Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following * copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials * disclaimer in the documentation and/or other materials
* provided with the distribution. * provided with the distribution.
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE. * OF THE POSSIBILITY OF SUCH DAMAGE.
*/ */
using System; using System;
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using CookComputing.XmlRpc; using CookComputing.XmlRpc;
namespace XenAPI namespace XenAPI
{ {
/// <summary> /// <summary>
/// a proxy connects a VM/VIF with a PVS farm /// a proxy connects a VM/VIF with a PVS site
/// </summary> /// </summary>
public partial class PVS_proxy : XenObject<PVS_proxy> public partial class PVS_proxy : XenObject<PVS_proxy>
{ {
public PVS_proxy() public PVS_proxy()
{ {
} }
public PVS_proxy(string uuid, public PVS_proxy(string uuid,
XenRef<PVS_farm> farm, XenRef<PVS_site> site,
XenRef<VIF> VIF, XenRef<VIF> VIF,
bool prepopulate, bool prepopulate,
bool currently_attached, bool currently_attached,
XenRef<SR> cache_SR) XenRef<SR> cache_SR)
{ {
this.uuid = uuid; this.uuid = uuid;
this.farm = farm; this.site = site;
this.VIF = VIF; this.VIF = VIF;
this.prepopulate = prepopulate; this.prepopulate = prepopulate;
this.currently_attached = currently_attached; this.currently_attached = currently_attached;
this.cache_SR = cache_SR; this.cache_SR = cache_SR;
} }
/// <summary> /// <summary>
/// Creates a new PVS_proxy from a Proxy_PVS_proxy. /// Creates a new PVS_proxy from a Proxy_PVS_proxy.
/// </summary> /// </summary>
/// <param name="proxy"></param> /// <param name="proxy"></param>
public PVS_proxy(Proxy_PVS_proxy proxy) public PVS_proxy(Proxy_PVS_proxy proxy)
{ {
this.UpdateFromProxy(proxy); this.UpdateFromProxy(proxy);
} }
public override void UpdateFrom(PVS_proxy update) public override void UpdateFrom(PVS_proxy update)
{ {
uuid = update.uuid; uuid = update.uuid;
farm = update.farm; site = update.site;
VIF = update.VIF; VIF = update.VIF;
prepopulate = update.prepopulate; prepopulate = update.prepopulate;
currently_attached = update.currently_attached; currently_attached = update.currently_attached;
cache_SR = update.cache_SR; cache_SR = update.cache_SR;
} }
internal void UpdateFromProxy(Proxy_PVS_proxy proxy) internal void UpdateFromProxy(Proxy_PVS_proxy proxy)
{ {
uuid = proxy.uuid == null ? null : (string)proxy.uuid; uuid = proxy.uuid == null ? null : (string)proxy.uuid;
farm = proxy.farm == null ? null : XenRef<PVS_farm>.Create(proxy.farm); site = proxy.site == null ? null : XenRef<PVS_site>.Create(proxy.site);
VIF = proxy.VIF == null ? null : XenRef<VIF>.Create(proxy.VIF); VIF = proxy.VIF == null ? null : XenRef<VIF>.Create(proxy.VIF);
prepopulate = (bool)proxy.prepopulate; prepopulate = (bool)proxy.prepopulate;
currently_attached = (bool)proxy.currently_attached; currently_attached = (bool)proxy.currently_attached;
cache_SR = proxy.cache_SR == null ? null : XenRef<SR>.Create(proxy.cache_SR); cache_SR = proxy.cache_SR == null ? null : XenRef<SR>.Create(proxy.cache_SR);
} }
public Proxy_PVS_proxy ToProxy() public Proxy_PVS_proxy ToProxy()
{ {
Proxy_PVS_proxy result_ = new Proxy_PVS_proxy(); Proxy_PVS_proxy result_ = new Proxy_PVS_proxy();
result_.uuid = (uuid != null) ? uuid : ""; result_.uuid = (uuid != null) ? uuid : "";
result_.farm = (farm != null) ? farm : ""; result_.site = (site != null) ? site : "";
result_.VIF = (VIF != null) ? VIF : ""; result_.VIF = (VIF != null) ? VIF : "";
result_.prepopulate = prepopulate; result_.prepopulate = prepopulate;
result_.currently_attached = currently_attached; result_.currently_attached = currently_attached;
result_.cache_SR = (cache_SR != null) ? cache_SR : ""; result_.cache_SR = (cache_SR != null) ? cache_SR : "";
return result_; return result_;
} }
/// <summary> /// <summary>
/// Creates a new PVS_proxy from a Hashtable. /// Creates a new PVS_proxy from a Hashtable.
/// </summary> /// </summary>
/// <param name="table"></param> /// <param name="table"></param>
public PVS_proxy(Hashtable table) public PVS_proxy(Hashtable table)
{ {
uuid = Marshalling.ParseString(table, "uuid"); uuid = Marshalling.ParseString(table, "uuid");
farm = Marshalling.ParseRef<PVS_farm>(table, "farm"); site = Marshalling.ParseRef<PVS_site>(table, "site");
VIF = Marshalling.ParseRef<VIF>(table, "VIF"); VIF = Marshalling.ParseRef<VIF>(table, "VIF");
prepopulate = Marshalling.ParseBool(table, "prepopulate"); prepopulate = Marshalling.ParseBool(table, "prepopulate");
currently_attached = Marshalling.ParseBool(table, "currently_attached"); currently_attached = Marshalling.ParseBool(table, "currently_attached");
cache_SR = Marshalling.ParseRef<SR>(table, "cache_SR"); cache_SR = Marshalling.ParseRef<SR>(table, "cache_SR");
} }
public bool DeepEquals(PVS_proxy other) public bool DeepEquals(PVS_proxy other)
{ {
if (ReferenceEquals(null, other)) if (ReferenceEquals(null, other))
return false; return false;
if (ReferenceEquals(this, other)) if (ReferenceEquals(this, other))
return true; return true;
return Helper.AreEqual2(this._uuid, other._uuid) && return Helper.AreEqual2(this._uuid, other._uuid) &&
Helper.AreEqual2(this._farm, other._farm) && Helper.AreEqual2(this._site, other._site) &&
Helper.AreEqual2(this._VIF, other._VIF) && Helper.AreEqual2(this._VIF, other._VIF) &&
Helper.AreEqual2(this._prepopulate, other._prepopulate) && Helper.AreEqual2(this._prepopulate, other._prepopulate) &&
Helper.AreEqual2(this._currently_attached, other._currently_attached) && Helper.AreEqual2(this._currently_attached, other._currently_attached) &&
Helper.AreEqual2(this._cache_SR, other._cache_SR); Helper.AreEqual2(this._cache_SR, other._cache_SR);
} }
public override string SaveChanges(Session session, string opaqueRef, PVS_proxy server) public override string SaveChanges(Session session, string opaqueRef, PVS_proxy server)
{ {
if (opaqueRef == null) if (opaqueRef == null)
{ {
System.Diagnostics.Debug.Assert(false, "Cannot create instances of this type on the server"); System.Diagnostics.Debug.Assert(false, "Cannot create instances of this type on the server");
return ""; return "";
} }
else else
{ {
if (!Helper.AreEqual2(_prepopulate, server._prepopulate)) if (!Helper.AreEqual2(_prepopulate, server._prepopulate))
{ {
PVS_proxy.set_prepopulate(session, opaqueRef, _prepopulate); PVS_proxy.set_prepopulate(session, opaqueRef, _prepopulate);
} }
return null; return null;
} }
} }
/// <summary> /// <summary>
/// Get a record containing the current state of the given PVS_proxy. /// Get a record containing the current state of the given PVS_proxy.
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param> /// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
public static PVS_proxy get_record(Session session, string _pvs_proxy) public static PVS_proxy get_record(Session session, string _pvs_proxy)
{ {
return new PVS_proxy((Proxy_PVS_proxy)session.proxy.pvs_proxy_get_record(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse()); return new PVS_proxy((Proxy_PVS_proxy)session.proxy.pvs_proxy_get_record(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse());
} }
/// <summary> /// <summary>
/// Get a reference to the PVS_proxy instance with the specified UUID. /// Get a reference to the PVS_proxy instance with the specified UUID.
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_uuid">UUID of object to return</param> /// <param name="_uuid">UUID of object to return</param>
public static XenRef<PVS_proxy> get_by_uuid(Session session, string _uuid) public static XenRef<PVS_proxy> get_by_uuid(Session session, string _uuid)
{ {
return XenRef<PVS_proxy>.Create(session.proxy.pvs_proxy_get_by_uuid(session.uuid, (_uuid != null) ? _uuid : "").parse()); return XenRef<PVS_proxy>.Create(session.proxy.pvs_proxy_get_by_uuid(session.uuid, (_uuid != null) ? _uuid : "").parse());
} }
/// <summary> /// <summary>
/// Get the uuid field of the given PVS_proxy. /// Get the uuid field of the given PVS_proxy.
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param> /// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
public static string get_uuid(Session session, string _pvs_proxy) public static string get_uuid(Session session, string _pvs_proxy)
{ {
return (string)session.proxy.pvs_proxy_get_uuid(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse(); return (string)session.proxy.pvs_proxy_get_uuid(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse();
} }
/// <summary> /// <summary>
/// Get the farm field of the given PVS_proxy. /// Get the site field of the given PVS_proxy.
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param> /// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
public static XenRef<PVS_farm> get_farm(Session session, string _pvs_proxy) public static XenRef<PVS_site> get_site(Session session, string _pvs_proxy)
{ {
return XenRef<PVS_farm>.Create(session.proxy.pvs_proxy_get_farm(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse()); return XenRef<PVS_site>.Create(session.proxy.pvs_proxy_get_site(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse());
} }
/// <summary> /// <summary>
/// Get the VIF field of the given PVS_proxy. /// Get the VIF field of the given PVS_proxy.
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param> /// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
public static XenRef<VIF> get_VIF(Session session, string _pvs_proxy) public static XenRef<VIF> get_VIF(Session session, string _pvs_proxy)
{ {
return XenRef<VIF>.Create(session.proxy.pvs_proxy_get_vif(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse()); return XenRef<VIF>.Create(session.proxy.pvs_proxy_get_vif(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse());
} }
/// <summary> /// <summary>
/// Get the prepopulate field of the given PVS_proxy. /// Get the prepopulate field of the given PVS_proxy.
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param> /// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
public static bool get_prepopulate(Session session, string _pvs_proxy) public static bool get_prepopulate(Session session, string _pvs_proxy)
{ {
return (bool)session.proxy.pvs_proxy_get_prepopulate(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse(); return (bool)session.proxy.pvs_proxy_get_prepopulate(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse();
} }
/// <summary> /// <summary>
/// Get the currently_attached field of the given PVS_proxy. /// Get the currently_attached field of the given PVS_proxy.
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param> /// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
public static bool get_currently_attached(Session session, string _pvs_proxy) public static bool get_currently_attached(Session session, string _pvs_proxy)
{ {
return (bool)session.proxy.pvs_proxy_get_currently_attached(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse(); return (bool)session.proxy.pvs_proxy_get_currently_attached(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse();
} }
/// <summary> /// <summary>
/// Get the cache_SR field of the given PVS_proxy. /// Get the cache_SR field of the given PVS_proxy.
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param> /// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
public static XenRef<SR> get_cache_SR(Session session, string _pvs_proxy) public static XenRef<SR> get_cache_SR(Session session, string _pvs_proxy)
{ {
return XenRef<SR>.Create(session.proxy.pvs_proxy_get_cache_sr(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse()); return XenRef<SR>.Create(session.proxy.pvs_proxy_get_cache_sr(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse());
} }
/// <summary> /// <summary>
/// Configure a VM/VIF to use a PVS proxy /// Configure a VM/VIF to use a PVS proxy
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_farm">PVS farm that we proxy for</param> /// <param name="_site">PVS site that we proxy for</param>
/// <param name="_vif">VIF for the VM that needs to be proxied</param> /// <param name="_vif">VIF for the VM that needs to be proxied</param>
/// <param name="_prepopulate">if true, prefetch whole disk for VM</param> /// <param name="_prepopulate">if true, prefetch whole disk for VM</param>
public static XenRef<PVS_proxy> create(Session session, string _farm, string _vif, bool _prepopulate) public static XenRef<PVS_proxy> create(Session session, string _site, string _vif, bool _prepopulate)
{ {
return XenRef<PVS_proxy>.Create(session.proxy.pvs_proxy_create(session.uuid, (_farm != null) ? _farm : "", (_vif != null) ? _vif : "", _prepopulate).parse()); return XenRef<PVS_proxy>.Create(session.proxy.pvs_proxy_create(session.uuid, (_site != null) ? _site : "", (_vif != null) ? _vif : "", _prepopulate).parse());
} }
/// <summary> /// <summary>
/// Configure a VM/VIF to use a PVS proxy /// Configure a VM/VIF to use a PVS proxy
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_farm">PVS farm that we proxy for</param> /// <param name="_site">PVS site that we proxy for</param>
/// <param name="_vif">VIF for the VM that needs to be proxied</param> /// <param name="_vif">VIF for the VM that needs to be proxied</param>
/// <param name="_prepopulate">if true, prefetch whole disk for VM</param> /// <param name="_prepopulate">if true, prefetch whole disk for VM</param>
public static XenRef<Task> async_create(Session session, string _farm, string _vif, bool _prepopulate) public static XenRef<Task> async_create(Session session, string _site, string _vif, bool _prepopulate)
{ {
return XenRef<Task>.Create(session.proxy.async_pvs_proxy_create(session.uuid, (_farm != null) ? _farm : "", (_vif != null) ? _vif : "", _prepopulate).parse()); return XenRef<Task>.Create(session.proxy.async_pvs_proxy_create(session.uuid, (_site != null) ? _site : "", (_vif != null) ? _vif : "", _prepopulate).parse());
} }
/// <summary> /// <summary>
/// remove (or switch off) a PVS proxy for this VM /// remove (or switch off) a PVS proxy for this VM
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param> /// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
public static void destroy(Session session, string _pvs_proxy) public static void destroy(Session session, string _pvs_proxy)
{ {
session.proxy.pvs_proxy_destroy(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse(); session.proxy.pvs_proxy_destroy(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse();
} }
/// <summary> /// <summary>
/// remove (or switch off) a PVS proxy for this VM /// remove (or switch off) a PVS proxy for this VM
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param> /// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
public static XenRef<Task> async_destroy(Session session, string _pvs_proxy) public static XenRef<Task> async_destroy(Session session, string _pvs_proxy)
{ {
return XenRef<Task>.Create(session.proxy.async_pvs_proxy_destroy(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse()); return XenRef<Task>.Create(session.proxy.async_pvs_proxy_destroy(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse());
} }
/// <summary> /// <summary>
/// change the value of the prepopulate field /// change the value of the prepopulate field
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param> /// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
/// <param name="_value">set to this value</param> /// <param name="_value">set to this value</param>
public static void set_prepopulate(Session session, string _pvs_proxy, bool _value) public static void set_prepopulate(Session session, string _pvs_proxy, bool _value)
{ {
session.proxy.pvs_proxy_set_prepopulate(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "", _value).parse(); session.proxy.pvs_proxy_set_prepopulate(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "", _value).parse();
} }
/// <summary> /// <summary>
/// change the value of the prepopulate field /// change the value of the prepopulate field
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param> /// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
/// <param name="_value">set to this value</param> /// <param name="_value">set to this value</param>
public static XenRef<Task> async_set_prepopulate(Session session, string _pvs_proxy, bool _value) public static XenRef<Task> async_set_prepopulate(Session session, string _pvs_proxy, bool _value)
{ {
return XenRef<Task>.Create(session.proxy.async_pvs_proxy_set_prepopulate(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "", _value).parse()); return XenRef<Task>.Create(session.proxy.async_pvs_proxy_set_prepopulate(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "", _value).parse());
} }
/// <summary> /// <summary>
/// Return a list of all the PVS_proxys known to the system. /// Return a list of all the PVS_proxys known to the system.
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
public static List<XenRef<PVS_proxy>> get_all(Session session) public static List<XenRef<PVS_proxy>> get_all(Session session)
{ {
return XenRef<PVS_proxy>.Create(session.proxy.pvs_proxy_get_all(session.uuid).parse()); return XenRef<PVS_proxy>.Create(session.proxy.pvs_proxy_get_all(session.uuid).parse());
} }
/// <summary> /// <summary>
/// Get all the PVS_proxy Records at once, in a single XML RPC call /// Get all the PVS_proxy Records at once, in a single XML RPC call
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
public static Dictionary<XenRef<PVS_proxy>, PVS_proxy> get_all_records(Session session) public static Dictionary<XenRef<PVS_proxy>, PVS_proxy> get_all_records(Session session)
{ {
return XenRef<PVS_proxy>.Create<Proxy_PVS_proxy>(session.proxy.pvs_proxy_get_all_records(session.uuid).parse()); return XenRef<PVS_proxy>.Create<Proxy_PVS_proxy>(session.proxy.pvs_proxy_get_all_records(session.uuid).parse());
} }
/// <summary> /// <summary>
/// Unique identifier/object reference /// Unique identifier/object reference
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
public virtual string uuid public virtual string uuid
{ {
get { return _uuid; } get { return _uuid; }
set set
{ {
if (!Helper.AreEqual(value, _uuid)) if (!Helper.AreEqual(value, _uuid))
{ {
_uuid = value; _uuid = value;
Changed = true; Changed = true;
NotifyPropertyChanged("uuid"); NotifyPropertyChanged("uuid");
} }
} }
} }
private string _uuid; private string _uuid;
/// <summary> /// <summary>
/// PVS farm this proxy is part of /// PVS site this proxy is part of
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
public virtual XenRef<PVS_farm> farm public virtual XenRef<PVS_site> site
{ {
get { return _farm; } get { return _site; }
set set
{ {
if (!Helper.AreEqual(value, _farm)) if (!Helper.AreEqual(value, _site))
{ {
_farm = value; _site = value;
Changed = true; Changed = true;
NotifyPropertyChanged("farm"); NotifyPropertyChanged("site");
} }
} }
} }
private XenRef<PVS_farm> _farm; private XenRef<PVS_site> _site;
/// <summary> /// <summary>
/// VIF of the VM using the proxy /// VIF of the VM using the proxy
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
public virtual XenRef<VIF> VIF public virtual XenRef<VIF> VIF
{ {
get { return _VIF; } get { return _VIF; }
set set
{ {
if (!Helper.AreEqual(value, _VIF)) if (!Helper.AreEqual(value, _VIF))
{ {
_VIF = value; _VIF = value;
Changed = true; Changed = true;
NotifyPropertyChanged("VIF"); NotifyPropertyChanged("VIF");
} }
} }
} }
private XenRef<VIF> _VIF; private XenRef<VIF> _VIF;
/// <summary> /// <summary>
/// true = proxy prefetches whole disk for the VM /// true = proxy prefetches whole disk for the VM
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
public virtual bool prepopulate public virtual bool prepopulate
{ {
get { return _prepopulate; } get { return _prepopulate; }
set set
{ {
if (!Helper.AreEqual(value, _prepopulate)) if (!Helper.AreEqual(value, _prepopulate))
{ {
_prepopulate = value; _prepopulate = value;
Changed = true; Changed = true;
NotifyPropertyChanged("prepopulate"); NotifyPropertyChanged("prepopulate");
} }
} }
} }
private bool _prepopulate; private bool _prepopulate;
/// <summary> /// <summary>
/// true = VM is currently proxied /// true = VM is currently proxied
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
public virtual bool currently_attached public virtual bool currently_attached
{ {
get { return _currently_attached; } get { return _currently_attached; }
set set
{ {
if (!Helper.AreEqual(value, _currently_attached)) if (!Helper.AreEqual(value, _currently_attached))
{ {
_currently_attached = value; _currently_attached = value;
Changed = true; Changed = true;
NotifyPropertyChanged("currently_attached"); NotifyPropertyChanged("currently_attached");
} }
} }
} }
private bool _currently_attached; private bool _currently_attached;
/// <summary> /// <summary>
/// SR used by this proxy /// SR used by this proxy
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
public virtual XenRef<SR> cache_SR public virtual XenRef<SR> cache_SR
{ {
get { return _cache_SR; } get { return _cache_SR; }
set set
{ {
if (!Helper.AreEqual(value, _cache_SR)) if (!Helper.AreEqual(value, _cache_SR))
{ {
_cache_SR = value; _cache_SR = value;
Changed = true; Changed = true;
NotifyPropertyChanged("cache_SR"); NotifyPropertyChanged("cache_SR");
} }
} }
} }
private XenRef<SR> _cache_SR; private XenRef<SR> _cache_SR;
} }
} }

View File

@ -1,381 +1,381 @@
/* /*
* Copyright (c) Citrix Systems, Inc. * Copyright (c) Citrix Systems, Inc.
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions * modification, are permitted provided that the following conditions
* are met: * are met:
* *
* 1) Redistributions of source code must retain the above copyright * 1) Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer. * notice, this list of conditions and the following disclaimer.
* *
* 2) Redistributions in binary form must reproduce the above * 2) Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following * copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials * disclaimer in the documentation and/or other materials
* provided with the distribution. * provided with the distribution.
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE. * OF THE POSSIBILITY OF SUCH DAMAGE.
*/ */
using System; using System;
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using CookComputing.XmlRpc; using CookComputing.XmlRpc;
namespace XenAPI namespace XenAPI
{ {
/// <summary> /// <summary>
/// individual machine serving provisioning (block) data /// individual machine serving provisioning (block) data
/// </summary> /// </summary>
public partial class PVS_server : XenObject<PVS_server> public partial class PVS_server : XenObject<PVS_server>
{ {
public PVS_server() public PVS_server()
{ {
} }
public PVS_server(string uuid, public PVS_server(string uuid,
string[] addresses, string[] addresses,
long first_port, long first_port,
long last_port, long last_port,
XenRef<PVS_farm> farm) XenRef<PVS_site> site)
{ {
this.uuid = uuid; this.uuid = uuid;
this.addresses = addresses; this.addresses = addresses;
this.first_port = first_port; this.first_port = first_port;
this.last_port = last_port; this.last_port = last_port;
this.farm = farm; this.site = site;
} }
/// <summary> /// <summary>
/// Creates a new PVS_server from a Proxy_PVS_server. /// Creates a new PVS_server from a Proxy_PVS_server.
/// </summary> /// </summary>
/// <param name="proxy"></param> /// <param name="proxy"></param>
public PVS_server(Proxy_PVS_server proxy) public PVS_server(Proxy_PVS_server proxy)
{ {
this.UpdateFromProxy(proxy); this.UpdateFromProxy(proxy);
} }
public override void UpdateFrom(PVS_server update) public override void UpdateFrom(PVS_server update)
{ {
uuid = update.uuid; uuid = update.uuid;
addresses = update.addresses; addresses = update.addresses;
first_port = update.first_port; first_port = update.first_port;
last_port = update.last_port; last_port = update.last_port;
farm = update.farm; site = update.site;
} }
internal void UpdateFromProxy(Proxy_PVS_server proxy) internal void UpdateFromProxy(Proxy_PVS_server proxy)
{ {
uuid = proxy.uuid == null ? null : (string)proxy.uuid; uuid = proxy.uuid == null ? null : (string)proxy.uuid;
addresses = proxy.addresses == null ? new string[] {} : (string [])proxy.addresses; addresses = proxy.addresses == null ? new string[] {} : (string [])proxy.addresses;
first_port = proxy.first_port == null ? 0 : long.Parse((string)proxy.first_port); first_port = proxy.first_port == null ? 0 : long.Parse((string)proxy.first_port);
last_port = proxy.last_port == null ? 0 : long.Parse((string)proxy.last_port); last_port = proxy.last_port == null ? 0 : long.Parse((string)proxy.last_port);
farm = proxy.farm == null ? null : XenRef<PVS_farm>.Create(proxy.farm); site = proxy.site == null ? null : XenRef<PVS_site>.Create(proxy.site);
} }
public Proxy_PVS_server ToProxy() public Proxy_PVS_server ToProxy()
{ {
Proxy_PVS_server result_ = new Proxy_PVS_server(); Proxy_PVS_server result_ = new Proxy_PVS_server();
result_.uuid = (uuid != null) ? uuid : ""; result_.uuid = (uuid != null) ? uuid : "";
result_.addresses = addresses; result_.addresses = addresses;
result_.first_port = first_port.ToString(); result_.first_port = first_port.ToString();
result_.last_port = last_port.ToString(); result_.last_port = last_port.ToString();
result_.farm = (farm != null) ? farm : ""; result_.site = (site != null) ? site : "";
return result_; return result_;
} }
/// <summary> /// <summary>
/// Creates a new PVS_server from a Hashtable. /// Creates a new PVS_server from a Hashtable.
/// </summary> /// </summary>
/// <param name="table"></param> /// <param name="table"></param>
public PVS_server(Hashtable table) public PVS_server(Hashtable table)
{ {
uuid = Marshalling.ParseString(table, "uuid"); uuid = Marshalling.ParseString(table, "uuid");
addresses = Marshalling.ParseStringArray(table, "addresses"); addresses = Marshalling.ParseStringArray(table, "addresses");
first_port = Marshalling.ParseLong(table, "first_port"); first_port = Marshalling.ParseLong(table, "first_port");
last_port = Marshalling.ParseLong(table, "last_port"); last_port = Marshalling.ParseLong(table, "last_port");
farm = Marshalling.ParseRef<PVS_farm>(table, "farm"); site = Marshalling.ParseRef<PVS_site>(table, "site");
} }
public bool DeepEquals(PVS_server other) public bool DeepEquals(PVS_server other)
{ {
if (ReferenceEquals(null, other)) if (ReferenceEquals(null, other))
return false; return false;
if (ReferenceEquals(this, other)) if (ReferenceEquals(this, other))
return true; return true;
return Helper.AreEqual2(this._uuid, other._uuid) && return Helper.AreEqual2(this._uuid, other._uuid) &&
Helper.AreEqual2(this._addresses, other._addresses) && Helper.AreEqual2(this._addresses, other._addresses) &&
Helper.AreEqual2(this._first_port, other._first_port) && Helper.AreEqual2(this._first_port, other._first_port) &&
Helper.AreEqual2(this._last_port, other._last_port) && Helper.AreEqual2(this._last_port, other._last_port) &&
Helper.AreEqual2(this._farm, other._farm); Helper.AreEqual2(this._site, other._site);
} }
public override string SaveChanges(Session session, string opaqueRef, PVS_server server) public override string SaveChanges(Session session, string opaqueRef, PVS_server server)
{ {
if (opaqueRef == null) if (opaqueRef == null)
{ {
System.Diagnostics.Debug.Assert(false, "Cannot create instances of this type on the server"); System.Diagnostics.Debug.Assert(false, "Cannot create instances of this type on the server");
return ""; return "";
} }
else else
{ {
throw new InvalidOperationException("This type has no read/write properties"); throw new InvalidOperationException("This type has no read/write properties");
} }
} }
/// <summary> /// <summary>
/// Get a record containing the current state of the given PVS_server. /// Get a record containing the current state of the given PVS_server.
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_pvs_server">The opaque_ref of the given pvs_server</param> /// <param name="_pvs_server">The opaque_ref of the given pvs_server</param>
public static PVS_server get_record(Session session, string _pvs_server) public static PVS_server get_record(Session session, string _pvs_server)
{ {
return new PVS_server((Proxy_PVS_server)session.proxy.pvs_server_get_record(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse()); return new PVS_server((Proxy_PVS_server)session.proxy.pvs_server_get_record(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse());
} }
/// <summary> /// <summary>
/// Get a reference to the PVS_server instance with the specified UUID. /// Get a reference to the PVS_server instance with the specified UUID.
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_uuid">UUID of object to return</param> /// <param name="_uuid">UUID of object to return</param>
public static XenRef<PVS_server> get_by_uuid(Session session, string _uuid) public static XenRef<PVS_server> get_by_uuid(Session session, string _uuid)
{ {
return XenRef<PVS_server>.Create(session.proxy.pvs_server_get_by_uuid(session.uuid, (_uuid != null) ? _uuid : "").parse()); return XenRef<PVS_server>.Create(session.proxy.pvs_server_get_by_uuid(session.uuid, (_uuid != null) ? _uuid : "").parse());
} }
/// <summary> /// <summary>
/// Get the uuid field of the given PVS_server. /// Get the uuid field of the given PVS_server.
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_pvs_server">The opaque_ref of the given pvs_server</param> /// <param name="_pvs_server">The opaque_ref of the given pvs_server</param>
public static string get_uuid(Session session, string _pvs_server) public static string get_uuid(Session session, string _pvs_server)
{ {
return (string)session.proxy.pvs_server_get_uuid(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse(); return (string)session.proxy.pvs_server_get_uuid(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse();
} }
/// <summary> /// <summary>
/// Get the addresses field of the given PVS_server. /// Get the addresses field of the given PVS_server.
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_pvs_server">The opaque_ref of the given pvs_server</param> /// <param name="_pvs_server">The opaque_ref of the given pvs_server</param>
public static string[] get_addresses(Session session, string _pvs_server) public static string[] get_addresses(Session session, string _pvs_server)
{ {
return (string [])session.proxy.pvs_server_get_addresses(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse(); return (string [])session.proxy.pvs_server_get_addresses(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse();
} }
/// <summary> /// <summary>
/// Get the first_port field of the given PVS_server. /// Get the first_port field of the given PVS_server.
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_pvs_server">The opaque_ref of the given pvs_server</param> /// <param name="_pvs_server">The opaque_ref of the given pvs_server</param>
public static long get_first_port(Session session, string _pvs_server) public static long get_first_port(Session session, string _pvs_server)
{ {
return long.Parse((string)session.proxy.pvs_server_get_first_port(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse()); return long.Parse((string)session.proxy.pvs_server_get_first_port(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse());
} }
/// <summary> /// <summary>
/// Get the last_port field of the given PVS_server. /// Get the last_port field of the given PVS_server.
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_pvs_server">The opaque_ref of the given pvs_server</param> /// <param name="_pvs_server">The opaque_ref of the given pvs_server</param>
public static long get_last_port(Session session, string _pvs_server) public static long get_last_port(Session session, string _pvs_server)
{ {
return long.Parse((string)session.proxy.pvs_server_get_last_port(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse()); return long.Parse((string)session.proxy.pvs_server_get_last_port(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse());
} }
/// <summary> /// <summary>
/// Get the farm field of the given PVS_server. /// Get the site field of the given PVS_server.
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_pvs_server">The opaque_ref of the given pvs_server</param> /// <param name="_pvs_server">The opaque_ref of the given pvs_server</param>
public static XenRef<PVS_farm> get_farm(Session session, string _pvs_server) public static XenRef<PVS_site> get_site(Session session, string _pvs_server)
{ {
return XenRef<PVS_farm>.Create(session.proxy.pvs_server_get_farm(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse()); return XenRef<PVS_site>.Create(session.proxy.pvs_server_get_site(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse());
} }
/// <summary> /// <summary>
/// introduce new PVS server /// introduce new PVS server
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_addresses">IPv4 addresses of the server</param> /// <param name="_addresses">IPv4 addresses of the server</param>
/// <param name="_first_port">first UDP port accepted by this server</param> /// <param name="_first_port">first UDP port accepted by this server</param>
/// <param name="_last_port">last UDP port accepted by this server</param> /// <param name="_last_port">last UDP port accepted by this server</param>
/// <param name="_farm">PVS farm this server is a part of</param> /// <param name="_site">PVS site this server is a part of</param>
public static XenRef<PVS_server> introduce(Session session, string[] _addresses, long _first_port, long _last_port, string _farm) public static XenRef<PVS_server> introduce(Session session, string[] _addresses, long _first_port, long _last_port, string _site)
{ {
return XenRef<PVS_server>.Create(session.proxy.pvs_server_introduce(session.uuid, _addresses, _first_port.ToString(), _last_port.ToString(), (_farm != null) ? _farm : "").parse()); return XenRef<PVS_server>.Create(session.proxy.pvs_server_introduce(session.uuid, _addresses, _first_port.ToString(), _last_port.ToString(), (_site != null) ? _site : "").parse());
} }
/// <summary> /// <summary>
/// introduce new PVS server /// introduce new PVS server
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_addresses">IPv4 addresses of the server</param> /// <param name="_addresses">IPv4 addresses of the server</param>
/// <param name="_first_port">first UDP port accepted by this server</param> /// <param name="_first_port">first UDP port accepted by this server</param>
/// <param name="_last_port">last UDP port accepted by this server</param> /// <param name="_last_port">last UDP port accepted by this server</param>
/// <param name="_farm">PVS farm this server is a part of</param> /// <param name="_site">PVS site this server is a part of</param>
public static XenRef<Task> async_introduce(Session session, string[] _addresses, long _first_port, long _last_port, string _farm) public static XenRef<Task> async_introduce(Session session, string[] _addresses, long _first_port, long _last_port, string _site)
{ {
return XenRef<Task>.Create(session.proxy.async_pvs_server_introduce(session.uuid, _addresses, _first_port.ToString(), _last_port.ToString(), (_farm != null) ? _farm : "").parse()); return XenRef<Task>.Create(session.proxy.async_pvs_server_introduce(session.uuid, _addresses, _first_port.ToString(), _last_port.ToString(), (_site != null) ? _site : "").parse());
} }
/// <summary> /// <summary>
/// forget a PVS server /// forget a PVS server
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_pvs_server">The opaque_ref of the given pvs_server</param> /// <param name="_pvs_server">The opaque_ref of the given pvs_server</param>
public static void forget(Session session, string _pvs_server) public static void forget(Session session, string _pvs_server)
{ {
session.proxy.pvs_server_forget(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse(); session.proxy.pvs_server_forget(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse();
} }
/// <summary> /// <summary>
/// forget a PVS server /// forget a PVS server
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_pvs_server">The opaque_ref of the given pvs_server</param> /// <param name="_pvs_server">The opaque_ref of the given pvs_server</param>
public static XenRef<Task> async_forget(Session session, string _pvs_server) public static XenRef<Task> async_forget(Session session, string _pvs_server)
{ {
return XenRef<Task>.Create(session.proxy.async_pvs_server_forget(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse()); return XenRef<Task>.Create(session.proxy.async_pvs_server_forget(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse());
} }
/// <summary> /// <summary>
/// Return a list of all the PVS_servers known to the system. /// Return a list of all the PVS_servers known to the system.
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
public static List<XenRef<PVS_server>> get_all(Session session) public static List<XenRef<PVS_server>> get_all(Session session)
{ {
return XenRef<PVS_server>.Create(session.proxy.pvs_server_get_all(session.uuid).parse()); return XenRef<PVS_server>.Create(session.proxy.pvs_server_get_all(session.uuid).parse());
} }
/// <summary> /// <summary>
/// Get all the PVS_server Records at once, in a single XML RPC call /// Get all the PVS_server Records at once, in a single XML RPC call
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
public static Dictionary<XenRef<PVS_server>, PVS_server> get_all_records(Session session) public static Dictionary<XenRef<PVS_server>, PVS_server> get_all_records(Session session)
{ {
return XenRef<PVS_server>.Create<Proxy_PVS_server>(session.proxy.pvs_server_get_all_records(session.uuid).parse()); return XenRef<PVS_server>.Create<Proxy_PVS_server>(session.proxy.pvs_server_get_all_records(session.uuid).parse());
} }
/// <summary> /// <summary>
/// Unique identifier/object reference /// Unique identifier/object reference
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
public virtual string uuid public virtual string uuid
{ {
get { return _uuid; } get { return _uuid; }
set set
{ {
if (!Helper.AreEqual(value, _uuid)) if (!Helper.AreEqual(value, _uuid))
{ {
_uuid = value; _uuid = value;
Changed = true; Changed = true;
NotifyPropertyChanged("uuid"); NotifyPropertyChanged("uuid");
} }
} }
} }
private string _uuid; private string _uuid;
/// <summary> /// <summary>
/// IPv4 addresses of this server /// IPv4 addresses of this server
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
public virtual string[] addresses public virtual string[] addresses
{ {
get { return _addresses; } get { return _addresses; }
set set
{ {
if (!Helper.AreEqual(value, _addresses)) if (!Helper.AreEqual(value, _addresses))
{ {
_addresses = value; _addresses = value;
Changed = true; Changed = true;
NotifyPropertyChanged("addresses"); NotifyPropertyChanged("addresses");
} }
} }
} }
private string[] _addresses; private string[] _addresses;
/// <summary> /// <summary>
/// First UDP port accepted by this server /// First UDP port accepted by this server
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
public virtual long first_port public virtual long first_port
{ {
get { return _first_port; } get { return _first_port; }
set set
{ {
if (!Helper.AreEqual(value, _first_port)) if (!Helper.AreEqual(value, _first_port))
{ {
_first_port = value; _first_port = value;
Changed = true; Changed = true;
NotifyPropertyChanged("first_port"); NotifyPropertyChanged("first_port");
} }
} }
} }
private long _first_port; private long _first_port;
/// <summary> /// <summary>
/// Last UDP port accepted by this server /// Last UDP port accepted by this server
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
public virtual long last_port public virtual long last_port
{ {
get { return _last_port; } get { return _last_port; }
set set
{ {
if (!Helper.AreEqual(value, _last_port)) if (!Helper.AreEqual(value, _last_port))
{ {
_last_port = value; _last_port = value;
Changed = true; Changed = true;
NotifyPropertyChanged("last_port"); NotifyPropertyChanged("last_port");
} }
} }
} }
private long _last_port; private long _last_port;
/// <summary> /// <summary>
/// PVS farm this server is part of /// PVS site this server is part of
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
public virtual XenRef<PVS_farm> farm public virtual XenRef<PVS_site> site
{ {
get { return _farm; } get { return _site; }
set set
{ {
if (!Helper.AreEqual(value, _farm)) if (!Helper.AreEqual(value, _site))
{ {
_farm = value; _site = value;
Changed = true; Changed = true;
NotifyPropertyChanged("farm"); NotifyPropertyChanged("site");
} }
} }
} }
private XenRef<PVS_farm> _farm; private XenRef<PVS_site> _site;
} }
} }

View File

@ -1,452 +1,452 @@
/* /*
* Copyright (c) Citrix Systems, Inc. * Copyright (c) Citrix Systems, Inc.
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions * modification, are permitted provided that the following conditions
* are met: * are met:
* *
* 1) Redistributions of source code must retain the above copyright * 1) Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer. * notice, this list of conditions and the following disclaimer.
* *
* 2) Redistributions in binary form must reproduce the above * 2) Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following * copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials * disclaimer in the documentation and/or other materials
* provided with the distribution. * provided with the distribution.
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE. * OF THE POSSIBILITY OF SUCH DAMAGE.
*/ */
using System; using System;
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using CookComputing.XmlRpc; using CookComputing.XmlRpc;
namespace XenAPI namespace XenAPI
{ {
/// <summary> /// <summary>
/// machines serving blocks of data for provisioning VMs /// machines serving blocks of data for provisioning VMs
/// </summary> /// </summary>
public partial class PVS_farm : XenObject<PVS_farm> public partial class PVS_site : XenObject<PVS_site>
{ {
public PVS_farm() public PVS_site()
{ {
} }
public PVS_farm(string uuid, public PVS_site(string uuid,
string name, string name,
List<XenRef<SR>> cache_storage, List<XenRef<SR>> cache_storage,
List<XenRef<PVS_server>> servers, List<XenRef<PVS_server>> servers,
List<XenRef<PVS_proxy>> proxies) List<XenRef<PVS_proxy>> proxies)
{ {
this.uuid = uuid; this.uuid = uuid;
this.name = name; this.name = name;
this.cache_storage = cache_storage; this.cache_storage = cache_storage;
this.servers = servers; this.servers = servers;
this.proxies = proxies; this.proxies = proxies;
} }
/// <summary> /// <summary>
/// Creates a new PVS_farm from a Proxy_PVS_farm. /// Creates a new PVS_site from a Proxy_PVS_site.
/// </summary> /// </summary>
/// <param name="proxy"></param> /// <param name="proxy"></param>
public PVS_farm(Proxy_PVS_farm proxy) public PVS_site(Proxy_PVS_site proxy)
{ {
this.UpdateFromProxy(proxy); this.UpdateFromProxy(proxy);
} }
public override void UpdateFrom(PVS_farm update) public override void UpdateFrom(PVS_site update)
{ {
uuid = update.uuid; uuid = update.uuid;
name = update.name; name = update.name;
cache_storage = update.cache_storage; cache_storage = update.cache_storage;
servers = update.servers; servers = update.servers;
proxies = update.proxies; proxies = update.proxies;
} }
internal void UpdateFromProxy(Proxy_PVS_farm proxy) internal void UpdateFromProxy(Proxy_PVS_site proxy)
{ {
uuid = proxy.uuid == null ? null : (string)proxy.uuid; uuid = proxy.uuid == null ? null : (string)proxy.uuid;
name = proxy.name == null ? null : (string)proxy.name; name = proxy.name == null ? null : (string)proxy.name;
cache_storage = proxy.cache_storage == null ? null : XenRef<SR>.Create(proxy.cache_storage); cache_storage = proxy.cache_storage == null ? null : XenRef<SR>.Create(proxy.cache_storage);
servers = proxy.servers == null ? null : XenRef<PVS_server>.Create(proxy.servers); servers = proxy.servers == null ? null : XenRef<PVS_server>.Create(proxy.servers);
proxies = proxy.proxies == null ? null : XenRef<PVS_proxy>.Create(proxy.proxies); proxies = proxy.proxies == null ? null : XenRef<PVS_proxy>.Create(proxy.proxies);
} }
public Proxy_PVS_farm ToProxy() public Proxy_PVS_site ToProxy()
{ {
Proxy_PVS_farm result_ = new Proxy_PVS_farm(); Proxy_PVS_site result_ = new Proxy_PVS_site();
result_.uuid = (uuid != null) ? uuid : ""; result_.uuid = (uuid != null) ? uuid : "";
result_.name = (name != null) ? name : ""; result_.name = (name != null) ? name : "";
result_.cache_storage = (cache_storage != null) ? Helper.RefListToStringArray(cache_storage) : new string[] {}; result_.cache_storage = (cache_storage != null) ? Helper.RefListToStringArray(cache_storage) : new string[] {};
result_.servers = (servers != null) ? Helper.RefListToStringArray(servers) : new string[] {}; result_.servers = (servers != null) ? Helper.RefListToStringArray(servers) : new string[] {};
result_.proxies = (proxies != null) ? Helper.RefListToStringArray(proxies) : new string[] {}; result_.proxies = (proxies != null) ? Helper.RefListToStringArray(proxies) : new string[] {};
return result_; return result_;
} }
/// <summary> /// <summary>
/// Creates a new PVS_farm from a Hashtable. /// Creates a new PVS_site from a Hashtable.
/// </summary> /// </summary>
/// <param name="table"></param> /// <param name="table"></param>
public PVS_farm(Hashtable table) public PVS_site(Hashtable table)
{ {
uuid = Marshalling.ParseString(table, "uuid"); uuid = Marshalling.ParseString(table, "uuid");
name = Marshalling.ParseString(table, "name"); name = Marshalling.ParseString(table, "name");
cache_storage = Marshalling.ParseSetRef<SR>(table, "cache_storage"); cache_storage = Marshalling.ParseSetRef<SR>(table, "cache_storage");
servers = Marshalling.ParseSetRef<PVS_server>(table, "servers"); servers = Marshalling.ParseSetRef<PVS_server>(table, "servers");
proxies = Marshalling.ParseSetRef<PVS_proxy>(table, "proxies"); proxies = Marshalling.ParseSetRef<PVS_proxy>(table, "proxies");
} }
public bool DeepEquals(PVS_farm other) public bool DeepEquals(PVS_site other)
{ {
if (ReferenceEquals(null, other)) if (ReferenceEquals(null, other))
return false; return false;
if (ReferenceEquals(this, other)) if (ReferenceEquals(this, other))
return true; return true;
return Helper.AreEqual2(this._uuid, other._uuid) && return Helper.AreEqual2(this._uuid, other._uuid) &&
Helper.AreEqual2(this._name, other._name) && Helper.AreEqual2(this._name, other._name) &&
Helper.AreEqual2(this._cache_storage, other._cache_storage) && Helper.AreEqual2(this._cache_storage, other._cache_storage) &&
Helper.AreEqual2(this._servers, other._servers) && Helper.AreEqual2(this._servers, other._servers) &&
Helper.AreEqual2(this._proxies, other._proxies); Helper.AreEqual2(this._proxies, other._proxies);
} }
public override string SaveChanges(Session session, string opaqueRef, PVS_farm server) public override string SaveChanges(Session session, string opaqueRef, PVS_site server)
{ {
if (opaqueRef == null) if (opaqueRef == null)
{ {
System.Diagnostics.Debug.Assert(false, "Cannot create instances of this type on the server"); System.Diagnostics.Debug.Assert(false, "Cannot create instances of this type on the server");
return ""; return "";
} }
else else
{ {
if (!Helper.AreEqual2(_name, server._name)) if (!Helper.AreEqual2(_name, server._name))
{ {
PVS_farm.set_name(session, opaqueRef, _name); PVS_site.set_name(session, opaqueRef, _name);
} }
return null; return null;
} }
} }
/// <summary> /// <summary>
/// Get a record containing the current state of the given PVS_farm. /// Get a record containing the current state of the given PVS_site.
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_pvs_farm">The opaque_ref of the given pvs_farm</param> /// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
public static PVS_farm get_record(Session session, string _pvs_farm) public static PVS_site get_record(Session session, string _pvs_site)
{ {
return new PVS_farm((Proxy_PVS_farm)session.proxy.pvs_farm_get_record(session.uuid, (_pvs_farm != null) ? _pvs_farm : "").parse()); return new PVS_site((Proxy_PVS_site)session.proxy.pvs_site_get_record(session.uuid, (_pvs_site != null) ? _pvs_site : "").parse());
} }
/// <summary> /// <summary>
/// Get a reference to the PVS_farm instance with the specified UUID. /// Get a reference to the PVS_site instance with the specified UUID.
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_uuid">UUID of object to return</param> /// <param name="_uuid">UUID of object to return</param>
public static XenRef<PVS_farm> get_by_uuid(Session session, string _uuid) public static XenRef<PVS_site> get_by_uuid(Session session, string _uuid)
{ {
return XenRef<PVS_farm>.Create(session.proxy.pvs_farm_get_by_uuid(session.uuid, (_uuid != null) ? _uuid : "").parse()); return XenRef<PVS_site>.Create(session.proxy.pvs_site_get_by_uuid(session.uuid, (_uuid != null) ? _uuid : "").parse());
} }
/// <summary> /// <summary>
/// Get the uuid field of the given PVS_farm. /// Get the uuid field of the given PVS_site.
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_pvs_farm">The opaque_ref of the given pvs_farm</param> /// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
public static string get_uuid(Session session, string _pvs_farm) public static string get_uuid(Session session, string _pvs_site)
{ {
return (string)session.proxy.pvs_farm_get_uuid(session.uuid, (_pvs_farm != null) ? _pvs_farm : "").parse(); return (string)session.proxy.pvs_site_get_uuid(session.uuid, (_pvs_site != null) ? _pvs_site : "").parse();
} }
/// <summary> /// <summary>
/// Get the name field of the given PVS_farm. /// Get the name field of the given PVS_site.
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_pvs_farm">The opaque_ref of the given pvs_farm</param> /// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
public static string get_name(Session session, string _pvs_farm) public static string get_name(Session session, string _pvs_site)
{ {
return (string)session.proxy.pvs_farm_get_name(session.uuid, (_pvs_farm != null) ? _pvs_farm : "").parse(); return (string)session.proxy.pvs_site_get_name(session.uuid, (_pvs_site != null) ? _pvs_site : "").parse();
} }
/// <summary> /// <summary>
/// Get the cache_storage field of the given PVS_farm. /// Get the cache_storage field of the given PVS_site.
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_pvs_farm">The opaque_ref of the given pvs_farm</param> /// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
public static List<XenRef<SR>> get_cache_storage(Session session, string _pvs_farm) public static List<XenRef<SR>> get_cache_storage(Session session, string _pvs_site)
{ {
return XenRef<SR>.Create(session.proxy.pvs_farm_get_cache_storage(session.uuid, (_pvs_farm != null) ? _pvs_farm : "").parse()); return XenRef<SR>.Create(session.proxy.pvs_site_get_cache_storage(session.uuid, (_pvs_site != null) ? _pvs_site : "").parse());
} }
/// <summary> /// <summary>
/// Get the servers field of the given PVS_farm. /// Get the servers field of the given PVS_site.
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_pvs_farm">The opaque_ref of the given pvs_farm</param> /// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
public static List<XenRef<PVS_server>> get_servers(Session session, string _pvs_farm) public static List<XenRef<PVS_server>> get_servers(Session session, string _pvs_site)
{ {
return XenRef<PVS_server>.Create(session.proxy.pvs_farm_get_servers(session.uuid, (_pvs_farm != null) ? _pvs_farm : "").parse()); return XenRef<PVS_server>.Create(session.proxy.pvs_site_get_servers(session.uuid, (_pvs_site != null) ? _pvs_site : "").parse());
} }
/// <summary> /// <summary>
/// Get the proxies field of the given PVS_farm. /// Get the proxies field of the given PVS_site.
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_pvs_farm">The opaque_ref of the given pvs_farm</param> /// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
public static List<XenRef<PVS_proxy>> get_proxies(Session session, string _pvs_farm) public static List<XenRef<PVS_proxy>> get_proxies(Session session, string _pvs_site)
{ {
return XenRef<PVS_proxy>.Create(session.proxy.pvs_farm_get_proxies(session.uuid, (_pvs_farm != null) ? _pvs_farm : "").parse()); return XenRef<PVS_proxy>.Create(session.proxy.pvs_site_get_proxies(session.uuid, (_pvs_site != null) ? _pvs_site : "").parse());
} }
/// <summary> /// <summary>
/// Introduce new PVS farm /// Introduce new PVS site
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_name">name of the PVS farm</param> /// <param name="_name">name of the PVS site</param>
public static XenRef<PVS_farm> introduce(Session session, string _name) public static XenRef<PVS_site> introduce(Session session, string _name)
{ {
return XenRef<PVS_farm>.Create(session.proxy.pvs_farm_introduce(session.uuid, (_name != null) ? _name : "").parse()); return XenRef<PVS_site>.Create(session.proxy.pvs_site_introduce(session.uuid, (_name != null) ? _name : "").parse());
} }
/// <summary> /// <summary>
/// Introduce new PVS farm /// Introduce new PVS site
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_name">name of the PVS farm</param> /// <param name="_name">name of the PVS site</param>
public static XenRef<Task> async_introduce(Session session, string _name) public static XenRef<Task> async_introduce(Session session, string _name)
{ {
return XenRef<Task>.Create(session.proxy.async_pvs_farm_introduce(session.uuid, (_name != null) ? _name : "").parse()); return XenRef<Task>.Create(session.proxy.async_pvs_site_introduce(session.uuid, (_name != null) ? _name : "").parse());
} }
/// <summary> /// <summary>
/// Remove a farm's meta data /// Remove a site's meta data
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_pvs_farm">The opaque_ref of the given pvs_farm</param> /// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
public static void forget(Session session, string _pvs_farm) public static void forget(Session session, string _pvs_site)
{ {
session.proxy.pvs_farm_forget(session.uuid, (_pvs_farm != null) ? _pvs_farm : "").parse(); session.proxy.pvs_site_forget(session.uuid, (_pvs_site != null) ? _pvs_site : "").parse();
} }
/// <summary> /// <summary>
/// Remove a farm's meta data /// Remove a site's meta data
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_pvs_farm">The opaque_ref of the given pvs_farm</param> /// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
public static XenRef<Task> async_forget(Session session, string _pvs_farm) public static XenRef<Task> async_forget(Session session, string _pvs_site)
{ {
return XenRef<Task>.Create(session.proxy.async_pvs_farm_forget(session.uuid, (_pvs_farm != null) ? _pvs_farm : "").parse()); return XenRef<Task>.Create(session.proxy.async_pvs_site_forget(session.uuid, (_pvs_site != null) ? _pvs_site : "").parse());
} }
/// <summary> /// <summary>
/// Update the name of the PVS farm /// Update the name of the PVS site
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_pvs_farm">The opaque_ref of the given pvs_farm</param> /// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
/// <param name="_value">name to be used</param> /// <param name="_value">name to be used</param>
public static void set_name(Session session, string _pvs_farm, string _value) public static void set_name(Session session, string _pvs_site, string _value)
{ {
session.proxy.pvs_farm_set_name(session.uuid, (_pvs_farm != null) ? _pvs_farm : "", (_value != null) ? _value : "").parse(); session.proxy.pvs_site_set_name(session.uuid, (_pvs_site != null) ? _pvs_site : "", (_value != null) ? _value : "").parse();
} }
/// <summary> /// <summary>
/// Update the name of the PVS farm /// Update the name of the PVS site
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_pvs_farm">The opaque_ref of the given pvs_farm</param> /// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
/// <param name="_value">name to be used</param> /// <param name="_value">name to be used</param>
public static XenRef<Task> async_set_name(Session session, string _pvs_farm, string _value) public static XenRef<Task> async_set_name(Session session, string _pvs_site, string _value)
{ {
return XenRef<Task>.Create(session.proxy.async_pvs_farm_set_name(session.uuid, (_pvs_farm != null) ? _pvs_farm : "", (_value != null) ? _value : "").parse()); return XenRef<Task>.Create(session.proxy.async_pvs_site_set_name(session.uuid, (_pvs_site != null) ? _pvs_site : "", (_value != null) ? _value : "").parse());
} }
/// <summary> /// <summary>
/// Add a cache SR for the proxies on the farm /// Add a cache SR for the proxies on the site
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_pvs_farm">The opaque_ref of the given pvs_farm</param> /// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
/// <param name="_value">SR to be used</param> /// <param name="_value">SR to be used</param>
public static void add_cache_storage(Session session, string _pvs_farm, string _value) public static void add_cache_storage(Session session, string _pvs_site, string _value)
{ {
session.proxy.pvs_farm_add_cache_storage(session.uuid, (_pvs_farm != null) ? _pvs_farm : "", (_value != null) ? _value : "").parse(); session.proxy.pvs_site_add_cache_storage(session.uuid, (_pvs_site != null) ? _pvs_site : "", (_value != null) ? _value : "").parse();
} }
/// <summary> /// <summary>
/// Add a cache SR for the proxies on the farm /// Add a cache SR for the proxies on the site
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_pvs_farm">The opaque_ref of the given pvs_farm</param> /// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
/// <param name="_value">SR to be used</param> /// <param name="_value">SR to be used</param>
public static XenRef<Task> async_add_cache_storage(Session session, string _pvs_farm, string _value) public static XenRef<Task> async_add_cache_storage(Session session, string _pvs_site, string _value)
{ {
return XenRef<Task>.Create(session.proxy.async_pvs_farm_add_cache_storage(session.uuid, (_pvs_farm != null) ? _pvs_farm : "", (_value != null) ? _value : "").parse()); return XenRef<Task>.Create(session.proxy.async_pvs_site_add_cache_storage(session.uuid, (_pvs_site != null) ? _pvs_site : "", (_value != null) ? _value : "").parse());
} }
/// <summary> /// <summary>
/// Remove a cache SR for the proxies on the farm /// Remove a cache SR for the proxies on the site
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_pvs_farm">The opaque_ref of the given pvs_farm</param> /// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
/// <param name="_value">SR to be removed</param> /// <param name="_value">SR to be removed</param>
public static void remove_cache_storage(Session session, string _pvs_farm, string _value) public static void remove_cache_storage(Session session, string _pvs_site, string _value)
{ {
session.proxy.pvs_farm_remove_cache_storage(session.uuid, (_pvs_farm != null) ? _pvs_farm : "", (_value != null) ? _value : "").parse(); session.proxy.pvs_site_remove_cache_storage(session.uuid, (_pvs_site != null) ? _pvs_site : "", (_value != null) ? _value : "").parse();
} }
/// <summary> /// <summary>
/// Remove a cache SR for the proxies on the farm /// Remove a cache SR for the proxies on the site
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
/// <param name="_pvs_farm">The opaque_ref of the given pvs_farm</param> /// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
/// <param name="_value">SR to be removed</param> /// <param name="_value">SR to be removed</param>
public static XenRef<Task> async_remove_cache_storage(Session session, string _pvs_farm, string _value) public static XenRef<Task> async_remove_cache_storage(Session session, string _pvs_site, string _value)
{ {
return XenRef<Task>.Create(session.proxy.async_pvs_farm_remove_cache_storage(session.uuid, (_pvs_farm != null) ? _pvs_farm : "", (_value != null) ? _value : "").parse()); return XenRef<Task>.Create(session.proxy.async_pvs_site_remove_cache_storage(session.uuid, (_pvs_site != null) ? _pvs_site : "", (_value != null) ? _value : "").parse());
} }
/// <summary> /// <summary>
/// Return a list of all the PVS_farms known to the system. /// Return a list of all the PVS_sites known to the system.
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
public static List<XenRef<PVS_farm>> get_all(Session session) public static List<XenRef<PVS_site>> get_all(Session session)
{ {
return XenRef<PVS_farm>.Create(session.proxy.pvs_farm_get_all(session.uuid).parse()); return XenRef<PVS_site>.Create(session.proxy.pvs_site_get_all(session.uuid).parse());
} }
/// <summary> /// <summary>
/// Get all the PVS_farm Records at once, in a single XML RPC call /// Get all the PVS_site Records at once, in a single XML RPC call
/// </summary> /// </summary>
/// <param name="session">The session</param> /// <param name="session">The session</param>
public static Dictionary<XenRef<PVS_farm>, PVS_farm> get_all_records(Session session) public static Dictionary<XenRef<PVS_site>, PVS_site> get_all_records(Session session)
{ {
return XenRef<PVS_farm>.Create<Proxy_PVS_farm>(session.proxy.pvs_farm_get_all_records(session.uuid).parse()); return XenRef<PVS_site>.Create<Proxy_PVS_site>(session.proxy.pvs_site_get_all_records(session.uuid).parse());
} }
/// <summary> /// <summary>
/// Unique identifier/object reference /// Unique identifier/object reference
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
public virtual string uuid public virtual string uuid
{ {
get { return _uuid; } get { return _uuid; }
set set
{ {
if (!Helper.AreEqual(value, _uuid)) if (!Helper.AreEqual(value, _uuid))
{ {
_uuid = value; _uuid = value;
Changed = true; Changed = true;
NotifyPropertyChanged("uuid"); NotifyPropertyChanged("uuid");
} }
} }
} }
private string _uuid; private string _uuid;
/// <summary> /// <summary>
/// Name of the PVS farm. Must match name configured in PVS /// Name of the PVS site. Must match name configured in PVS
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
public virtual string name public virtual string name
{ {
get { return _name; } get { return _name; }
set set
{ {
if (!Helper.AreEqual(value, _name)) if (!Helper.AreEqual(value, _name))
{ {
_name = value; _name = value;
Changed = true; Changed = true;
NotifyPropertyChanged("name"); NotifyPropertyChanged("name");
} }
} }
} }
private string _name; private string _name;
/// <summary> /// <summary>
/// The SR used by PVS proxy for the cache /// The SR used by PVS proxy for the cache
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
public virtual List<XenRef<SR>> cache_storage public virtual List<XenRef<SR>> cache_storage
{ {
get { return _cache_storage; } get { return _cache_storage; }
set set
{ {
if (!Helper.AreEqual(value, _cache_storage)) if (!Helper.AreEqual(value, _cache_storage))
{ {
_cache_storage = value; _cache_storage = value;
Changed = true; Changed = true;
NotifyPropertyChanged("cache_storage"); NotifyPropertyChanged("cache_storage");
} }
} }
} }
private List<XenRef<SR>> _cache_storage; private List<XenRef<SR>> _cache_storage;
/// <summary> /// <summary>
/// The set of PVS servers in the farm /// The set of PVS servers in the site
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
public virtual List<XenRef<PVS_server>> servers public virtual List<XenRef<PVS_server>> servers
{ {
get { return _servers; } get { return _servers; }
set set
{ {
if (!Helper.AreEqual(value, _servers)) if (!Helper.AreEqual(value, _servers))
{ {
_servers = value; _servers = value;
Changed = true; Changed = true;
NotifyPropertyChanged("servers"); NotifyPropertyChanged("servers");
} }
} }
} }
private List<XenRef<PVS_server>> _servers; private List<XenRef<PVS_server>> _servers;
/// <summary> /// <summary>
/// The set of proxies associated with the farm /// The set of proxies associated with the site
/// Experimental. First published in . /// Experimental. First published in .
/// </summary> /// </summary>
public virtual List<XenRef<PVS_proxy>> proxies public virtual List<XenRef<PVS_proxy>> proxies
{ {
get { return _proxies; } get { return _proxies; }
set set
{ {
if (!Helper.AreEqual(value, _proxies)) if (!Helper.AreEqual(value, _proxies))
{ {
_proxies = value; _proxies = value;
Changed = true; Changed = true;
NotifyPropertyChanged("proxies"); NotifyPropertyChanged("proxies");
} }
} }
} }
private List<XenRef<PVS_proxy>> _proxies; private List<XenRef<PVS_proxy>> _proxies;
} }
} }

View File

@ -1496,6 +1496,10 @@ namespace XenAPI
Response<bool> Response<bool>
vm_get_has_vendor_device(string session, string _vm); vm_get_has_vendor_device(string session, string _vm);
[XmlRpcMethod("VM.get_requires_reboot")]
Response<bool>
vm_get_requires_reboot(string session, string _vm);
[XmlRpcMethod("VM.set_name_label")] [XmlRpcMethod("VM.set_name_label")]
Response<string> Response<string>
vm_set_name_label(string session, string _vm, string _label); vm_set_name_label(string session, string _vm, string _label);
@ -1896,6 +1900,14 @@ namespace XenAPI
Response<string> Response<string>
async_vm_set_memory_limits(string session, string _vm, string _static_min, string _static_max, string _dynamic_min, string _dynamic_max); async_vm_set_memory_limits(string session, string _vm, string _static_min, string _static_max, string _dynamic_min, string _dynamic_max);
[XmlRpcMethod("VM.set_memory")]
Response<string>
vm_set_memory(string session, string _vm, string _value);
[XmlRpcMethod("Async.VM.set_memory")]
Response<string>
async_vm_set_memory(string session, string _vm, string _value);
[XmlRpcMethod("VM.set_memory_target_live")] [XmlRpcMethod("VM.set_memory_target_live")]
Response<string> Response<string>
vm_set_memory_target_live(string session, string _vm, string _target); vm_set_memory_target_live(string session, string _vm, string _target);
@ -6864,81 +6876,81 @@ namespace XenAPI
Response<Object> Response<Object>
vgpu_type_get_all_records(string session); vgpu_type_get_all_records(string session);
[XmlRpcMethod("PVS_farm.get_record")] [XmlRpcMethod("PVS_site.get_record")]
Response<Proxy_PVS_farm> Response<Proxy_PVS_site>
pvs_farm_get_record(string session, string _pvs_farm); pvs_site_get_record(string session, string _pvs_site);
[XmlRpcMethod("PVS_farm.get_by_uuid")] [XmlRpcMethod("PVS_site.get_by_uuid")]
Response<string> Response<string>
pvs_farm_get_by_uuid(string session, string _uuid); pvs_site_get_by_uuid(string session, string _uuid);
[XmlRpcMethod("PVS_farm.get_uuid")] [XmlRpcMethod("PVS_site.get_uuid")]
Response<string> Response<string>
pvs_farm_get_uuid(string session, string _pvs_farm); pvs_site_get_uuid(string session, string _pvs_site);
[XmlRpcMethod("PVS_farm.get_name")] [XmlRpcMethod("PVS_site.get_name")]
Response<string> Response<string>
pvs_farm_get_name(string session, string _pvs_farm); pvs_site_get_name(string session, string _pvs_site);
[XmlRpcMethod("PVS_farm.get_cache_storage")] [XmlRpcMethod("PVS_site.get_cache_storage")]
Response<string []> Response<string []>
pvs_farm_get_cache_storage(string session, string _pvs_farm); pvs_site_get_cache_storage(string session, string _pvs_site);
[XmlRpcMethod("PVS_farm.get_servers")] [XmlRpcMethod("PVS_site.get_servers")]
Response<string []> Response<string []>
pvs_farm_get_servers(string session, string _pvs_farm); pvs_site_get_servers(string session, string _pvs_site);
[XmlRpcMethod("PVS_farm.get_proxies")] [XmlRpcMethod("PVS_site.get_proxies")]
Response<string []> Response<string []>
pvs_farm_get_proxies(string session, string _pvs_farm); pvs_site_get_proxies(string session, string _pvs_site);
[XmlRpcMethod("PVS_farm.introduce")] [XmlRpcMethod("PVS_site.introduce")]
Response<string> Response<string>
pvs_farm_introduce(string session, string _name); pvs_site_introduce(string session, string _name);
[XmlRpcMethod("Async.PVS_farm.introduce")] [XmlRpcMethod("Async.PVS_site.introduce")]
Response<string> Response<string>
async_pvs_farm_introduce(string session, string _name); async_pvs_site_introduce(string session, string _name);
[XmlRpcMethod("PVS_farm.forget")] [XmlRpcMethod("PVS_site.forget")]
Response<string> Response<string>
pvs_farm_forget(string session, string _pvs_farm); pvs_site_forget(string session, string _pvs_site);
[XmlRpcMethod("Async.PVS_farm.forget")] [XmlRpcMethod("Async.PVS_site.forget")]
Response<string> Response<string>
async_pvs_farm_forget(string session, string _pvs_farm); async_pvs_site_forget(string session, string _pvs_site);
[XmlRpcMethod("PVS_farm.set_name")] [XmlRpcMethod("PVS_site.set_name")]
Response<string> Response<string>
pvs_farm_set_name(string session, string _pvs_farm, string _value); pvs_site_set_name(string session, string _pvs_site, string _value);
[XmlRpcMethod("Async.PVS_farm.set_name")] [XmlRpcMethod("Async.PVS_site.set_name")]
Response<string> Response<string>
async_pvs_farm_set_name(string session, string _pvs_farm, string _value); async_pvs_site_set_name(string session, string _pvs_site, string _value);
[XmlRpcMethod("PVS_farm.add_cache_storage")] [XmlRpcMethod("PVS_site.add_cache_storage")]
Response<string> Response<string>
pvs_farm_add_cache_storage(string session, string _pvs_farm, string _value); pvs_site_add_cache_storage(string session, string _pvs_site, string _value);
[XmlRpcMethod("Async.PVS_farm.add_cache_storage")] [XmlRpcMethod("Async.PVS_site.add_cache_storage")]
Response<string> Response<string>
async_pvs_farm_add_cache_storage(string session, string _pvs_farm, string _value); async_pvs_site_add_cache_storage(string session, string _pvs_site, string _value);
[XmlRpcMethod("PVS_farm.remove_cache_storage")] [XmlRpcMethod("PVS_site.remove_cache_storage")]
Response<string> Response<string>
pvs_farm_remove_cache_storage(string session, string _pvs_farm, string _value); pvs_site_remove_cache_storage(string session, string _pvs_site, string _value);
[XmlRpcMethod("Async.PVS_farm.remove_cache_storage")] [XmlRpcMethod("Async.PVS_site.remove_cache_storage")]
Response<string> Response<string>
async_pvs_farm_remove_cache_storage(string session, string _pvs_farm, string _value); async_pvs_site_remove_cache_storage(string session, string _pvs_site, string _value);
[XmlRpcMethod("PVS_farm.get_all")] [XmlRpcMethod("PVS_site.get_all")]
Response<string []> Response<string []>
pvs_farm_get_all(string session); pvs_site_get_all(string session);
[XmlRpcMethod("PVS_farm.get_all_records")] [XmlRpcMethod("PVS_site.get_all_records")]
Response<Object> Response<Object>
pvs_farm_get_all_records(string session); pvs_site_get_all_records(string session);
[XmlRpcMethod("PVS_server.get_record")] [XmlRpcMethod("PVS_server.get_record")]
Response<Proxy_PVS_server> Response<Proxy_PVS_server>
@ -6964,17 +6976,17 @@ namespace XenAPI
Response<string> Response<string>
pvs_server_get_last_port(string session, string _pvs_server); pvs_server_get_last_port(string session, string _pvs_server);
[XmlRpcMethod("PVS_server.get_farm")] [XmlRpcMethod("PVS_server.get_site")]
Response<string> Response<string>
pvs_server_get_farm(string session, string _pvs_server); pvs_server_get_site(string session, string _pvs_server);
[XmlRpcMethod("PVS_server.introduce")] [XmlRpcMethod("PVS_server.introduce")]
Response<string> Response<string>
pvs_server_introduce(string session, string [] _addresses, string _first_port, string _last_port, string _farm); pvs_server_introduce(string session, string [] _addresses, string _first_port, string _last_port, string _site);
[XmlRpcMethod("Async.PVS_server.introduce")] [XmlRpcMethod("Async.PVS_server.introduce")]
Response<string> Response<string>
async_pvs_server_introduce(string session, string [] _addresses, string _first_port, string _last_port, string _farm); async_pvs_server_introduce(string session, string [] _addresses, string _first_port, string _last_port, string _site);
[XmlRpcMethod("PVS_server.forget")] [XmlRpcMethod("PVS_server.forget")]
Response<string> Response<string>
@ -7004,9 +7016,9 @@ namespace XenAPI
Response<string> Response<string>
pvs_proxy_get_uuid(string session, string _pvs_proxy); pvs_proxy_get_uuid(string session, string _pvs_proxy);
[XmlRpcMethod("PVS_proxy.get_farm")] [XmlRpcMethod("PVS_proxy.get_site")]
Response<string> Response<string>
pvs_proxy_get_farm(string session, string _pvs_proxy); pvs_proxy_get_site(string session, string _pvs_proxy);
[XmlRpcMethod("PVS_proxy.get_VIF")] [XmlRpcMethod("PVS_proxy.get_VIF")]
Response<string> Response<string>
@ -7026,11 +7038,11 @@ namespace XenAPI
[XmlRpcMethod("PVS_proxy.create")] [XmlRpcMethod("PVS_proxy.create")]
Response<string> Response<string>
pvs_proxy_create(string session, string _farm, string _vif, bool _prepopulate); pvs_proxy_create(string session, string _site, string _vif, bool _prepopulate);
[XmlRpcMethod("Async.PVS_proxy.create")] [XmlRpcMethod("Async.PVS_proxy.create")]
Response<string> Response<string>
async_pvs_proxy_create(string session, string _farm, string _vif, bool _prepopulate); async_pvs_proxy_create(string session, string _site, string _vif, bool _prepopulate);
[XmlRpcMethod("PVS_proxy.destroy")] [XmlRpcMethod("PVS_proxy.destroy")]
Response<string> Response<string>
@ -7055,6 +7067,50 @@ namespace XenAPI
[XmlRpcMethod("PVS_proxy.get_all_records")] [XmlRpcMethod("PVS_proxy.get_all_records")]
Response<Object> Response<Object>
pvs_proxy_get_all_records(string session); pvs_proxy_get_all_records(string session);
[XmlRpcMethod("PVS_cache_storage.get_record")]
Response<Proxy_PVS_cache_storage>
pvs_cache_storage_get_record(string session, string _pvs_cache_storage);
[XmlRpcMethod("PVS_cache_storage.get_by_uuid")]
Response<string>
pvs_cache_storage_get_by_uuid(string session, string _uuid);
[XmlRpcMethod("PVS_cache_storage.create")]
Response<string>
pvs_cache_storage_create(string session, Proxy_PVS_cache_storage _record);
[XmlRpcMethod("Async.PVS_cache_storage.create")]
Response<string>
async_pvs_cache_storage_create(string session, Proxy_PVS_cache_storage _record);
[XmlRpcMethod("PVS_cache_storage.destroy")]
Response<string>
pvs_cache_storage_destroy(string session, string _pvs_cache_storage);
[XmlRpcMethod("Async.PVS_cache_storage.destroy")]
Response<string>
async_pvs_cache_storage_destroy(string session, string _pvs_cache_storage);
[XmlRpcMethod("PVS_cache_storage.get_uuid")]
Response<string>
pvs_cache_storage_get_uuid(string session, string _pvs_cache_storage);
[XmlRpcMethod("PVS_cache_storage.get_site")]
Response<string>
pvs_cache_storage_get_site(string session, string _pvs_cache_storage);
[XmlRpcMethod("PVS_cache_storage.get_SR")]
Response<string>
pvs_cache_storage_get_sr(string session, string _pvs_cache_storage);
[XmlRpcMethod("PVS_cache_storage.get_size")]
Response<string>
pvs_cache_storage_get_size(string session, string _pvs_cache_storage);
[XmlRpcMethod("PVS_cache_storage.get_all_records")]
Response<Object>
pvs_cache_storage_get_all_records(string session);
} }
[XmlRpcMissingMapping(MappingAction.Ignore)] [XmlRpcMissingMapping(MappingAction.Ignore)]
@ -7255,6 +7311,7 @@ namespace XenAPI
public string generation_id; public string generation_id;
public string hardware_platform_version; public string hardware_platform_version;
public bool has_vendor_device; public bool has_vendor_device;
public bool requires_reboot;
} }
[XmlRpcMissingMapping(MappingAction.Ignore)] [XmlRpcMissingMapping(MappingAction.Ignore)]
@ -7891,7 +7948,7 @@ namespace XenAPI
} }
[XmlRpcMissingMapping(MappingAction.Ignore)] [XmlRpcMissingMapping(MappingAction.Ignore)]
public class Proxy_PVS_farm public class Proxy_PVS_site
{ {
public string uuid; public string uuid;
public string name; public string name;
@ -7907,18 +7964,27 @@ namespace XenAPI
public string [] addresses; public string [] addresses;
public string first_port; public string first_port;
public string last_port; public string last_port;
public string farm; public string site;
} }
[XmlRpcMissingMapping(MappingAction.Ignore)] [XmlRpcMissingMapping(MappingAction.Ignore)]
public class Proxy_PVS_proxy public class Proxy_PVS_proxy
{ {
public string uuid; public string uuid;
public string farm; public string site;
public string VIF; public string VIF;
public bool prepopulate; public bool prepopulate;
public bool currently_attached; public bool currently_attached;
public string cache_SR; public string cache_SR;
} }
[XmlRpcMissingMapping(MappingAction.Ignore)]
public class Proxy_PVS_cache_storage
{
public string uuid;
public string site;
public string SR;
public string size;
}
} }

View File

@ -96,6 +96,11 @@ namespace XenAPI
new Relation("bond_master_of", "Bond", "master"), new Relation("bond_master_of", "Bond", "master"),
}); });
relations.Add(typeof(Proxy_PVS_site), new Relation[] {
new Relation("proxies", "PVS_proxy", "site"),
new Relation("servers", "PVS_server", "site"),
});
relations.Add(typeof(Proxy_DR_task), new Relation[] { relations.Add(typeof(Proxy_DR_task), new Relation[] {
new Relation("introduced_SRs", "SR", "introduced_by"), new Relation("introduced_SRs", "SR", "introduced_by"),
}); });
@ -109,11 +114,6 @@ namespace XenAPI
new Relation("subtasks", "task", "subtask_of"), new Relation("subtasks", "task", "subtask_of"),
}); });
relations.Add(typeof(Proxy_PVS_farm), new Relation[] {
new Relation("proxies", "PVS_proxy", "farm"),
new Relation("servers", "PVS_server", "farm"),
});
relations.Add(typeof(Proxy_PGPU), new Relation[] { relations.Add(typeof(Proxy_PGPU), new Relation[] {
new Relation("resident_VGPUs", "VGPU", "resident_on"), new Relation("resident_VGPUs", "VGPU", "resident_on"),
}); });

View File

@ -124,7 +124,8 @@ namespace XenAPI
long version, long version,
string generation_id, string generation_id,
long hardware_platform_version, long hardware_platform_version,
bool has_vendor_device) bool has_vendor_device,
bool requires_reboot)
{ {
this.uuid = uuid; this.uuid = uuid;
this.allowed_operations = allowed_operations; this.allowed_operations = allowed_operations;
@ -203,6 +204,7 @@ namespace XenAPI
this.generation_id = generation_id; this.generation_id = generation_id;
this.hardware_platform_version = hardware_platform_version; this.hardware_platform_version = hardware_platform_version;
this.has_vendor_device = has_vendor_device; this.has_vendor_device = has_vendor_device;
this.requires_reboot = requires_reboot;
} }
/// <summary> /// <summary>
@ -293,6 +295,7 @@ namespace XenAPI
generation_id = update.generation_id; generation_id = update.generation_id;
hardware_platform_version = update.hardware_platform_version; hardware_platform_version = update.hardware_platform_version;
has_vendor_device = update.has_vendor_device; has_vendor_device = update.has_vendor_device;
requires_reboot = update.requires_reboot;
} }
internal void UpdateFromProxy(Proxy_VM proxy) internal void UpdateFromProxy(Proxy_VM proxy)
@ -374,6 +377,7 @@ namespace XenAPI
generation_id = proxy.generation_id == null ? null : (string)proxy.generation_id; generation_id = proxy.generation_id == null ? null : (string)proxy.generation_id;
hardware_platform_version = proxy.hardware_platform_version == null ? 0 : long.Parse((string)proxy.hardware_platform_version); hardware_platform_version = proxy.hardware_platform_version == null ? 0 : long.Parse((string)proxy.hardware_platform_version);
has_vendor_device = (bool)proxy.has_vendor_device; has_vendor_device = (bool)proxy.has_vendor_device;
requires_reboot = (bool)proxy.requires_reboot;
} }
public Proxy_VM ToProxy() public Proxy_VM ToProxy()
@ -456,6 +460,7 @@ namespace XenAPI
result_.generation_id = (generation_id != null) ? generation_id : ""; result_.generation_id = (generation_id != null) ? generation_id : "";
result_.hardware_platform_version = hardware_platform_version.ToString(); result_.hardware_platform_version = hardware_platform_version.ToString();
result_.has_vendor_device = has_vendor_device; result_.has_vendor_device = has_vendor_device;
result_.requires_reboot = requires_reboot;
return result_; return result_;
} }
@ -542,6 +547,7 @@ namespace XenAPI
generation_id = Marshalling.ParseString(table, "generation_id"); generation_id = Marshalling.ParseString(table, "generation_id");
hardware_platform_version = Marshalling.ParseLong(table, "hardware_platform_version"); hardware_platform_version = Marshalling.ParseLong(table, "hardware_platform_version");
has_vendor_device = Marshalling.ParseBool(table, "has_vendor_device"); has_vendor_device = Marshalling.ParseBool(table, "has_vendor_device");
requires_reboot = Marshalling.ParseBool(table, "requires_reboot");
} }
public bool DeepEquals(VM other, bool ignoreCurrentOperations) public bool DeepEquals(VM other, bool ignoreCurrentOperations)
@ -629,7 +635,8 @@ namespace XenAPI
Helper.AreEqual2(this._version, other._version) && Helper.AreEqual2(this._version, other._version) &&
Helper.AreEqual2(this._generation_id, other._generation_id) && Helper.AreEqual2(this._generation_id, other._generation_id) &&
Helper.AreEqual2(this._hardware_platform_version, other._hardware_platform_version) && Helper.AreEqual2(this._hardware_platform_version, other._hardware_platform_version) &&
Helper.AreEqual2(this._has_vendor_device, other._has_vendor_device); Helper.AreEqual2(this._has_vendor_device, other._has_vendor_device) &&
Helper.AreEqual2(this._requires_reboot, other._requires_reboot);
} }
public override string SaveChanges(Session session, string opaqueRef, VM server) public override string SaveChanges(Session session, string opaqueRef, VM server)
@ -1743,6 +1750,17 @@ namespace XenAPI
return (bool)session.proxy.vm_get_has_vendor_device(session.uuid, (_vm != null) ? _vm : "").parse(); return (bool)session.proxy.vm_get_has_vendor_device(session.uuid, (_vm != null) ? _vm : "").parse();
} }
/// <summary>
/// Get the requires_reboot field of the given VM.
/// First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_vm">The opaque_ref of the given vm</param>
public static bool get_requires_reboot(Session session, string _vm)
{
return (bool)session.proxy.vm_get_requires_reboot(session.uuid, (_vm != null) ? _vm : "").parse();
}
/// <summary> /// <summary>
/// Set the name/label field of the given VM. /// Set the name/label field of the given VM.
/// First published in XenServer 4.0. /// First published in XenServer 4.0.
@ -2957,6 +2975,30 @@ namespace XenAPI
return XenRef<Task>.Create(session.proxy.async_vm_set_memory_limits(session.uuid, (_vm != null) ? _vm : "", _static_min.ToString(), _static_max.ToString(), _dynamic_min.ToString(), _dynamic_max.ToString()).parse()); return XenRef<Task>.Create(session.proxy.async_vm_set_memory_limits(session.uuid, (_vm != null) ? _vm : "", _static_min.ToString(), _static_max.ToString(), _dynamic_min.ToString(), _dynamic_max.ToString()).parse());
} }
/// <summary>
/// Set the memory allocation of this VM. Sets all of memory_static_max, memory_dynamic_min, and memory_dynamic_max to the given value, and leaves memory_static_min untouched.
/// First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_vm">The opaque_ref of the given vm</param>
/// <param name="_value">The new memory allocation (bytes).</param>
public static void set_memory(Session session, string _vm, long _value)
{
session.proxy.vm_set_memory(session.uuid, (_vm != null) ? _vm : "", _value.ToString()).parse();
}
/// <summary>
/// Set the memory allocation of this VM. Sets all of memory_static_max, memory_dynamic_min, and memory_dynamic_max to the given value, and leaves memory_static_min untouched.
/// First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_vm">The opaque_ref of the given vm</param>
/// <param name="_value">The new memory allocation (bytes).</param>
public static XenRef<Task> async_set_memory(Session session, string _vm, long _value)
{
return XenRef<Task>.Create(session.proxy.async_vm_set_memory(session.uuid, (_vm != null) ? _vm : "", _value.ToString()).parse());
}
/// <summary> /// <summary>
/// Set the memory target for a running VM /// Set the memory target for a running VM
/// First published in XenServer 4.0. /// First published in XenServer 4.0.
@ -5302,5 +5344,24 @@ namespace XenAPI
} }
} }
private bool _has_vendor_device; private bool _has_vendor_device;
/// <summary>
/// Indicates whether a VM requires a reboot in order to update its configuration, e.g. its memory allocation.
/// First published in .
/// </summary>
public virtual bool requires_reboot
{
get { return _requires_reboot; }
set
{
if (!Helper.AreEqual(value, _requires_reboot))
{
_requires_reboot = value;
Changed = true;
NotifyPropertyChanged("requires_reboot");
}
}
}
private bool _requires_reboot;
} }
} }

View File

@ -77,6 +77,7 @@
<Compile Include="Actions\Folders\FolderAction.cs" /> <Compile Include="Actions\Folders\FolderAction.cs" />
<Compile Include="Actions\GPU\VgpuConfigurationAction.cs" /> <Compile Include="Actions\GPU\VgpuConfigurationAction.cs" />
<Compile Include="Actions\Host\ApplyLicenseEditionAction.cs" /> <Compile Include="Actions\Host\ApplyLicenseEditionAction.cs" />
<Compile Include="Actions\Host\ChangeControlDomainMemoryAction.cs" />
<Compile Include="Actions\Host\DestroyHostAction.cs" /> <Compile Include="Actions\Host\DestroyHostAction.cs" />
<Compile Include="Actions\Host\EnableHostAction.cs" /> <Compile Include="Actions\Host\EnableHostAction.cs" />
<Compile Include="Actions\Host\EvacuateHostAction.cs" /> <Compile Include="Actions\Host\EvacuateHostAction.cs" />
@ -324,7 +325,7 @@
<Compile Include="WLB\WlbHostConfiguration.cs" /> <Compile Include="WLB\WlbHostConfiguration.cs" />
<Compile Include="WLB\WlbServerState.cs" /> <Compile Include="WLB\WlbServerState.cs" />
<Compile Include="XenAPI-Extensions\Blob.cs" /> <Compile Include="XenAPI-Extensions\Blob.cs" />
<Compile Include="XenAPI-Extensions\PVS_farm.cs" /> <Compile Include="XenAPI-Extensions\PVS_site.cs" />
<Compile Include="XenAPI-Extensions\PVS_proxy.cs" /> <Compile Include="XenAPI-Extensions\PVS_proxy.cs" />
<Compile Include="XenAPI-Extensions\VM_Docker_Info.cs" /> <Compile Include="XenAPI-Extensions\VM_Docker_Info.cs" />
<Compile Include="XenAPI-Extensions\GPU_group.cs" /> <Compile Include="XenAPI-Extensions\GPU_group.cs" />
@ -355,9 +356,10 @@
<Compile Include="XenAPI\pgpu_dom0_access.cs" /> <Compile Include="XenAPI\pgpu_dom0_access.cs" />
<Compile Include="XenAPI\pool_allowed_operations.cs" /> <Compile Include="XenAPI\pool_allowed_operations.cs" />
<Compile Include="XenAPI\primary_address_type.cs" /> <Compile Include="XenAPI\primary_address_type.cs" />
<Compile Include="XenAPI\PVS_farm.cs" /> <Compile Include="XenAPI\PVS_cache_storage.cs" />
<Compile Include="XenAPI\PVS_proxy.cs" /> <Compile Include="XenAPI\PVS_proxy.cs" />
<Compile Include="XenAPI\PVS_server.cs" /> <Compile Include="XenAPI\PVS_server.cs" />
<Compile Include="XenAPI\PVS_site.cs" />
<Compile Include="XenAPI\tristate_type.cs" /> <Compile Include="XenAPI\tristate_type.cs" />
<Compile Include="XenAPI\VGPU.cs" /> <Compile Include="XenAPI\VGPU.cs" />
<Compile Include="XenAPI\VGPU_type.cs" /> <Compile Include="XenAPI\VGPU_type.cs" />