Changeset 7857


Ignore:
Timestamp:
05/21/12 15:12:15 (7 years ago)
Author:
jkarder
Message:

#1854:

  • integrated marker attribute (IsDisposable) into the Hive components
  • adjusted database scheme
  • extended administration user interface
Location:
trunk/sources
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Clients.Hive.Administrator/3.3/Views/SlaveView.Designer.cs

    r7259 r7857  
    6565      this.label3 = new System.Windows.Forms.Label();
    6666      this.txtHbIntervall = new System.Windows.Forms.TextBox();
     67      this.cbxDisposable = new System.Windows.Forms.CheckBox();
     68      this.label4 = new System.Windows.Forms.Label();
    6769      this.SuspendLayout();
    6870      //
    6971      // txtSlaveState
    7072      //
    71       this.txtSlaveState.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    72                   | System.Windows.Forms.AnchorStyles.Right)));
     73      this.txtSlaveState.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
     74            | System.Windows.Forms.AnchorStyles.Right)));
    7375      this.txtSlaveState.Enabled = false;
    7476      this.txtSlaveState.Location = new System.Drawing.Point(146, 216);
     
    7981      // txtOS
    8082      //
    81       this.txtOS.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    82                   | System.Windows.Forms.AnchorStyles.Right)));
     83      this.txtOS.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
     84            | System.Windows.Forms.AnchorStyles.Right)));
    8385      this.txtOS.Enabled = false;
    8486      this.txtOS.Location = new System.Drawing.Point(146, 190);
     
    107109      // txtDetailsDescription
    108110      //
    109       this.txtDetailsDescription.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    110                   | System.Windows.Forms.AnchorStyles.Right)));
     111      this.txtDetailsDescription.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
     112            | System.Windows.Forms.AnchorStyles.Right)));
    111113      this.txtDetailsDescription.Enabled = false;
    112114      this.txtDetailsDescription.Location = new System.Drawing.Point(146, 86);
     
    126128      // txtName
    127129      //
    128       this.txtName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    129                   | System.Windows.Forms.AnchorStyles.Right)));
     130      this.txtName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
     131            | System.Windows.Forms.AnchorStyles.Right)));
    130132      this.txtName.Location = new System.Drawing.Point(146, 8);
    131133      this.txtName.Name = "txtName";
     
    136138      // txtCPU
    137139      //
    138       this.txtCPU.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    139                   | System.Windows.Forms.AnchorStyles.Right)));
     140      this.txtCPU.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
     141            | System.Windows.Forms.AnchorStyles.Right)));
    140142      this.txtCPU.Enabled = false;
    141143      this.txtCPU.Location = new System.Drawing.Point(146, 112);
     
    146148      // txtMemory
    147149      //
    148       this.txtMemory.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    149                   | System.Windows.Forms.AnchorStyles.Right)));
     150      this.txtMemory.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
     151            | System.Windows.Forms.AnchorStyles.Right)));
    150152      this.txtMemory.Enabled = false;
    151153      this.txtMemory.Location = new System.Drawing.Point(146, 138);
     
    156158      // txtLastHeartbeat
    157159      //
    158       this.txtLastHeartbeat.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    159                   | System.Windows.Forms.AnchorStyles.Right)));
     160      this.txtLastHeartbeat.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
     161            | System.Windows.Forms.AnchorStyles.Right)));
    160162      this.txtLastHeartbeat.Enabled = false;
    161163      this.txtLastHeartbeat.Location = new System.Drawing.Point(146, 242);
     
    211213      // txtFreeMemory
    212214      //
    213       this.txtFreeMemory.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    214                   | System.Windows.Forms.AnchorStyles.Right)));
     215      this.txtFreeMemory.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
     216            | System.Windows.Forms.AnchorStyles.Right)));
    215217      this.txtFreeMemory.Enabled = false;
    216218      this.txtFreeMemory.Location = new System.Drawing.Point(146, 164);
     
    221223      // txtId
    222224      //
    223       this.txtId.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    224                   | System.Windows.Forms.AnchorStyles.Right)));
     225      this.txtId.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
     226            | System.Windows.Forms.AnchorStyles.Right)));
    225227      this.txtId.Enabled = false;
    226228      this.txtId.Location = new System.Drawing.Point(146, 60);
     
    249251      // txtHbIntervall
    250252      //
    251       this.txtHbIntervall.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    252                   | System.Windows.Forms.AnchorStyles.Right)));
     253      this.txtHbIntervall.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
     254            | System.Windows.Forms.AnchorStyles.Right)));
    253255      this.txtHbIntervall.Location = new System.Drawing.Point(146, 34);
    254256      this.txtHbIntervall.Name = "txtHbIntervall";
     
    257259      this.txtHbIntervall.TextChanged += new System.EventHandler(this.txtHbIntervall_TextChanged);
    258260      //
     261      // cbxDisposable
     262      //
     263      this.cbxDisposable.AutoSize = true;
     264      this.cbxDisposable.Location = new System.Drawing.Point(146, 268);
     265      this.cbxDisposable.Name = "cbxDisposable";
     266      this.cbxDisposable.Size = new System.Drawing.Size(15, 14);
     267      this.cbxDisposable.TabIndex = 34;
     268      this.cbxDisposable.UseVisualStyleBackColor = true;
     269      this.cbxDisposable.CheckedChanged += new System.EventHandler(this.checkBox1_CheckedChanged);
     270      //
     271      // label4
     272      //
     273      this.label4.AutoSize = true;
     274      this.label4.Location = new System.Drawing.Point(3, 269);
     275      this.label4.Name = "label4";
     276      this.label4.Size = new System.Drawing.Size(62, 13);
     277      this.label4.TabIndex = 35;
     278      this.label4.Text = "Disposable:";
     279      //
    259280      // SlaveView
    260281      //
    261282      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
    262283      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
     284      this.Controls.Add(this.label4);
     285      this.Controls.Add(this.cbxDisposable);
    263286      this.Controls.Add(this.txtHbIntervall);
    264287      this.Controls.Add(this.label3);
     
    282305      this.Controls.Add(this.label9);
    283306      this.Name = "SlaveView";
    284       this.Size = new System.Drawing.Size(539, 267);
     307      this.Size = new System.Drawing.Size(539, 285);
    285308      this.ResumeLayout(false);
    286309      this.PerformLayout();
     
    310333    private System.Windows.Forms.Label label3;
    311334    private System.Windows.Forms.TextBox txtHbIntervall;
     335    private System.Windows.Forms.CheckBox cbxDisposable;
     336    private System.Windows.Forms.Label label4;
    312337  }
    313338}
  • trunk/sources/HeuristicLab.Clients.Hive.Administrator/3.3/Views/SlaveView.cs

    r7259 r7857  
    6262        txtId.Clear();
    6363        txtHbIntervall.Clear();
     64        cbxDisposable.Checked = false;
    6465      } else {
    6566        if (Content.GetType() == typeof(Slave)) {
     
    6869          txtName.Text = ct.Name;
    6970          txtHbIntervall.Text = ct.HbInterval.ToString();
     71          cbxDisposable.Checked = ct.IsDisposable;
    7072          txtCPU.Text = string.Format("{0} Cores @ {1} Mhz, Arch.: {2}", ct.Cores.ToString(), ct.CpuSpeed.ToString(), ct.CpuArchitecture.ToString());
    7173          txtDetailsDescription.Text = ct.Description;
     
    8890
    8991    private void ShowSlaveUI(bool show) {
     92      label1.Visible = show;
    9093      label2.Visible = show;
    91       label1.Visible = show;
     94      label4.Visible = show;
    9295      label10.Visible = show;
    9396      label11.Visible = show;
     
    105108      txtId.Visible = show;
    106109      txtName.Enabled = !show;
     110      cbxDisposable.Visible = show;
    107111    }
    108112
     
    131135      }
    132136    }
     137
     138    private void checkBox1_CheckedChanged(object sender, EventArgs e) {
     139      if (Content != null) {
     140        ((Slave)Content).IsDisposable = cbxDisposable.Checked;
     141      }
     142    }
    133143  }
    134144}
  • trunk/sources/HeuristicLab.Clients.Hive.Slave/3.3/Manager/ConfigManager.cs

    r7777 r7857  
    7272      slave.OperatingSystem = Environment.OSVersion.VersionString;
    7373      slave.CpuSpeed = GetCpuSpeed();
     74      slave.IsDisposable = true;
    7475
    7576      UpdateSlaveInfo();
  • trunk/sources/HeuristicLab.Clients.Hive/3.3/ServiceClients/HiveServiceClient.cs

    r6976 r7857  
    22// <auto-generated>
    33//     This code was generated by a tool.
    4 //     Runtime Version:4.0.30319.237
     4//     Runtime Version:4.0.30319.269
    55//
    66//     Changes to this file may cause incorrect behavior and will be lost if
     
    1414  [System.Diagnostics.DebuggerStepThroughAttribute()]
    1515  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    16   [System.Runtime.Serialization.DataContractAttribute(Name = "Heartbeat", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
    17   [System.SerializableAttribute()]
    18   public partial class Heartbeat : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
    19 
    20     [System.NonSerializedAttribute()]
    21     private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
    22 
    23     [System.Runtime.Serialization.OptionalFieldAttribute()]
    24     private bool AssignJobField;
    25 
    26     [System.Runtime.Serialization.OptionalFieldAttribute()]
    27     private float CpuUtilizationField;
    28 
    29     [System.Runtime.Serialization.OptionalFieldAttribute()]
    30     private int FreeCoresField;
    31 
    32     [System.Runtime.Serialization.OptionalFieldAttribute()]
    33     private int FreeMemoryField;
    34 
    35     [System.Runtime.Serialization.OptionalFieldAttribute()]
    36     private int HbIntervalField;
    37 
    38     [System.Runtime.Serialization.OptionalFieldAttribute()]
    39     private System.Collections.Generic.Dictionary<System.Guid, System.TimeSpan> JobProgressField;
    40 
    41     [System.Runtime.Serialization.OptionalFieldAttribute()]
    42     private System.Guid SlaveIdField;
    43 
    44     public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
    45       get {
    46         return this.extensionDataField;
    47       }
    48       set {
    49         this.extensionDataField = value;
    50       }
    51     }
    52 
    53     [System.Runtime.Serialization.DataMemberAttribute()]
    54     public bool AssignJob {
    55       get {
    56         return this.AssignJobField;
    57       }
    58       set {
    59         if ((this.AssignJobField.Equals(value) != true)) {
    60           this.AssignJobField = value;
    61           this.RaisePropertyChanged("AssignJob");
    62         }
    63       }
    64     }
    65 
    66     [System.Runtime.Serialization.DataMemberAttribute()]
    67     public float CpuUtilization {
    68       get {
    69         return this.CpuUtilizationField;
    70       }
    71       set {
    72         if ((this.CpuUtilizationField.Equals(value) != true)) {
    73           this.CpuUtilizationField = value;
    74           this.RaisePropertyChanged("CpuUtilization");
    75         }
    76       }
    77     }
    78 
    79     [System.Runtime.Serialization.DataMemberAttribute()]
    80     public int FreeCores {
    81       get {
    82         return this.FreeCoresField;
    83       }
    84       set {
    85         if ((this.FreeCoresField.Equals(value) != true)) {
    86           this.FreeCoresField = value;
    87           this.RaisePropertyChanged("FreeCores");
    88         }
    89       }
    90     }
    91 
    92     [System.Runtime.Serialization.DataMemberAttribute()]
    93     public int FreeMemory {
    94       get {
    95         return this.FreeMemoryField;
    96       }
    97       set {
    98         if ((this.FreeMemoryField.Equals(value) != true)) {
    99           this.FreeMemoryField = value;
    100           this.RaisePropertyChanged("FreeMemory");
    101         }
    102       }
    103     }
    104 
    105     [System.Runtime.Serialization.DataMemberAttribute()]
    106     public int HbInterval {
    107       get {
    108         return this.HbIntervalField;
    109       }
    110       set {
    111         if ((this.HbIntervalField.Equals(value) != true)) {
    112           this.HbIntervalField = value;
    113           this.RaisePropertyChanged("HbInterval");
    114         }
    115       }
    116     }
    117 
    118     [System.Runtime.Serialization.DataMemberAttribute()]
    119     public System.Collections.Generic.Dictionary<System.Guid, System.TimeSpan> JobProgress {
    120       get {
    121         return this.JobProgressField;
    122       }
    123       set {
    124         if ((object.ReferenceEquals(this.JobProgressField, value) != true)) {
    125           this.JobProgressField = value;
    126           this.RaisePropertyChanged("JobProgress");
    127         }
    128       }
    129     }
    130 
    131     [System.Runtime.Serialization.DataMemberAttribute()]
    132     public System.Guid SlaveId {
    133       get {
    134         return this.SlaveIdField;
    135       }
    136       set {
    137         if ((this.SlaveIdField.Equals(value) != true)) {
    138           this.SlaveIdField = value;
    139           this.RaisePropertyChanged("SlaveId");
    140         }
    141       }
    142     }
    143 
    144     public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
    145 
    146     protected void RaisePropertyChanged(string propertyName) {
    147       System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
    148       if ((propertyChanged != null)) {
    149         propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
    150       }
    151     }
    152   }
    153 
    154   [System.Diagnostics.DebuggerStepThroughAttribute()]
    155   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    156   [System.Runtime.Serialization.DataContractAttribute(Name = "MessageContainer", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive")]
    157   [System.SerializableAttribute()]
    158   public partial class MessageContainer : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
    159 
    160     [System.NonSerializedAttribute()]
    161     private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
    162 
    163     [System.Runtime.Serialization.OptionalFieldAttribute()]
    164     private HeuristicLab.Clients.Hive.MessageContainer.MessageType MessageField;
    165 
    166     [System.Runtime.Serialization.OptionalFieldAttribute()]
    167     private System.Guid TaskIdField;
    168 
    169     public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
    170       get {
    171         return this.extensionDataField;
    172       }
    173       set {
    174         this.extensionDataField = value;
    175       }
    176     }
    177 
    178     [System.Runtime.Serialization.DataMemberAttribute()]
    179     public HeuristicLab.Clients.Hive.MessageContainer.MessageType Message {
    180       get {
    181         return this.MessageField;
    182       }
    183       set {
    184         if ((this.MessageField.Equals(value) != true)) {
    185           this.MessageField = value;
    186           this.RaisePropertyChanged("Message");
    187         }
    188       }
    189     }
    190 
    191     [System.Runtime.Serialization.DataMemberAttribute()]
    192     public System.Guid TaskId {
    193       get {
    194         return this.TaskIdField;
    195       }
    196       set {
    197         if ((this.TaskIdField.Equals(value) != true)) {
    198           this.TaskIdField = value;
    199           this.RaisePropertyChanged("TaskId");
    200         }
    201       }
    202     }
    203 
    204     public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
    205 
    206     protected void RaisePropertyChanged(string propertyName) {
    207       System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
    208       if ((propertyChanged != null)) {
    209         propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
    210       }
    211     }
    212 
    213     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    214     [System.Runtime.Serialization.DataContractAttribute(Name = "MessageContainer.MessageType", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive")]
    215     public enum MessageType : int {
    216 
    217       [System.Runtime.Serialization.EnumMemberAttribute()]
    218       CalculateTask = 0,
    219 
    220       [System.Runtime.Serialization.EnumMemberAttribute()]
    221       StopTask = 1,
    222 
    223       [System.Runtime.Serialization.EnumMemberAttribute()]
    224       StopAll = 2,
    225 
    226       [System.Runtime.Serialization.EnumMemberAttribute()]
    227       AbortTask = 3,
    228 
    229       [System.Runtime.Serialization.EnumMemberAttribute()]
    230       AbortAll = 4,
    231 
    232       [System.Runtime.Serialization.EnumMemberAttribute()]
    233       PauseTask = 5,
    234 
    235       [System.Runtime.Serialization.EnumMemberAttribute()]
    236       PauseAll = 6,
    237 
    238       [System.Runtime.Serialization.EnumMemberAttribute()]
    239       Restart = 7,
    240 
    241       [System.Runtime.Serialization.EnumMemberAttribute()]
    242       Sleep = 8,
    243 
    244       [System.Runtime.Serialization.EnumMemberAttribute()]
    245       ShutdownSlave = 9,
    246 
    247       [System.Runtime.Serialization.EnumMemberAttribute()]
    248       SayHello = 10,
    249 
    250       [System.Runtime.Serialization.EnumMemberAttribute()]
    251       NewHBInterval = 11,
    252     }
    253   }
    254 
    255   [System.Diagnostics.DebuggerStepThroughAttribute()]
    256   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    25716  [System.Runtime.Serialization.DataContractAttribute(Name = "HiveItem", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
    25817  [System.SerializableAttribute()]
    259   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.PluginData))]
    26018  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.LightweightTask))]
    26119  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.StateLog))]
     
    26321  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Downtime))]
    26422  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.JobPermission))]
     23  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.PluginData))]
    26524  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.NamedHiveItem))]
     25  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Job))]
     26  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Plugin))]
    26627  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Resource))]
    26728  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Slave))]
    26829  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.SlaveGroup))]
    269   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Job))]
    270   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Plugin))]
    27130  public partial class HiveItem : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
    27231
     
    30059
    30160    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
    302   }
    303 
    304   [System.Diagnostics.DebuggerStepThroughAttribute()]
    305   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    306   [System.Runtime.Serialization.DataContractAttribute(Name = "PluginData", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
    307   [System.SerializableAttribute()]
    308   public partial class PluginData : HeuristicLab.Clients.Hive.HiveItem {
    309 
    310     [System.Runtime.Serialization.OptionalFieldAttribute()]
    311     private byte[] DataField;
    312 
    313     [System.Runtime.Serialization.OptionalFieldAttribute()]
    314     private string FileNameField;
    315 
    316     [System.Runtime.Serialization.OptionalFieldAttribute()]
    317     private System.Guid PluginIdField;
    318 
    319     [System.Runtime.Serialization.DataMemberAttribute()]
    320     public byte[] Data {
    321       get {
    322         return this.DataField;
    323       }
    324       set {
    325         if ((object.ReferenceEquals(this.DataField, value) != true)) {
    326           this.DataField = value;
    327           this.RaisePropertyChanged("Data");
    328         }
    329       }
    330     }
    331 
    332     [System.Runtime.Serialization.DataMemberAttribute()]
    333     public string FileName {
    334       get {
    335         return this.FileNameField;
    336       }
    337       set {
    338         if ((object.ReferenceEquals(this.FileNameField, value) != true)) {
    339           this.FileNameField = value;
    340           this.RaisePropertyChanged("FileName");
    341         }
    342       }
    343     }
    344 
    345     [System.Runtime.Serialization.DataMemberAttribute()]
    346     public System.Guid PluginId {
    347       get {
    348         return this.PluginIdField;
    349       }
    350       set {
    351         if ((this.PluginIdField.Equals(value) != true)) {
    352           this.PluginIdField = value;
    353           this.RaisePropertyChanged("PluginId");
    354         }
    355       }
    356     }
    35761  }
    35862
     
    891595  [System.Diagnostics.DebuggerStepThroughAttribute()]
    892596  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     597  [System.Runtime.Serialization.DataContractAttribute(Name = "PluginData", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
     598  [System.SerializableAttribute()]
     599  public partial class PluginData : HeuristicLab.Clients.Hive.HiveItem {
     600
     601    [System.Runtime.Serialization.OptionalFieldAttribute()]
     602    private byte[] DataField;
     603
     604    [System.Runtime.Serialization.OptionalFieldAttribute()]
     605    private string FileNameField;
     606
     607    [System.Runtime.Serialization.OptionalFieldAttribute()]
     608    private System.Guid PluginIdField;
     609
     610    [System.Runtime.Serialization.DataMemberAttribute()]
     611    public byte[] Data {
     612      get {
     613        return this.DataField;
     614      }
     615      set {
     616        if ((object.ReferenceEquals(this.DataField, value) != true)) {
     617          this.DataField = value;
     618          this.RaisePropertyChanged("Data");
     619        }
     620      }
     621    }
     622
     623    [System.Runtime.Serialization.DataMemberAttribute()]
     624    public string FileName {
     625      get {
     626        return this.FileNameField;
     627      }
     628      set {
     629        if ((object.ReferenceEquals(this.FileNameField, value) != true)) {
     630          this.FileNameField = value;
     631          this.RaisePropertyChanged("FileName");
     632        }
     633      }
     634    }
     635
     636    [System.Runtime.Serialization.DataMemberAttribute()]
     637    public System.Guid PluginId {
     638      get {
     639        return this.PluginIdField;
     640      }
     641      set {
     642        if ((this.PluginIdField.Equals(value) != true)) {
     643          this.PluginIdField = value;
     644          this.RaisePropertyChanged("PluginId");
     645        }
     646      }
     647    }
     648  }
     649
     650  [System.Diagnostics.DebuggerStepThroughAttribute()]
     651  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    893652  [System.Runtime.Serialization.DataContractAttribute(Name = "NamedHiveItem", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
    894653  [System.SerializableAttribute()]
     654  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Job))]
     655  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Plugin))]
    895656  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Resource))]
    896657  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Slave))]
    897658  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.SlaveGroup))]
    898   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Job))]
    899   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Plugin))]
    900659  public partial class NamedHiveItem : HeuristicLab.Clients.Hive.HiveItem {
    901660
     
    928687          this.NameField = value;
    929688          this.RaisePropertyChanged("Name");
     689        }
     690      }
     691    }
     692  }
     693
     694  [System.Diagnostics.DebuggerStepThroughAttribute()]
     695  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     696  [System.Runtime.Serialization.DataContractAttribute(Name = "Job", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
     697  [System.SerializableAttribute()]
     698  public partial class Job : HeuristicLab.Clients.Hive.NamedHiveItem {
     699
     700    [System.Runtime.Serialization.OptionalFieldAttribute()]
     701    private int CalculatingCountField;
     702
     703    [System.Runtime.Serialization.OptionalFieldAttribute()]
     704    private System.DateTime DateCreatedField;
     705
     706    [System.Runtime.Serialization.OptionalFieldAttribute()]
     707    private int FinishedCountField;
     708
     709    [System.Runtime.Serialization.OptionalFieldAttribute()]
     710    private int JobCountField;
     711
     712    [System.Runtime.Serialization.OptionalFieldAttribute()]
     713    private System.Guid OwnerUserIdField;
     714
     715    [System.Runtime.Serialization.OptionalFieldAttribute()]
     716    private string OwnerUsernameField;
     717
     718    [System.Runtime.Serialization.OptionalFieldAttribute()]
     719    private HeuristicLab.Clients.Hive.Permission PermissionField;
     720
     721    [System.Runtime.Serialization.OptionalFieldAttribute()]
     722    private string ResourceNamesField;
     723
     724    [System.Runtime.Serialization.DataMemberAttribute()]
     725    public int CalculatingCount {
     726      get {
     727        return this.CalculatingCountField;
     728      }
     729      set {
     730        if ((this.CalculatingCountField.Equals(value) != true)) {
     731          this.CalculatingCountField = value;
     732          this.RaisePropertyChanged("CalculatingCount");
     733        }
     734      }
     735    }
     736
     737    [System.Runtime.Serialization.DataMemberAttribute()]
     738    public System.DateTime DateCreated {
     739      get {
     740        return this.DateCreatedField;
     741      }
     742      set {
     743        if ((this.DateCreatedField.Equals(value) != true)) {
     744          this.DateCreatedField = value;
     745          this.RaisePropertyChanged("DateCreated");
     746        }
     747      }
     748    }
     749
     750    [System.Runtime.Serialization.DataMemberAttribute()]
     751    public int FinishedCount {
     752      get {
     753        return this.FinishedCountField;
     754      }
     755      set {
     756        if ((this.FinishedCountField.Equals(value) != true)) {
     757          this.FinishedCountField = value;
     758          this.RaisePropertyChanged("FinishedCount");
     759        }
     760      }
     761    }
     762
     763    [System.Runtime.Serialization.DataMemberAttribute()]
     764    public int JobCount {
     765      get {
     766        return this.JobCountField;
     767      }
     768      set {
     769        if ((this.JobCountField.Equals(value) != true)) {
     770          this.JobCountField = value;
     771          this.RaisePropertyChanged("JobCount");
     772        }
     773      }
     774    }
     775
     776    [System.Runtime.Serialization.DataMemberAttribute()]
     777    public System.Guid OwnerUserId {
     778      get {
     779        return this.OwnerUserIdField;
     780      }
     781      set {
     782        if ((this.OwnerUserIdField.Equals(value) != true)) {
     783          this.OwnerUserIdField = value;
     784          this.RaisePropertyChanged("OwnerUserId");
     785        }
     786      }
     787    }
     788
     789    [System.Runtime.Serialization.DataMemberAttribute()]
     790    public string OwnerUsername {
     791      get {
     792        return this.OwnerUsernameField;
     793      }
     794      set {
     795        if ((object.ReferenceEquals(this.OwnerUsernameField, value) != true)) {
     796          this.OwnerUsernameField = value;
     797          this.RaisePropertyChanged("OwnerUsername");
     798        }
     799      }
     800    }
     801
     802    [System.Runtime.Serialization.DataMemberAttribute()]
     803    public HeuristicLab.Clients.Hive.Permission Permission {
     804      get {
     805        return this.PermissionField;
     806      }
     807      set {
     808        if ((this.PermissionField.Equals(value) != true)) {
     809          this.PermissionField = value;
     810          this.RaisePropertyChanged("Permission");
     811        }
     812      }
     813    }
     814
     815    [System.Runtime.Serialization.DataMemberAttribute()]
     816    public string ResourceNames {
     817      get {
     818        return this.ResourceNamesField;
     819      }
     820      set {
     821        if ((object.ReferenceEquals(this.ResourceNamesField, value) != true)) {
     822          this.ResourceNamesField = value;
     823          this.RaisePropertyChanged("ResourceNames");
     824        }
     825      }
     826    }
     827  }
     828
     829  [System.Diagnostics.DebuggerStepThroughAttribute()]
     830  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     831  [System.Runtime.Serialization.DataContractAttribute(Name = "Plugin", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
     832  [System.SerializableAttribute()]
     833  public partial class Plugin : HeuristicLab.Clients.Hive.NamedHiveItem {
     834
     835    [System.Runtime.Serialization.OptionalFieldAttribute()]
     836    private System.DateTime DateCreatedField;
     837
     838    [System.Runtime.Serialization.OptionalFieldAttribute()]
     839    private byte[] HashField;
     840
     841    [System.Runtime.Serialization.OptionalFieldAttribute()]
     842    private System.Guid UserIdField;
     843
     844    [System.Runtime.Serialization.OptionalFieldAttribute()]
     845    private System.Version VersionField;
     846
     847    [System.Runtime.Serialization.DataMemberAttribute()]
     848    public System.DateTime DateCreated {
     849      get {
     850        return this.DateCreatedField;
     851      }
     852      set {
     853        if ((this.DateCreatedField.Equals(value) != true)) {
     854          this.DateCreatedField = value;
     855          this.RaisePropertyChanged("DateCreated");
     856        }
     857      }
     858    }
     859
     860    [System.Runtime.Serialization.DataMemberAttribute()]
     861    public byte[] Hash {
     862      get {
     863        return this.HashField;
     864      }
     865      set {
     866        if ((object.ReferenceEquals(this.HashField, value) != true)) {
     867          this.HashField = value;
     868          this.RaisePropertyChanged("Hash");
     869        }
     870      }
     871    }
     872
     873    [System.Runtime.Serialization.DataMemberAttribute()]
     874    public System.Guid UserId {
     875      get {
     876        return this.UserIdField;
     877      }
     878      set {
     879        if ((this.UserIdField.Equals(value) != true)) {
     880          this.UserIdField = value;
     881          this.RaisePropertyChanged("UserId");
     882        }
     883      }
     884    }
     885
     886    [System.Runtime.Serialization.DataMemberAttribute()]
     887    public System.Version Version {
     888      get {
     889        return this.VersionField;
     890      }
     891      set {
     892        if ((object.ReferenceEquals(this.VersionField, value) != true)) {
     893          this.VersionField = value;
     894          this.RaisePropertyChanged("Version");
    930895        }
    931896      }
     
    1002967
    1003968    [System.Runtime.Serialization.OptionalFieldAttribute()]
     969    private bool IsDisposableField;
     970
     971    [System.Runtime.Serialization.OptionalFieldAttribute()]
    1004972    private System.Nullable<System.DateTime> LastHeartbeatField;
    1005973
     
    11051073
    11061074    [System.Runtime.Serialization.DataMemberAttribute()]
     1075    public bool IsDisposable {
     1076      get {
     1077        return this.IsDisposableField;
     1078      }
     1079      set {
     1080        if ((this.IsDisposableField.Equals(value) != true)) {
     1081          this.IsDisposableField = value;
     1082          this.RaisePropertyChanged("IsDisposable");
     1083        }
     1084      }
     1085    }
     1086
     1087    [System.Runtime.Serialization.DataMemberAttribute()]
    11071088    public System.Nullable<System.DateTime> LastHeartbeat {
    11081089      get {
     
    11621143  [System.SerializableAttribute()]
    11631144  public partial class SlaveGroup : HeuristicLab.Clients.Hive.Resource {
    1164   }
    1165 
    1166   [System.Diagnostics.DebuggerStepThroughAttribute()]
    1167   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    1168   [System.Runtime.Serialization.DataContractAttribute(Name = "Job", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
    1169   [System.SerializableAttribute()]
    1170   public partial class Job : HeuristicLab.Clients.Hive.NamedHiveItem {
    1171 
    1172     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1173     private int CalculatingCountField;
    1174 
    1175     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1176     private System.DateTime DateCreatedField;
    1177 
    1178     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1179     private int FinishedCountField;
    1180 
    1181     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1182     private int JobCountField;
    1183 
    1184     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1185     private System.Guid OwnerUserIdField;
    1186 
    1187     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1188     private string OwnerUsernameField;
    1189 
    1190     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1191     private HeuristicLab.Clients.Hive.Permission PermissionField;
    1192 
    1193     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1194     private string ResourceNamesField;
    1195 
    1196     [System.Runtime.Serialization.DataMemberAttribute()]
    1197     public int CalculatingCount {
    1198       get {
    1199         return this.CalculatingCountField;
    1200       }
    1201       set {
    1202         if ((this.CalculatingCountField.Equals(value) != true)) {
    1203           this.CalculatingCountField = value;
    1204           this.RaisePropertyChanged("CalculatingCount");
    1205         }
    1206       }
    1207     }
    1208 
    1209     [System.Runtime.Serialization.DataMemberAttribute()]
    1210     public System.DateTime DateCreated {
    1211       get {
    1212         return this.DateCreatedField;
    1213       }
    1214       set {
    1215         if ((this.DateCreatedField.Equals(value) != true)) {
    1216           this.DateCreatedField = value;
    1217           this.RaisePropertyChanged("DateCreated");
    1218         }
    1219       }
    1220     }
    1221 
    1222     [System.Runtime.Serialization.DataMemberAttribute()]
    1223     public int FinishedCount {
    1224       get {
    1225         return this.FinishedCountField;
    1226       }
    1227       set {
    1228         if ((this.FinishedCountField.Equals(value) != true)) {
    1229           this.FinishedCountField = value;
    1230           this.RaisePropertyChanged("FinishedCount");
    1231         }
    1232       }
    1233     }
    1234 
    1235     [System.Runtime.Serialization.DataMemberAttribute()]
    1236     public int JobCount {
    1237       get {
    1238         return this.JobCountField;
    1239       }
    1240       set {
    1241         if ((this.JobCountField.Equals(value) != true)) {
    1242           this.JobCountField = value;
    1243           this.RaisePropertyChanged("JobCount");
    1244         }
    1245       }
    1246     }
    1247 
    1248     [System.Runtime.Serialization.DataMemberAttribute()]
    1249     public System.Guid OwnerUserId {
    1250       get {
    1251         return this.OwnerUserIdField;
    1252       }
    1253       set {
    1254         if ((this.OwnerUserIdField.Equals(value) != true)) {
    1255           this.OwnerUserIdField = value;
    1256           this.RaisePropertyChanged("OwnerUserId");
    1257         }
    1258       }
    1259     }
    1260 
    1261     [System.Runtime.Serialization.DataMemberAttribute()]
    1262     public string OwnerUsername {
    1263       get {
    1264         return this.OwnerUsernameField;
    1265       }
    1266       set {
    1267         if ((object.ReferenceEquals(this.OwnerUsernameField, value) != true)) {
    1268           this.OwnerUsernameField = value;
    1269           this.RaisePropertyChanged("OwnerUsername");
    1270         }
    1271       }
    1272     }
    1273 
    1274     [System.Runtime.Serialization.DataMemberAttribute()]
    1275     public HeuristicLab.Clients.Hive.Permission Permission {
    1276       get {
    1277         return this.PermissionField;
    1278       }
    1279       set {
    1280         if ((this.PermissionField.Equals(value) != true)) {
    1281           this.PermissionField = value;
    1282           this.RaisePropertyChanged("Permission");
    1283         }
    1284       }
    1285     }
    1286 
    1287     [System.Runtime.Serialization.DataMemberAttribute()]
    1288     public string ResourceNames {
    1289       get {
    1290         return this.ResourceNamesField;
    1291       }
    1292       set {
    1293         if ((object.ReferenceEquals(this.ResourceNamesField, value) != true)) {
    1294           this.ResourceNamesField = value;
    1295           this.RaisePropertyChanged("ResourceNames");
    1296         }
    1297       }
    1298     }
    1299   }
    1300 
    1301   [System.Diagnostics.DebuggerStepThroughAttribute()]
    1302   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    1303   [System.Runtime.Serialization.DataContractAttribute(Name = "Plugin", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
    1304   [System.SerializableAttribute()]
    1305   public partial class Plugin : HeuristicLab.Clients.Hive.NamedHiveItem {
    1306 
    1307     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1308     private System.DateTime DateCreatedField;
    1309 
    1310     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1311     private byte[] HashField;
    1312 
    1313     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1314     private System.Guid UserIdField;
    1315 
    1316     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1317     private System.Version VersionField;
    1318 
    1319     [System.Runtime.Serialization.DataMemberAttribute()]
    1320     public System.DateTime DateCreated {
    1321       get {
    1322         return this.DateCreatedField;
    1323       }
    1324       set {
    1325         if ((this.DateCreatedField.Equals(value) != true)) {
    1326           this.DateCreatedField = value;
    1327           this.RaisePropertyChanged("DateCreated");
    1328         }
    1329       }
    1330     }
    1331 
    1332     [System.Runtime.Serialization.DataMemberAttribute()]
    1333     public byte[] Hash {
    1334       get {
    1335         return this.HashField;
    1336       }
    1337       set {
    1338         if ((object.ReferenceEquals(this.HashField, value) != true)) {
    1339           this.HashField = value;
    1340           this.RaisePropertyChanged("Hash");
    1341         }
    1342       }
    1343     }
    1344 
    1345     [System.Runtime.Serialization.DataMemberAttribute()]
    1346     public System.Guid UserId {
    1347       get {
    1348         return this.UserIdField;
    1349       }
    1350       set {
    1351         if ((this.UserIdField.Equals(value) != true)) {
    1352           this.UserIdField = value;
    1353           this.RaisePropertyChanged("UserId");
    1354         }
    1355       }
    1356     }
    1357 
    1358     [System.Runtime.Serialization.DataMemberAttribute()]
    1359     public System.Version Version {
    1360       get {
    1361         return this.VersionField;
    1362       }
    1363       set {
    1364         if ((object.ReferenceEquals(this.VersionField, value) != true)) {
    1365           this.VersionField = value;
    1366           this.RaisePropertyChanged("Version");
    1367         }
    1368       }
    1369     }
    13701145  }
    13711146
     
    15301305  [System.Diagnostics.DebuggerStepThroughAttribute()]
    15311306  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    1532   [System.Runtime.Serialization.DataContractAttribute(Name = "PluginAlreadyExistsFault", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive")]
     1307  [System.Runtime.Serialization.DataContractAttribute(Name = "Heartbeat", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
    15331308  [System.SerializableAttribute()]
    1534   public partial class PluginAlreadyExistsFault : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
     1309  public partial class Heartbeat : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
    15351310
    15361311    [System.NonSerializedAttribute()]
     
    15381313
    15391314    [System.Runtime.Serialization.OptionalFieldAttribute()]
    1540     private System.Guid IdField;
     1315    private bool AssignJobField;
     1316
     1317    [System.Runtime.Serialization.OptionalFieldAttribute()]
     1318    private float CpuUtilizationField;
     1319
     1320    [System.Runtime.Serialization.OptionalFieldAttribute()]
     1321    private int FreeCoresField;
     1322
     1323    [System.Runtime.Serialization.OptionalFieldAttribute()]
     1324    private int FreeMemoryField;
     1325
     1326    [System.Runtime.Serialization.OptionalFieldAttribute()]
     1327    private int HbIntervalField;
     1328
     1329    [System.Runtime.Serialization.OptionalFieldAttribute()]
     1330    private System.Collections.Generic.Dictionary<System.Guid, System.TimeSpan> JobProgressField;
     1331
     1332    [System.Runtime.Serialization.OptionalFieldAttribute()]
     1333    private System.Guid SlaveIdField;
    15411334
    15421335    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
     
    15501343
    15511344    [System.Runtime.Serialization.DataMemberAttribute()]
    1552     public System.Guid Id {
    1553       get {
    1554         return this.IdField;
    1555       }
    1556       set {
    1557         if ((this.IdField.Equals(value) != true)) {
    1558           this.IdField = value;
    1559           this.RaisePropertyChanged("Id");
     1345    public bool AssignJob {
     1346      get {
     1347        return this.AssignJobField;
     1348      }
     1349      set {
     1350        if ((this.AssignJobField.Equals(value) != true)) {
     1351          this.AssignJobField = value;
     1352          this.RaisePropertyChanged("AssignJob");
     1353        }
     1354      }
     1355    }
     1356
     1357    [System.Runtime.Serialization.DataMemberAttribute()]
     1358    public float CpuUtilization {
     1359      get {
     1360        return this.CpuUtilizationField;
     1361      }
     1362      set {
     1363        if ((this.CpuUtilizationField.Equals(value) != true)) {
     1364          this.CpuUtilizationField = value;
     1365          this.RaisePropertyChanged("CpuUtilization");
     1366        }
     1367      }
     1368    }
     1369
     1370    [System.Runtime.Serialization.DataMemberAttribute()]
     1371    public int FreeCores {
     1372      get {
     1373        return this.FreeCoresField;
     1374      }
     1375      set {
     1376        if ((this.FreeCoresField.Equals(value) != true)) {
     1377          this.FreeCoresField = value;
     1378          this.RaisePropertyChanged("FreeCores");
     1379        }
     1380      }
     1381    }
     1382
     1383    [System.Runtime.Serialization.DataMemberAttribute()]
     1384    public int FreeMemory {
     1385      get {
     1386        return this.FreeMemoryField;
     1387      }
     1388      set {
     1389        if ((this.FreeMemoryField.Equals(value) != true)) {
     1390          this.FreeMemoryField = value;
     1391          this.RaisePropertyChanged("FreeMemory");
     1392        }
     1393      }
     1394    }
     1395
     1396    [System.Runtime.Serialization.DataMemberAttribute()]
     1397    public int HbInterval {
     1398      get {
     1399        return this.HbIntervalField;
     1400      }
     1401      set {
     1402        if ((this.HbIntervalField.Equals(value) != true)) {
     1403          this.HbIntervalField = value;
     1404          this.RaisePropertyChanged("HbInterval");
     1405        }
     1406      }
     1407    }
     1408
     1409    [System.Runtime.Serialization.DataMemberAttribute()]
     1410    public System.Collections.Generic.Dictionary<System.Guid, System.TimeSpan> JobProgress {
     1411      get {
     1412        return this.JobProgressField;
     1413      }
     1414      set {
     1415        if ((object.ReferenceEquals(this.JobProgressField, value) != true)) {
     1416          this.JobProgressField = value;
     1417          this.RaisePropertyChanged("JobProgress");
     1418        }
     1419      }
     1420    }
     1421
     1422    [System.Runtime.Serialization.DataMemberAttribute()]
     1423    public System.Guid SlaveId {
     1424      get {
     1425        return this.SlaveIdField;
     1426      }
     1427      set {
     1428        if ((this.SlaveIdField.Equals(value) != true)) {
     1429          this.SlaveIdField = value;
     1430          this.RaisePropertyChanged("SlaveId");
    15601431        }
    15611432      }
     
    15721443  }
    15731444
     1445  [System.Diagnostics.DebuggerStepThroughAttribute()]
     1446  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     1447  [System.Runtime.Serialization.DataContractAttribute(Name = "MessageContainer", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive")]
     1448  [System.SerializableAttribute()]
     1449  public partial class MessageContainer : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
     1450
     1451    [System.NonSerializedAttribute()]
     1452    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
     1453
     1454    [System.Runtime.Serialization.OptionalFieldAttribute()]
     1455    private HeuristicLab.Clients.Hive.MessageContainer.MessageType MessageField;
     1456
     1457    [System.Runtime.Serialization.OptionalFieldAttribute()]
     1458    private System.Guid TaskIdField;
     1459
     1460    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
     1461      get {
     1462        return this.extensionDataField;
     1463      }
     1464      set {
     1465        this.extensionDataField = value;
     1466      }
     1467    }
     1468
     1469    [System.Runtime.Serialization.DataMemberAttribute()]
     1470    public HeuristicLab.Clients.Hive.MessageContainer.MessageType Message {
     1471      get {
     1472        return this.MessageField;
     1473      }
     1474      set {
     1475        if ((this.MessageField.Equals(value) != true)) {
     1476          this.MessageField = value;
     1477          this.RaisePropertyChanged("Message");
     1478        }
     1479      }
     1480    }
     1481
     1482    [System.Runtime.Serialization.DataMemberAttribute()]
     1483    public System.Guid TaskId {
     1484      get {
     1485        return this.TaskIdField;
     1486      }
     1487      set {
     1488        if ((this.TaskIdField.Equals(value) != true)) {
     1489          this.TaskIdField = value;
     1490          this.RaisePropertyChanged("TaskId");
     1491        }
     1492      }
     1493    }
     1494
     1495    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
     1496
     1497    protected void RaisePropertyChanged(string propertyName) {
     1498      System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
     1499      if ((propertyChanged != null)) {
     1500        propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
     1501      }
     1502    }
     1503
     1504    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     1505    [System.Runtime.Serialization.DataContractAttribute(Name = "MessageContainer.MessageType", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive")]
     1506    public enum MessageType : int {
     1507
     1508      [System.Runtime.Serialization.EnumMemberAttribute()]
     1509      CalculateTask = 0,
     1510
     1511      [System.Runtime.Serialization.EnumMemberAttribute()]
     1512      StopTask = 1,
     1513
     1514      [System.Runtime.Serialization.EnumMemberAttribute()]
     1515      StopAll = 2,
     1516
     1517      [System.Runtime.Serialization.EnumMemberAttribute()]
     1518      AbortTask = 3,
     1519
     1520      [System.Runtime.Serialization.EnumMemberAttribute()]
     1521      AbortAll = 4,
     1522
     1523      [System.Runtime.Serialization.EnumMemberAttribute()]
     1524      PauseTask = 5,
     1525
     1526      [System.Runtime.Serialization.EnumMemberAttribute()]
     1527      PauseAll = 6,
     1528
     1529      [System.Runtime.Serialization.EnumMemberAttribute()]
     1530      Restart = 7,
     1531
     1532      [System.Runtime.Serialization.EnumMemberAttribute()]
     1533      Sleep = 8,
     1534
     1535      [System.Runtime.Serialization.EnumMemberAttribute()]
     1536      ShutdownSlave = 9,
     1537
     1538      [System.Runtime.Serialization.EnumMemberAttribute()]
     1539      SayHello = 10,
     1540
     1541      [System.Runtime.Serialization.EnumMemberAttribute()]
     1542      NewHBInterval = 11,
     1543    }
     1544  }
     1545
     1546  [System.Diagnostics.DebuggerStepThroughAttribute()]
     1547  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     1548  [System.Runtime.Serialization.DataContractAttribute(Name = "PluginAlreadyExistsFault", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive")]
     1549  [System.SerializableAttribute()]
     1550  public partial class PluginAlreadyExistsFault : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
     1551
     1552    [System.NonSerializedAttribute()]
     1553    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
     1554
     1555    [System.Runtime.Serialization.OptionalFieldAttribute()]
     1556    private System.Guid IdField;
     1557
     1558    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
     1559      get {
     1560        return this.extensionDataField;
     1561      }
     1562      set {
     1563        this.extensionDataField = value;
     1564      }
     1565    }
     1566
     1567    [System.Runtime.Serialization.DataMemberAttribute()]
     1568    public System.Guid Id {
     1569      get {
     1570        return this.IdField;
     1571      }
     1572      set {
     1573        if ((this.IdField.Equals(value) != true)) {
     1574          this.IdField = value;
     1575          this.RaisePropertyChanged("Id");
     1576        }
     1577      }
     1578    }
     1579
     1580    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
     1581
     1582    protected void RaisePropertyChanged(string propertyName) {
     1583      System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
     1584      if ((propertyChanged != null)) {
     1585        propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
     1586      }
     1587    }
     1588  }
     1589
    15741590  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    15751591  [System.ServiceModel.ServiceContractAttribute(ConfigurationName = "HeuristicLab.Clients.Hive.IHiveService")]
    15761592  public interface IHiveService {
    15771593
     1594    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/UpdateSlaveGroup", ReplyAction = "http://tempuri.org/IHiveService/UpdateSlaveGroupResponse")]
     1595    void UpdateSlaveGroup(HeuristicLab.Clients.Hive.SlaveGroup slaveGroup);
     1596
     1597    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/DeleteSlave", ReplyAction = "http://tempuri.org/IHiveService/DeleteSlaveResponse")]
     1598    void DeleteSlave(System.Guid slaveId);
     1599
     1600    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/DeleteSlaveGroup", ReplyAction = "http://tempuri.org/IHiveService/DeleteSlaveGroupResponse")]
     1601    void DeleteSlaveGroup(System.Guid slaveGroupId);
     1602
     1603    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/AddResourceToGroup", ReplyAction = "http://tempuri.org/IHiveService/AddResourceToGroupResponse")]
     1604    void AddResourceToGroup(System.Guid slaveGroupId, System.Guid resourceId);
     1605
     1606    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/RemoveResourceFromGroup", ReplyAction = "http://tempuri.org/IHiveService/RemoveResourceFromGroupResponse")]
     1607    void RemoveResourceFromGroup(System.Guid slaveGroupId, System.Guid resourceId);
     1608
     1609    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetResourceId", ReplyAction = "http://tempuri.org/IHiveService/GetResourceIdResponse")]
     1610    System.Guid GetResourceId(string resourceName);
     1611
     1612    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetTasksByResourceId", ReplyAction = "http://tempuri.org/IHiveService/GetTasksByResourceIdResponse")]
     1613    System.Collections.Generic.List<HeuristicLab.Clients.Hive.Task> GetTasksByResourceId(System.Guid resourceId);
     1614
     1615    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/TriggerEventManager", ReplyAction = "http://tempuri.org/IHiveService/TriggerEventManagerResponse")]
     1616    void TriggerEventManager(bool force);
     1617
     1618    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetNewHeartbeatInterval", ReplyAction = "http://tempuri.org/IHiveService/GetNewHeartbeatIntervalResponse")]
     1619    int GetNewHeartbeatInterval(System.Guid slaveId);
     1620
     1621    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/AddDowntime", ReplyAction = "http://tempuri.org/IHiveService/AddDowntimeResponse")]
     1622    System.Guid AddDowntime(HeuristicLab.Clients.Hive.Downtime downtime);
     1623
     1624    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/DeleteDowntime", ReplyAction = "http://tempuri.org/IHiveService/DeleteDowntimeResponse")]
     1625    void DeleteDowntime(System.Guid downtimeId);
     1626
     1627    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/UpdateDowntime", ReplyAction = "http://tempuri.org/IHiveService/UpdateDowntimeResponse")]
     1628    void UpdateDowntime(HeuristicLab.Clients.Hive.Downtime downtime);
     1629
     1630    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetDowntimesForResource", ReplyAction = "http://tempuri.org/IHiveService/GetDowntimesForResourceResponse")]
     1631    System.Collections.Generic.List<HeuristicLab.Clients.Hive.Downtime> GetDowntimesForResource(System.Guid resourceId);
     1632
     1633    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetUsernameByUserId", ReplyAction = "http://tempuri.org/IHiveService/GetUsernameByUserIdResponse")]
     1634    string GetUsernameByUserId(System.Guid userId);
     1635
    15781636    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetUserIdByUsername", ReplyAction = "http://tempuri.org/IHiveService/GetUserIdByUsernameResponse")]
    15791637    System.Guid GetUserIdByUsername(string username);
     1638
     1639    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/AddTask", ReplyAction = "http://tempuri.org/IHiveService/AddTaskResponse")]
     1640    System.Guid AddTask(HeuristicLab.Clients.Hive.Task task, HeuristicLab.Clients.Hive.TaskData taskData, System.Collections.Generic.List<System.Guid> resourceIds);
     1641
     1642    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/AddChildTask", ReplyAction = "http://tempuri.org/IHiveService/AddChildTaskResponse")]
     1643    System.Guid AddChildTask(System.Guid parentTaskId, HeuristicLab.Clients.Hive.Task task, HeuristicLab.Clients.Hive.TaskData taskData);
     1644
     1645    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetTask", ReplyAction = "http://tempuri.org/IHiveService/GetTaskResponse")]
     1646    HeuristicLab.Clients.Hive.Task GetTask(System.Guid taskId);
     1647
     1648    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetTasks", ReplyAction = "http://tempuri.org/IHiveService/GetTasksResponse")]
     1649    System.Collections.Generic.List<HeuristicLab.Clients.Hive.Task> GetTasks();
     1650
     1651    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetLightweightTasks", ReplyAction = "http://tempuri.org/IHiveService/GetLightweightTasksResponse")]
     1652    System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightTasks(System.Collections.Generic.List<System.Guid> taskIds);
     1653
     1654    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetLightweightChildTasks", ReplyAction = "http://tempuri.org/IHiveService/GetLightweightChildTasksResponse")]
     1655    System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightChildTasks(System.Nullable<System.Guid> parentTaskId, bool recursive, bool includeParent);
     1656
     1657    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetLightweightJobTasks", ReplyAction = "http://tempuri.org/IHiveService/GetLightweightJobTasksResponse")]
     1658    System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightJobTasks(System.Guid jobId);
     1659
     1660    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetTaskData", ReplyAction = "http://tempuri.org/IHiveService/GetTaskDataResponse")]
     1661    HeuristicLab.Clients.Hive.TaskData GetTaskData(System.Guid taskId);
     1662
     1663    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/UpdateTask", ReplyAction = "http://tempuri.org/IHiveService/UpdateTaskResponse")]
     1664    void UpdateTask(HeuristicLab.Clients.Hive.Task taskDto);
     1665
     1666    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/UpdateTaskData", ReplyAction = "http://tempuri.org/IHiveService/UpdateTaskDataResponse")]
     1667    void UpdateTaskData(HeuristicLab.Clients.Hive.Task taskDto, HeuristicLab.Clients.Hive.TaskData taskDataDto);
     1668
     1669    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/DeleteTask", ReplyAction = "http://tempuri.org/IHiveService/DeleteTaskResponse")]
     1670    void DeleteTask(System.Guid taskId);
     1671
     1672    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/DeleteChildTasks", ReplyAction = "http://tempuri.org/IHiveService/DeleteChildTasksResponse")]
     1673    void DeleteChildTasks(System.Guid parentTaskId);
     1674
     1675    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/UpdateTaskState", ReplyAction = "http://tempuri.org/IHiveService/UpdateTaskStateResponse")]
     1676    HeuristicLab.Clients.Hive.Task UpdateTaskState(System.Guid taskId, HeuristicLab.Clients.Hive.TaskState taskState, System.Nullable<System.Guid> slaveId, System.Nullable<System.Guid> userId, string exception);
     1677
     1678    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/StopTask", ReplyAction = "http://tempuri.org/IHiveService/StopTaskResponse")]
     1679    void StopTask(System.Guid taskId);
     1680
     1681    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/PauseTask", ReplyAction = "http://tempuri.org/IHiveService/PauseTaskResponse")]
     1682    void PauseTask(System.Guid taskId);
     1683
     1684    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/RestartTask", ReplyAction = "http://tempuri.org/IHiveService/RestartTaskResponse")]
     1685    void RestartTask(System.Guid taskId);
     1686
     1687    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetJob", ReplyAction = "http://tempuri.org/IHiveService/GetJobResponse")]
     1688    HeuristicLab.Clients.Hive.Job GetJob(System.Guid id);
     1689
     1690    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetJobs", ReplyAction = "http://tempuri.org/IHiveService/GetJobsResponse")]
     1691    System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetJobs();
     1692
     1693    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetAllJobs", ReplyAction = "http://tempuri.org/IHiveService/GetAllJobsResponse")]
     1694    System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetAllJobs();
     1695
     1696    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/AddJob", ReplyAction = "http://tempuri.org/IHiveService/AddJobResponse")]
     1697    System.Guid AddJob(HeuristicLab.Clients.Hive.Job jobDto);
     1698
     1699    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/UpdateJob", ReplyAction = "http://tempuri.org/IHiveService/UpdateJobResponse")]
     1700    void UpdateJob(HeuristicLab.Clients.Hive.Job jobDto);
     1701
     1702    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/DeleteJob", ReplyAction = "http://tempuri.org/IHiveService/DeleteJobResponse")]
     1703    void DeleteJob(System.Guid JobId);
     1704
     1705    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GrantPermission", ReplyAction = "http://tempuri.org/IHiveService/GrantPermissionResponse")]
     1706    void GrantPermission(System.Guid jobId, System.Guid grantedUserId, HeuristicLab.Clients.Hive.Permission permission);
     1707
     1708    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/RevokePermission", ReplyAction = "http://tempuri.org/IHiveService/RevokePermissionResponse")]
     1709    void RevokePermission(System.Guid hiveExperimentId, System.Guid grantedUserId);
     1710
     1711    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetJobPermissions", ReplyAction = "http://tempuri.org/IHiveService/GetJobPermissionsResponse")]
     1712    System.Collections.Generic.List<HeuristicLab.Clients.Hive.JobPermission> GetJobPermissions(System.Guid jobId);
     1713
     1714    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/IsAllowedPrivileged", ReplyAction = "http://tempuri.org/IHiveService/IsAllowedPrivilegedResponse")]
     1715    bool IsAllowedPrivileged();
     1716
     1717    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/Hello", ReplyAction = "http://tempuri.org/IHiveService/HelloResponse")]
     1718    void Hello(HeuristicLab.Clients.Hive.Slave slave);
     1719
     1720    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GoodBye", ReplyAction = "http://tempuri.org/IHiveService/GoodByeResponse")]
     1721    void GoodBye(System.Guid slaveId);
    15801722
    15811723    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/Heartbeat", ReplyAction = "http://tempuri.org/IHiveService/HeartbeatResponse")]
     
    16211763    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/UpdateSlave", ReplyAction = "http://tempuri.org/IHiveService/UpdateSlaveResponse")]
    16221764    void UpdateSlave(HeuristicLab.Clients.Hive.Slave slave);
    1623 
    1624     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/UpdateSlaveGroup", ReplyAction = "http://tempuri.org/IHiveService/UpdateSlaveGroupResponse")]
    1625     void UpdateSlaveGroup(HeuristicLab.Clients.Hive.SlaveGroup slaveGroup);
    1626 
    1627     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/DeleteSlave", ReplyAction = "http://tempuri.org/IHiveService/DeleteSlaveResponse")]
    1628     void DeleteSlave(System.Guid slaveId);
    1629 
    1630     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/DeleteSlaveGroup", ReplyAction = "http://tempuri.org/IHiveService/DeleteSlaveGroupResponse")]
    1631     void DeleteSlaveGroup(System.Guid slaveGroupId);
    1632 
    1633     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/AddResourceToGroup", ReplyAction = "http://tempuri.org/IHiveService/AddResourceToGroupResponse")]
    1634     void AddResourceToGroup(System.Guid slaveGroupId, System.Guid resourceId);
    1635 
    1636     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/RemoveResourceFromGroup", ReplyAction = "http://tempuri.org/IHiveService/RemoveResourceFromGroupResponse")]
    1637     void RemoveResourceFromGroup(System.Guid slaveGroupId, System.Guid resourceId);
    1638 
    1639     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetResourceId", ReplyAction = "http://tempuri.org/IHiveService/GetResourceIdResponse")]
    1640     System.Guid GetResourceId(string resourceName);
    1641 
    1642     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetTasksByResourceId", ReplyAction = "http://tempuri.org/IHiveService/GetTasksByResourceIdResponse")]
    1643     System.Collections.Generic.List<HeuristicLab.Clients.Hive.Task> GetTasksByResourceId(System.Guid resourceId);
    1644 
    1645     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/TriggerEventManager", ReplyAction = "http://tempuri.org/IHiveService/TriggerEventManagerResponse")]
    1646     void TriggerEventManager(bool force);
    1647 
    1648     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetNewHeartbeatInterval", ReplyAction = "http://tempuri.org/IHiveService/GetNewHeartbeatIntervalResponse")]
    1649     int GetNewHeartbeatInterval(System.Guid slaveId);
    1650 
    1651     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/AddDowntime", ReplyAction = "http://tempuri.org/IHiveService/AddDowntimeResponse")]
    1652     System.Guid AddDowntime(HeuristicLab.Clients.Hive.Downtime downtime);
    1653 
    1654     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/DeleteDowntime", ReplyAction = "http://tempuri.org/IHiveService/DeleteDowntimeResponse")]
    1655     void DeleteDowntime(System.Guid downtimeId);
    1656 
    1657     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/UpdateDowntime", ReplyAction = "http://tempuri.org/IHiveService/UpdateDowntimeResponse")]
    1658     void UpdateDowntime(HeuristicLab.Clients.Hive.Downtime downtime);
    1659 
    1660     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetDowntimesForResource", ReplyAction = "http://tempuri.org/IHiveService/GetDowntimesForResourceResponse")]
    1661     System.Collections.Generic.List<HeuristicLab.Clients.Hive.Downtime> GetDowntimesForResource(System.Guid resourceId);
    1662 
    1663     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetUsernameByUserId", ReplyAction = "http://tempuri.org/IHiveService/GetUsernameByUserIdResponse")]
    1664     string GetUsernameByUserId(System.Guid userId);
    1665 
    1666     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/AddTask", ReplyAction = "http://tempuri.org/IHiveService/AddTaskResponse")]
    1667     System.Guid AddTask(HeuristicLab.Clients.Hive.Task task, HeuristicLab.Clients.Hive.TaskData taskData, System.Collections.Generic.List<System.Guid> resourceIds);
    1668 
    1669     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/AddChildTask", ReplyAction = "http://tempuri.org/IHiveService/AddChildTaskResponse")]
    1670     System.Guid AddChildTask(System.Guid parentTaskId, HeuristicLab.Clients.Hive.Task task, HeuristicLab.Clients.Hive.TaskData taskData);
    1671 
    1672     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetTask", ReplyAction = "http://tempuri.org/IHiveService/GetTaskResponse")]
    1673     HeuristicLab.Clients.Hive.Task GetTask(System.Guid taskId);
    1674 
    1675     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetTasks", ReplyAction = "http://tempuri.org/IHiveService/GetTasksResponse")]
    1676     System.Collections.Generic.List<HeuristicLab.Clients.Hive.Task> GetTasks();
    1677 
    1678     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetLightweightTasks", ReplyAction = "http://tempuri.org/IHiveService/GetLightweightTasksResponse")]
    1679     System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightTasks(System.Collections.Generic.List<System.Guid> taskIds);
    1680 
    1681     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetLightweightChildTasks", ReplyAction = "http://tempuri.org/IHiveService/GetLightweightChildTasksResponse")]
    1682     System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightChildTasks(System.Nullable<System.Guid> parentTaskId, bool recursive, bool includeParent);
    1683 
    1684     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetLightweightJobTasks", ReplyAction = "http://tempuri.org/IHiveService/GetLightweightJobTasksResponse")]
    1685     System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightJobTasks(System.Guid jobId);
    1686 
    1687     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetTaskData", ReplyAction = "http://tempuri.org/IHiveService/GetTaskDataResponse")]
    1688     HeuristicLab.Clients.Hive.TaskData GetTaskData(System.Guid taskId);
    1689 
    1690     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/UpdateTask", ReplyAction = "http://tempuri.org/IHiveService/UpdateTaskResponse")]
    1691     void UpdateTask(HeuristicLab.Clients.Hive.Task taskDto);
    1692 
    1693     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/UpdateTaskData", ReplyAction = "http://tempuri.org/IHiveService/UpdateTaskDataResponse")]
    1694     void UpdateTaskData(HeuristicLab.Clients.Hive.Task taskDto, HeuristicLab.Clients.Hive.TaskData taskDataDto);
    1695 
    1696     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/DeleteTask", ReplyAction = "http://tempuri.org/IHiveService/DeleteTaskResponse")]
    1697     void DeleteTask(System.Guid taskId);
    1698 
    1699     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/DeleteChildTasks", ReplyAction = "http://tempuri.org/IHiveService/DeleteChildTasksResponse")]
    1700     void DeleteChildTasks(System.Guid parentTaskId);
    1701 
    1702     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/UpdateTaskState", ReplyAction = "http://tempuri.org/IHiveService/UpdateTaskStateResponse")]
    1703     HeuristicLab.Clients.Hive.Task UpdateTaskState(System.Guid taskId, HeuristicLab.Clients.Hive.TaskState taskState, System.Nullable<System.Guid> slaveId, System.Nullable<System.Guid> userId, string exception);
    1704 
    1705     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/StopTask", ReplyAction = "http://tempuri.org/IHiveService/StopTaskResponse")]
    1706     void StopTask(System.Guid taskId);
    1707 
    1708     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/PauseTask", ReplyAction = "http://tempuri.org/IHiveService/PauseTaskResponse")]
    1709     void PauseTask(System.Guid taskId);
    1710 
    1711     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/RestartTask", ReplyAction = "http://tempuri.org/IHiveService/RestartTaskResponse")]
    1712     void RestartTask(System.Guid taskId);
    1713 
    1714     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetJob", ReplyAction = "http://tempuri.org/IHiveService/GetJobResponse")]
    1715     HeuristicLab.Clients.Hive.Job GetJob(System.Guid id);
    1716 
    1717     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetJobs", ReplyAction = "http://tempuri.org/IHiveService/GetJobsResponse")]
    1718     System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetJobs();
    1719 
    1720     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetAllJobs", ReplyAction = "http://tempuri.org/IHiveService/GetAllJobsResponse")]
    1721     System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetAllJobs();
    1722 
    1723     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/AddJob", ReplyAction = "http://tempuri.org/IHiveService/AddJobResponse")]
    1724     System.Guid AddJob(HeuristicLab.Clients.Hive.Job jobDto);
    1725 
    1726     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/UpdateJob", ReplyAction = "http://tempuri.org/IHiveService/UpdateJobResponse")]
    1727     void UpdateJob(HeuristicLab.Clients.Hive.Job jobDto);
    1728 
    1729     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/DeleteJob", ReplyAction = "http://tempuri.org/IHiveService/DeleteJobResponse")]
    1730     void DeleteJob(System.Guid JobId);
    1731 
    1732     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GrantPermission", ReplyAction = "http://tempuri.org/IHiveService/GrantPermissionResponse")]
    1733     void GrantPermission(System.Guid jobId, System.Guid grantedUserId, HeuristicLab.Clients.Hive.Permission permission);
    1734 
    1735     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/RevokePermission", ReplyAction = "http://tempuri.org/IHiveService/RevokePermissionResponse")]
    1736     void RevokePermission(System.Guid hiveExperimentId, System.Guid grantedUserId);
    1737 
    1738     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetJobPermissions", ReplyAction = "http://tempuri.org/IHiveService/GetJobPermissionsResponse")]
    1739     System.Collections.Generic.List<HeuristicLab.Clients.Hive.JobPermission> GetJobPermissions(System.Guid jobId);
    1740 
    1741     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/IsAllowedPrivileged", ReplyAction = "http://tempuri.org/IHiveService/IsAllowedPrivilegedResponse")]
    1742     bool IsAllowedPrivileged();
    1743 
    1744     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/Hello", ReplyAction = "http://tempuri.org/IHiveService/HelloResponse")]
    1745     void Hello(HeuristicLab.Clients.Hive.Slave slave);
    1746 
    1747     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GoodBye", ReplyAction = "http://tempuri.org/IHiveService/GoodByeResponse")]
    1748     void GoodBye(System.Guid slaveId);
    17491765  }
    17501766
     
    17761792    }
    17771793
     1794    public void UpdateSlaveGroup(HeuristicLab.Clients.Hive.SlaveGroup slaveGroup) {
     1795      base.Channel.UpdateSlaveGroup(slaveGroup);
     1796    }
     1797
     1798    public void DeleteSlave(System.Guid slaveId) {
     1799      base.Channel.DeleteSlave(slaveId);
     1800    }
     1801
     1802    public void DeleteSlaveGroup(System.Guid slaveGroupId) {
     1803      base.Channel.DeleteSlaveGroup(slaveGroupId);
     1804    }
     1805
     1806    public void AddResourceToGroup(System.Guid slaveGroupId, System.Guid resourceId) {
     1807      base.Channel.AddResourceToGroup(slaveGroupId, resourceId);
     1808    }
     1809
     1810    public void RemoveResourceFromGroup(System.Guid slaveGroupId, System.Guid resourceId) {
     1811      base.Channel.RemoveResourceFromGroup(slaveGroupId, resourceId);
     1812    }
     1813
     1814    public System.Guid GetResourceId(string resourceName) {
     1815      return base.Channel.GetResourceId(resourceName);
     1816    }
     1817
     1818    public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Task> GetTasksByResourceId(System.Guid resourceId) {
     1819      return base.Channel.GetTasksByResourceId(resourceId);
     1820    }
     1821
     1822    public void TriggerEventManager(bool force) {
     1823      base.Channel.TriggerEventManager(force);
     1824    }
     1825
     1826    public int GetNewHeartbeatInterval(System.Guid slaveId) {
     1827      return base.Channel.GetNewHeartbeatInterval(slaveId);
     1828    }
     1829
     1830    public System.Guid AddDowntime(HeuristicLab.Clients.Hive.Downtime downtime) {
     1831      return base.Channel.AddDowntime(downtime);
     1832    }
     1833
     1834    public void DeleteDowntime(System.Guid downtimeId) {
     1835      base.Channel.DeleteDowntime(downtimeId);
     1836    }
     1837
     1838    public void UpdateDowntime(HeuristicLab.Clients.Hive.Downtime downtime) {
     1839      base.Channel.UpdateDowntime(downtime);
     1840    }
     1841
     1842    public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Downtime> GetDowntimesForResource(System.Guid resourceId) {
     1843      return base.Channel.GetDowntimesForResource(resourceId);
     1844    }
     1845
     1846    public string GetUsernameByUserId(System.Guid userId) {
     1847      return base.Channel.GetUsernameByUserId(userId);
     1848    }
     1849
    17781850    public System.Guid GetUserIdByUsername(string username) {
    17791851      return base.Channel.GetUserIdByUsername(username);
    17801852    }
    17811853
     1854    public System.Guid AddTask(HeuristicLab.Clients.Hive.Task task, HeuristicLab.Clients.Hive.TaskData taskData, System.Collections.Generic.List<System.Guid> resourceIds) {
     1855      return base.Channel.AddTask(task, taskData, resourceIds);
     1856    }
     1857
     1858    public System.Guid AddChildTask(System.Guid parentTaskId, HeuristicLab.Clients.Hive.Task task, HeuristicLab.Clients.Hive.TaskData taskData) {
     1859      return base.Channel.AddChildTask(parentTaskId, task, taskData);
     1860    }
     1861
     1862    public HeuristicLab.Clients.Hive.Task GetTask(System.Guid taskId) {
     1863      return base.Channel.GetTask(taskId);
     1864    }
     1865
     1866    public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Task> GetTasks() {
     1867      return base.Channel.GetTasks();
     1868    }
     1869
     1870    public System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightTasks(System.Collections.Generic.List<System.Guid> taskIds) {
     1871      return base.Channel.GetLightweightTasks(taskIds);
     1872    }
     1873
     1874    public System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightChildTasks(System.Nullable<System.Guid> parentTaskId, bool recursive, bool includeParent) {
     1875      return base.Channel.GetLightweightChildTasks(parentTaskId, recursive, includeParent);
     1876    }
     1877
     1878    public System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightJobTasks(System.Guid jobId) {
     1879      return base.Channel.GetLightweightJobTasks(jobId);
     1880    }
     1881
     1882    public HeuristicLab.Clients.Hive.TaskData GetTaskData(System.Guid taskId) {
     1883      return base.Channel.GetTaskData(taskId);
     1884    }
     1885
     1886    public void UpdateTask(HeuristicLab.Clients.Hive.Task taskDto) {
     1887      base.Channel.UpdateTask(taskDto);
     1888    }
     1889
     1890    public void UpdateTaskData(HeuristicLab.Clients.Hive.Task taskDto, HeuristicLab.Clients.Hive.TaskData taskDataDto) {
     1891      base.Channel.UpdateTaskData(taskDto, taskDataDto);
     1892    }
     1893
     1894    public void DeleteTask(System.Guid taskId) {
     1895      base.Channel.DeleteTask(taskId);
     1896    }
     1897
     1898    public void DeleteChildTasks(System.Guid parentTaskId) {
     1899      base.Channel.DeleteChildTasks(parentTaskId);
     1900    }
     1901
     1902    public HeuristicLab.Clients.Hive.Task UpdateTaskState(System.Guid taskId, HeuristicLab.Clients.Hive.TaskState taskState, System.Nullable<System.Guid> slaveId, System.Nullable<System.Guid> userId, string exception) {
     1903      return base.Channel.UpdateTaskState(taskId, taskState, slaveId, userId, exception);
     1904    }
     1905
     1906    public void StopTask(System.Guid taskId) {
     1907      base.Channel.StopTask(taskId);
     1908    }
     1909
     1910    public void PauseTask(System.Guid taskId) {
     1911      base.Channel.PauseTask(taskId);
     1912    }
     1913
     1914    public void RestartTask(System.Guid taskId) {
     1915      base.Channel.RestartTask(taskId);
     1916    }
     1917
     1918    public HeuristicLab.Clients.Hive.Job GetJob(System.Guid id) {
     1919      return base.Channel.GetJob(id);
     1920    }
     1921
     1922    public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetJobs() {
     1923      return base.Channel.GetJobs();
     1924    }
     1925
     1926    public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetAllJobs() {
     1927      return base.Channel.GetAllJobs();
     1928    }
     1929
     1930    public System.Guid AddJob(HeuristicLab.Clients.Hive.Job jobDto) {
     1931      return base.Channel.AddJob(jobDto);
     1932    }
     1933
     1934    public void UpdateJob(HeuristicLab.Clients.Hive.Job jobDto) {
     1935      base.Channel.UpdateJob(jobDto);
     1936    }
     1937
     1938    public void DeleteJob(System.Guid JobId) {
     1939      base.Channel.DeleteJob(JobId);
     1940    }
     1941
     1942    public void GrantPermission(System.Guid jobId, System.Guid grantedUserId, HeuristicLab.Clients.Hive.Permission permission) {
     1943      base.Channel.GrantPermission(jobId, grantedUserId, permission);
     1944    }
     1945
     1946    public void RevokePermission(System.Guid hiveExperimentId, System.Guid grantedUserId) {
     1947      base.Channel.RevokePermission(hiveExperimentId, grantedUserId);
     1948    }
     1949
     1950    public System.Collections.Generic.List<HeuristicLab.Clients.Hive.JobPermission> GetJobPermissions(System.Guid jobId) {
     1951      return base.Channel.GetJobPermissions(jobId);
     1952    }
     1953
     1954    public bool IsAllowedPrivileged() {
     1955      return base.Channel.IsAllowedPrivileged();
     1956    }
     1957
     1958    public void Hello(HeuristicLab.Clients.Hive.Slave slave) {
     1959      base.Channel.Hello(slave);
     1960    }
     1961
     1962    public void GoodBye(System.Guid slaveId) {
     1963      base.Channel.GoodBye(slaveId);
     1964    }
     1965
    17821966    public System.Collections.Generic.List<HeuristicLab.Clients.Hive.MessageContainer> Heartbeat(HeuristicLab.Clients.Hive.Heartbeat heartbeat1) {
    17831967      return base.Channel.Heartbeat(heartbeat1);
     
    18352019      base.Channel.UpdateSlave(slave);
    18362020    }
    1837 
    1838     public void UpdateSlaveGroup(HeuristicLab.Clients.Hive.SlaveGroup slaveGroup) {
    1839       base.Channel.UpdateSlaveGroup(slaveGroup);
    1840     }
    1841 
    1842     public void DeleteSlave(System.Guid slaveId) {
    1843       base.Channel.DeleteSlave(slaveId);
    1844     }
    1845 
    1846     public void DeleteSlaveGroup(System.Guid slaveGroupId) {
    1847       base.Channel.DeleteSlaveGroup(slaveGroupId);
    1848     }
    1849 
    1850     public void AddResourceToGroup(System.Guid slaveGroupId, System.Guid resourceId) {
    1851       base.Channel.AddResourceToGroup(slaveGroupId, resourceId);
    1852     }
    1853 
    1854     public void RemoveResourceFromGroup(System.Guid slaveGroupId, System.Guid resourceId) {
    1855       base.Channel.RemoveResourceFromGroup(slaveGroupId, resourceId);
    1856     }
    1857 
    1858     public System.Guid GetResourceId(string resourceName) {
    1859       return base.Channel.GetResourceId(resourceName);
    1860     }
    1861 
    1862     public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Task> GetTasksByResourceId(System.Guid resourceId) {
    1863       return base.Channel.GetTasksByResourceId(resourceId);
    1864     }
    1865 
    1866     public void TriggerEventManager(bool force) {
    1867       base.Channel.TriggerEventManager(force);
    1868     }
    1869 
    1870     public int GetNewHeartbeatInterval(System.Guid slaveId) {
    1871       return base.Channel.GetNewHeartbeatInterval(slaveId);
    1872     }
    1873 
    1874     public System.Guid AddDowntime(HeuristicLab.Clients.Hive.Downtime downtime) {
    1875       return base.Channel.AddDowntime(downtime);
    1876     }
    1877 
    1878     public void DeleteDowntime(System.Guid downtimeId) {
    1879       base.Channel.DeleteDowntime(downtimeId);
    1880     }
    1881 
    1882     public void UpdateDowntime(HeuristicLab.Clients.Hive.Downtime downtime) {
    1883       base.Channel.UpdateDowntime(downtime);
    1884     }
    1885 
    1886     public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Downtime> GetDowntimesForResource(System.Guid resourceId) {
    1887       return base.Channel.GetDowntimesForResource(resourceId);
    1888     }
    1889 
    1890     public string GetUsernameByUserId(System.Guid userId) {
    1891       return base.Channel.GetUsernameByUserId(userId);
    1892     }
    1893 
    1894     public System.Guid AddTask(HeuristicLab.Clients.Hive.Task task, HeuristicLab.Clients.Hive.TaskData taskData, System.Collections.Generic.List<System.Guid> resourceIds) {
    1895       return base.Channel.AddTask(task, taskData, resourceIds);
    1896     }
    1897 
    1898     public System.Guid AddChildTask(System.Guid parentTaskId, HeuristicLab.Clients.Hive.Task task, HeuristicLab.Clients.Hive.TaskData taskData) {
    1899       return base.Channel.AddChildTask(parentTaskId, task, taskData);
    1900     }
    1901 
    1902     public HeuristicLab.Clients.Hive.Task GetTask(System.Guid taskId) {
    1903       return base.Channel.GetTask(taskId);
    1904     }
    1905 
    1906     public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Task> GetTasks() {
    1907       return base.Channel.GetTasks();
    1908     }
    1909 
    1910     public System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightTasks(System.Collections.Generic.List<System.Guid> taskIds) {
    1911       return base.Channel.GetLightweightTasks(taskIds);
    1912     }
    1913 
    1914     public System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightChildTasks(System.Nullable<System.Guid> parentTaskId, bool recursive, bool includeParent) {
    1915       return base.Channel.GetLightweightChildTasks(parentTaskId, recursive, includeParent);
    1916     }
    1917 
    1918     public System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightJobTasks(System.Guid jobId) {
    1919       return base.Channel.GetLightweightJobTasks(jobId);
    1920     }
    1921 
    1922     public HeuristicLab.Clients.Hive.TaskData GetTaskData(System.Guid taskId) {
    1923       return base.Channel.GetTaskData(taskId);
    1924     }
    1925 
    1926     public void UpdateTask(HeuristicLab.Clients.Hive.Task taskDto) {
    1927       base.Channel.UpdateTask(taskDto);
    1928     }
    1929 
    1930     public void UpdateTaskData(HeuristicLab.Clients.Hive.Task taskDto, HeuristicLab.Clients.Hive.TaskData taskDataDto) {
    1931       base.Channel.UpdateTaskData(taskDto, taskDataDto);
    1932     }
    1933 
    1934     public void DeleteTask(System.Guid taskId) {
    1935       base.Channel.DeleteTask(taskId);
    1936     }
    1937 
    1938     public void DeleteChildTasks(System.Guid parentTaskId) {
    1939       base.Channel.DeleteChildTasks(parentTaskId);
    1940     }
    1941 
    1942     public HeuristicLab.Clients.Hive.Task UpdateTaskState(System.Guid taskId, HeuristicLab.Clients.Hive.TaskState taskState, System.Nullable<System.Guid> slaveId, System.Nullable<System.Guid> userId, string exception) {
    1943       return base.Channel.UpdateTaskState(taskId, taskState, slaveId, userId, exception);
    1944     }
    1945 
    1946     public void StopTask(System.Guid taskId) {
    1947       base.Channel.StopTask(taskId);
    1948     }
    1949 
    1950     public void PauseTask(System.Guid taskId) {
    1951       base.Channel.PauseTask(taskId);
    1952     }
    1953 
    1954     public void RestartTask(System.Guid taskId) {
    1955       base.Channel.RestartTask(taskId);
    1956     }
    1957 
    1958     public HeuristicLab.Clients.Hive.Job GetJob(System.Guid id) {
    1959       return base.Channel.GetJob(id);
    1960     }
    1961 
    1962     public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetJobs() {
    1963       return base.Channel.GetJobs();
    1964     }
    1965 
    1966     public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetAllJobs() {
    1967       return base.Channel.GetAllJobs();
    1968     }
    1969 
    1970     public System.Guid AddJob(HeuristicLab.Clients.Hive.Job jobDto) {
    1971       return base.Channel.AddJob(jobDto);
    1972     }
    1973 
    1974     public void UpdateJob(HeuristicLab.Clients.Hive.Job jobDto) {
    1975       base.Channel.UpdateJob(jobDto);
    1976     }
    1977 
    1978     public void DeleteJob(System.Guid JobId) {
    1979       base.Channel.DeleteJob(JobId);
    1980     }
    1981 
    1982     public void GrantPermission(System.Guid jobId, System.Guid grantedUserId, HeuristicLab.Clients.Hive.Permission permission) {
    1983       base.Channel.GrantPermission(jobId, grantedUserId, permission);
    1984     }
    1985 
    1986     public void RevokePermission(System.Guid hiveExperimentId, System.Guid grantedUserId) {
    1987       base.Channel.RevokePermission(hiveExperimentId, grantedUserId);
    1988     }
    1989 
    1990     public System.Collections.Generic.List<HeuristicLab.Clients.Hive.JobPermission> GetJobPermissions(System.Guid jobId) {
    1991       return base.Channel.GetJobPermissions(jobId);
    1992     }
    1993 
    1994     public bool IsAllowedPrivileged() {
    1995       return base.Channel.IsAllowedPrivileged();
    1996     }
    1997 
    1998     public void Hello(HeuristicLab.Clients.Hive.Slave slave) {
    1999       base.Channel.Hello(slave);
    2000     }
    2001 
    2002     public void GoodBye(System.Guid slaveId) {
    2003       base.Channel.GoodBye(slaveId);
    2004     }
    20052021  }
    20062022}
  • trunk/sources/HeuristicLab.Clients.Hive/3.3/ServiceClients/Slave.cs

    r7259 r7857  
    4343      this.LastHeartbeat = original.LastHeartbeat;
    4444      this.CpuUtilization = original.CpuUtilization;
     45      this.IsDisposable = original.IsDisposable;
    4546    }
    4647
  • trunk/sources/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.dbml

    r6983 r7857  
    5555        <Column Name="LastHeartbeat" Type="System.DateTime" DbType="DateTime" CanBeNull="true" />
    5656        <Column Name="CpuUtilization" Type="System.Double" DbType="float" CanBeNull="false" />
     57        <Column Name="IsDisposable" Type="System.Boolean" DbType="Bit" CanBeNull="false" />
    5758      </Type>
    5859      <Type Name="SlaveGroup" InheritanceCode="GROUP" />
  • trunk/sources/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.dbml.layout

    r6983 r7857  
    33  <DataContextMoniker Name="/HiveDataContext" />
    44  <nestedChildShapes>
    5     <classShape Id="a929c9dc-69f4-4488-ba1c-a2342bf81d89" absoluteBounds="8.875, 4, 2, 1.1939925130208327">
     5    <classShape Id="a929c9dc-69f4-4488-ba1c-a2342bf81d89" absoluteBounds="8.875, 4.25, 2, 1.1939925130208327">
    66      <DataClassMoniker Name="/HiveDataContext/AssignedResource" />
    77      <nestedChildShapes>
    8         <elementListCompartment Id="8b005775-f0ee-41b0-ae10-6d1151003708" absoluteBounds="8.89, 4.4600000000000009, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    9       </nestedChildShapes>
    10     </classShape>
    11     <classShape Id="7d998e56-4fba-41ca-a1a8-1dcdb9068edf" absoluteBounds="8.875, 5.5, 2, 1.9631982421874996">
     8        <elementListCompartment Id="8b005775-f0ee-41b0-ae10-6d1151003708" absoluteBounds="8.89, 4.7100000000000009, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     9      </nestedChildShapes>
     10    </classShape>
     11    <classShape Id="7d998e56-4fba-41ca-a1a8-1dcdb9068edf" absoluteBounds="8.875, 5.625, 2, 1.9631982421874996">
    1212      <DataClassMoniker Name="/HiveDataContext/Plugin" />
    1313      <nestedChildShapes>
    14         <elementListCompartment Id="ec4ba325-6dff-4418-baad-59af81ae2024" absoluteBounds="8.89, 5.9600000000000009, 1.9700000000000002, 1.4031982421875" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    15       </nestedChildShapes>
    16     </classShape>
    17     <classShape Id="97b00810-fa30-457e-b484-b4e80b22f91b" absoluteBounds="6.5, 5.5, 2, 1.3862939453124987">
     14        <elementListCompartment Id="ec4ba325-6dff-4418-baad-59af81ae2024" absoluteBounds="8.89, 6.0850000000000009, 1.9700000000000002, 1.4031982421875" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     15      </nestedChildShapes>
     16    </classShape>
     17    <classShape Id="97b00810-fa30-457e-b484-b4e80b22f91b" absoluteBounds="6.5, 5.625, 2, 1.3862939453124987">
    1818      <DataClassMoniker Name="/HiveDataContext/RequiredPlugin" />
    1919      <nestedChildShapes>
    20         <elementListCompartment Id="df6451e5-069e-4ca0-a909-61b8213b5047" absoluteBounds="6.5150000000000006, 5.9600000000000009, 1.9700000000000002, 0.8262939453125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     20        <elementListCompartment Id="df6451e5-069e-4ca0-a909-61b8213b5047" absoluteBounds="6.5150000000000006, 6.0850000000000009, 1.9700000000000002, 0.8262939453125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    2121      </nestedChildShapes>
    2222    </classShape>
     
    4545      </nestedChildShapes>
    4646    </classShape>
    47     <classShape Id="26f4edfa-91dd-4941-a058-359f89e567a8" absoluteBounds="8.875, 0.75, 2, 3.1170068359375">
     47    <classShape Id="26f4edfa-91dd-4941-a058-359f89e567a8" absoluteBounds="8.875, 0.75, 2, 3.3093082682291666">
    4848      <DataClassMoniker Name="/HiveDataContext/Slave" />
    4949      <nestedChildShapes>
    50         <elementListCompartment Id="1e61f36b-08dc-4df7-8594-c9dcd95c0791" absoluteBounds="8.89, 1.21, 1.9700000000000002, 2.5570068359375" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     50        <elementListCompartment Id="1e61f36b-08dc-4df7-8594-c9dcd95c0791" absoluteBounds="8.89, 1.21, 1.9700000000000002, 2.7493082682291665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    5151      </nestedChildShapes>
    5252    </classShape>
     
    5757      </nestedChildShapes>
    5858    </classShape>
    59     <inheritanceConnector edgePoints="[(11.25 : 2.34259724934896); (10.875 : 2.34259724934896)]" fixedFrom="NotFixed" fixedTo="NotFixed" TargetRelationshipDomainClassId="7a7fe09e-e9ef-4b01-9ff3-bde95e827b62">
     59    <inheritanceConnector edgePoints="[(11.25 : 1.88544840494792); (10.875 : 1.88544840494792)]" fixedFrom="NotFixed" fixedTo="NotFixed" TargetRelationshipDomainClassId="7a7fe09e-e9ef-4b01-9ff3-bde95e827b62">
    6060      <nodes>
    6161        <classShapeMoniker Id="706a4581-6daf-4e71-ae2a-87d50b27a051" />
     
    6969      </nodes>
    7070    </inheritanceConnector>
    71     <associationConnector edgePoints="[(12.015626 : 2.77089680989583); (12.015626 : 4.59699625651042); (10.875 : 4.59699625651042)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     71    <associationConnector edgePoints="[(11.92578 : 2.77089680989583); (11.92578 : 4.84699625651042); (10.875 : 4.84699625651042)]" fixedFrom="NotFixed" fixedTo="NotFixed">
    7272      <AssociationMoniker Name="/HiveDataContext/Resource/Resource_AssignedResource" />
    7373      <nodes>
     
    8282      </nestedChildShapes>
    8383    </classShape>
    84     <classShape Id="ad25bd0f-80e8-4a06-abd8-190eb678eec7" absoluteBounds="11.25, 5.5, 2, 1.5785953776041666">
     84    <classShape Id="ad25bd0f-80e8-4a06-abd8-190eb678eec7" absoluteBounds="11.25, 5.625, 2, 1.5785953776041666">
    8585      <DataClassMoniker Name="/HiveDataContext/PluginData" />
    8686      <nestedChildShapes>
    87         <elementListCompartment Id="acddb513-7de6-4bb4-8335-d6982fb2ef35" absoluteBounds="11.265, 5.9600000000000009, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    88       </nestedChildShapes>
    89     </classShape>
    90     <associationConnector edgePoints="[(10.875 : 6.28929768880208); (11.25 : 6.28929768880208)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     87        <elementListCompartment Id="acddb513-7de6-4bb4-8335-d6982fb2ef35" absoluteBounds="11.265, 6.0850000000000009, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     88      </nestedChildShapes>
     89    </classShape>
     90    <associationConnector edgePoints="[(10.875 : 6.41429768880208); (11.25 : 6.41429768880208)]" fixedFrom="NotFixed" fixedTo="NotFixed">
    9191      <AssociationMoniker Name="/HiveDataContext/Plugin/Plugin_PluginData" />
    9292      <nodes>
     
    9595      </nodes>
    9696    </associationConnector>
    97     <associationConnector edgePoints="[(8.875 : 6.19314697265625); (8.5 : 6.19314697265625)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     97    <associationConnector edgePoints="[(8.875 : 6.31814697265625); (8.5 : 6.31814697265625)]" fixedFrom="NotFixed" fixedTo="NotFixed">
    9898      <AssociationMoniker Name="/HiveDataContext/Plugin/Plugin_RequiredPlugin" />
    9999      <nodes>
     
    121121      </nestedChildShapes>
    122122    </classShape>
    123     <associationConnector edgePoints="[(11.25 : 1.64004662467448); (10.9375 : 1.64004662467448); (10.9375 : 0.6875); (2.75 : 0.6875); (2.75 : 1)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     123    <associationConnector edgePoints="[(11.25 : 1.41147220247396); (10.9375 : 1.41147220247396); (10.9375 : 0.6875); (2.75 : 0.6875); (2.75 : 1)]" fixedFrom="NotFixed" fixedTo="NotFixed">
    124124      <AssociationMoniker Name="/HiveDataContext/Resource/Resource_StateLog" />
    125125      <nodes>
     
    179179      </nodes>
    180180    </associationConnector>
    181     <associationConnector edgePoints="[(7.5 : 4.30930826822917); (7.5 : 4.751650890625); (7.97916666666667 : 4.751650890625 : JumpStart); (8.14583333333333 : 4.751650890625 : JumpEnd); (8.875 : 4.751650890625)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     181    <associationConnector edgePoints="[(7.5 : 4.30930826822917); (7.5 : 4.876650890625); (8.875 : 4.876650890625)]" fixedFrom="NotFixed" fixedTo="NotFixed">
    182182      <AssociationMoniker Name="/HiveDataContext/Task/Task_AssignedResource" />
    183183      <nodes>
     
    186186      </nodes>
    187187    </associationConnector>
    188     <associationConnector edgePoints="[(8.0625 : 4.30930826822917); (8.0625 : 5.5)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     188    <associationConnector edgePoints="[(8.0625 : 4.30930826822917); (8.0625 : 5.625)]" fixedFrom="NotFixed" fixedTo="NotFixed">
    189189      <AssociationMoniker Name="/HiveDataContext/Task/Task_RequiredPlugin" />
    190190      <nodes>
  • trunk/sources/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.designer.cs

    r6983 r7857  
    33// <auto-generated>
    44//     This code was generated by a tool.
    5 //     Runtime Version:4.0.30319.239
     5//     Runtime Version:4.0.30319.269
    66//
    77//     Changes to this file may cause incorrect behavior and will be lost if
     
    11791179    private double _CpuUtilization;
    11801180   
     1181    private bool _IsDisposable;
     1182   
    11811183    #region Extensibility Method Definitions
    11821184    partial void OnLoaded();
     
    12071209    partial void OnCpuUtilizationChanging(double value);
    12081210    partial void OnCpuUtilizationChanged();
     1211    partial void OnIsDisposableChanging(bool value);
     1212    partial void OnIsDisposableChanged();
    12091213    #endregion
    12101214   
     
    14501454          this.SendPropertyChanged("CpuUtilization");
    14511455          this.OnCpuUtilizationChanged();
     1456        }
     1457      }
     1458    }
     1459   
     1460    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsDisposable", DbType="Bit")]
     1461    public bool IsDisposable
     1462    {
     1463      get
     1464      {
     1465        return this._IsDisposable;
     1466      }
     1467      set
     1468      {
     1469        if ((this._IsDisposable != value))
     1470        {
     1471          this.OnIsDisposableChanging(value);
     1472          this.SendPropertyChanging();
     1473          this._IsDisposable = value;
     1474          this.SendPropertyChanged("IsDisposable");
     1475          this.OnIsDisposableChanged();
    14521476        }
    14531477      }
  • trunk/sources/HeuristicLab.Services.Hive.DataAccess/3.3/SQL Scripts/Initialize Hive Database.sql

    r7847 r7857  
    4141  [CpuUtilization] float,
    4242  [HbInterval] int NOT NULL,
     43  [IsDisposable] Bit,
    4344  CONSTRAINT [PK_dbo.Resource] PRIMARY KEY ([ResourceId])
    4445  )
  • trunk/sources/HeuristicLab.Services.Hive/3.3/Convert.cs

    r7259 r7857  
    218218        LastHeartbeat = source.LastHeartbeat,
    219219        CpuUtilization = source.CpuUtilization,
    220         HbInterval = source.HbInterval
     220        HbInterval = source.HbInterval,
     221        IsDisposable = source.IsDisposable
    221222      };
    222223    }
     
    243244        target.CpuUtilization = source.CpuUtilization;
    244245        target.HbInterval = source.HbInterval;
     246        target.IsDisposable = source.IsDisposable;
    245247      }
    246248    }
  • trunk/sources/HeuristicLab.Services.Hive/3.3/DataTransfer/Slave.cs

    r7259 r7857  
    5353    [DataMember]
    5454    public double CpuUtilization { get; set; }
     55    [DataMember]
     56    public bool IsDisposable { get; set; }
    5557
    5658    public Slave() {
  • trunk/sources/HeuristicLab.Services.Hive/3.3/Manager/EventManager.cs

    r7434 r7857  
    4949        SetTimeoutSlavesOffline();
    5050        SetTimeoutTasksWaiting();
     51        DeleteObsoleteSlaves();
    5152      }, true);
    5253
     
    116117      }
    117118    }
     119
     120    /// <summary>
     121    /// Searches for slaves that are disposable and deletes them if they were offline for too long
     122    /// </summary>
     123    private void DeleteObsoleteSlaves() {
     124      var slaves = dao.GetSlaves(x => x.IsDisposable && x.SlaveState == SlaveState.Offline && (DateTime.Now - x.LastHeartbeat) > HeuristicLab.Services.Hive.Properties.Settings.Default.SweepInterval);
     125      foreach (DT.Slave slave in slaves) dao.DeleteSlave(slave.Id);
     126    }
    118127  }
    119128}
  • trunk/sources/HeuristicLab.Services.Hive/3.3/Properties/Settings.Designer.cs

    r7190 r7857  
    22// <auto-generated>
    33//     This code was generated by a tool.
    4 //     Runtime Version:4.0.30319.239
     4//     Runtime Version:4.0.30319.269
    55//
    66//     Changes to this file may cause incorrect behavior and will be lost if
     
    6868            }
    6969        }
     70       
     71        [global::System.Configuration.ApplicationScopedSettingAttribute()]
     72        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     73        [global::System.Configuration.DefaultSettingValueAttribute("3.00:00:00")]
     74        public global::System.TimeSpan SweepInterval {
     75            get {
     76                return ((global::System.TimeSpan)(this["SweepInterval"]));
     77            }
     78        }
    7079    }
    7180}
  • trunk/sources/HeuristicLab.Services.Hive/3.3/Properties/Settings.settings

    r7190 r7857  
    1818      <Value Profile="(Default)">00:03:00</Value>
    1919    </Setting>
     20    <Setting Name="SweepInterval" Type="System.TimeSpan" Scope="Application">
     21      <Value Profile="(Default)">3.00:00:00</Value>
     22    </Setting>
    2023  </Settings>
    2124</SettingsFile>
  • trunk/sources/HeuristicLab.Services.Hive/3.3/app.config

    r7190 r7857  
    2323                <value>00:03:00</value>
    2424            </setting>
     25            <setting name="SweepInterval" serializeAs="String">
     26                <value>3.00:00:00</value>
     27            </setting>
    2528        </HeuristicLab.Services.Hive.Properties.Settings>
    2629    </applicationSettings>
Note: See TracChangeset for help on using the changeset viewer.