Free cookie consent management tool by TermsFeed Policy Generator

Changeset 9219 for trunk/sources


Ignore:
Timestamp:
02/18/13 10:34:23 (11 years ago)
Author:
ascheibe
Message:

#2005 merged Hive Job Unloading branch back into trunk

Location:
trunk/sources
Files:
17 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources

  • trunk/sources/HeuristicLab.Clients.Hive.JobManager/3.3/Views/HiveJobManagerView.cs

    r7259 r9219  
    5454      Content.Refreshing += new EventHandler(Content_Refreshing);
    5555      Content.Refreshed += new EventHandler(Content_Refreshed);
    56       Content.HiveExperimentsChanged += new EventHandler(Content_HiveExperimentsChanged);
    57 
     56      Content.HiveJobsChanged += new EventHandler(Content_HiveJobsChanged);
    5857    }
    5958
     
    6160      Content.Refreshing -= new EventHandler(Content_Refreshing);
    6261      Content.Refreshed -= new EventHandler(Content_Refreshed);
    63       Content.HiveExperimentsChanged -= new EventHandler(Content_HiveExperimentsChanged);
     62      Content.HiveJobsChanged -= new EventHandler(Content_HiveJobsChanged);
    6463      base.DeregisterContentEvents();
    6564    }
     
    123122
    124123    protected override void OnClosing(FormClosingEventArgs e) {
    125       base.OnClosing(e);
    126       if (Content != null && Content.Jobs != null) {
    127         foreach (var exp in Content.Jobs.OfType<RefreshableJob>()) {
    128           if (exp.RefreshAutomatically) {
    129             exp.RefreshAutomatically = false; // stop result polling
    130           }
     124      if (Content.Jobs.Any(x => x.IsProgressing)) {
     125        MessageBox.Show("The Hive Job Manager can only be closed after all down/uploads are finished. ", "HeuristicLab Hive Job Manager", MessageBoxButtons.OK, MessageBoxIcon.Information);
     126        e.Cancel = true;
     127      } else {
     128        base.OnClosing(e);
     129        if (Content != null && Content.Jobs != null) {
     130          Content.Jobs.ItemsRemoved -= new CollectionItemsChangedEventHandler<RefreshableJob>(HiveExperiments_ItemsRemoved);
     131          Content.ClearHiveClient();
     132          Content = null;
    131133        }
    132134      }
     
    139141    }
    140142
    141     private void Content_HiveExperimentsChanged(object sender, EventArgs e) {
    142       Content.Jobs.ItemsRemoved += new CollectionItemsChangedEventHandler<RefreshableJob>(HiveExperiments_ItemsRemoved);
     143    private void Content_HiveJobsChanged(object sender, EventArgs e) {
     144      if (Content.Jobs != null) {
     145        Content.Jobs.ItemsRemoved += new CollectionItemsChangedEventHandler<RefreshableJob>(HiveExperiments_ItemsRemoved);
     146      }
    143147    }
    144148  }
  • trunk/sources/HeuristicLab.Clients.Hive.JobManager/3.3/Views/RefreshableHiveJobView.Designer.cs

    r9107 r9219  
    7171      this.refreshButton = new System.Windows.Forms.Button();
    7272      this.isPrivilegedCheckBox = new System.Windows.Forms.CheckBox();
     73      this.UnloadButton = new System.Windows.Forms.Button();
    7374      this.refreshAutomaticallyCheckBox = new System.Windows.Forms.CheckBox();
    7475      this.infoGroupBox = new System.Windows.Forms.GroupBox();
     
    9192      // tabControl
    9293      //
     94      this.tabControl.AllowDrop = true;
    9395      this.tabControl.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    9496            | System.Windows.Forms.AnchorStyles.Left)
     
    377379      this.isPrivilegedCheckBox.CheckedChanged += new System.EventHandler(this.isPrivilegedCheckBox_CheckChanged);
    378380      //
     381      // UnloadButton
     382      //
     383      this.UnloadButton.Image = HeuristicLab.Common.Resources.VSImageLibrary.Disconnect;
     384      this.UnloadButton.Location = new System.Drawing.Point(30, 0);
     385      this.UnloadButton.Name = "UnloadButton";
     386      this.UnloadButton.Size = new System.Drawing.Size(24, 24);
     387      this.UnloadButton.TabIndex = 27;
     388      this.toolTip.SetToolTip(this.UnloadButton, "Unload Job");
     389      this.UnloadButton.UseVisualStyleBackColor = true;
     390      this.UnloadButton.Click += new System.EventHandler(this.UnloadButton_Click);
     391      //
    379392      // refreshAutomaticallyCheckBox
    380393      //
    381394      this.refreshAutomaticallyCheckBox.AutoSize = true;
    382       this.refreshAutomaticallyCheckBox.Location = new System.Drawing.Point(30, 5);
     395      this.refreshAutomaticallyCheckBox.Location = new System.Drawing.Point(70, 3);
    383396      this.refreshAutomaticallyCheckBox.Name = "refreshAutomaticallyCheckBox";
    384397      this.refreshAutomaticallyCheckBox.Size = new System.Drawing.Size(127, 17);
     
    471484      // RefreshableHiveJobView
    472485      //
    473       this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
    474486      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
     487      this.Controls.Add(this.UnloadButton);
    475488      this.Controls.Add(this.searchButton);
    476489      this.Controls.Add(this.isPrivilegedCheckBox);
     
    505518    #endregion
    506519
    507     private System.Windows.Forms.TabControl tabControl;
    508520    private System.Windows.Forms.Button startButton;
    509521    private System.Windows.Forms.Button stopButton;
     
    539551    private MainForm.WindowsForms.ViewHost runCollectionViewHost;
    540552    private System.Windows.Forms.Button searchButton;
     553    private MainForm.WindowsForms.DragOverTabControl tabControl;
     554    private System.Windows.Forms.Button UnloadButton;
    541555
    542556  }
  • trunk/sources/HeuristicLab.Clients.Hive.JobManager/3.3/Views/RefreshableHiveJobView.cs

    r9107 r9219  
    100100        progressView = null;
    101101      }
     102      DeregisterHiveExperimentEvents();
     103      DeregisterHiveTasksEvents();
    102104      base.DeregisterContentEvents();
    103105    }
     
    111113    }
    112114
    113     private void RegisterHiveJobEvents() {
     115    private void RegisterHiveTasksEvents() {
    114116      Content.HiveTasks.ItemsAdded += new CollectionItemsChangedEventHandler<HiveTask>(HiveTasks_ItemsAdded);
    115117      Content.HiveTasks.ItemsRemoved += new CollectionItemsChangedEventHandler<HiveTask>(HiveTasks_ItemsRemoved);
    116118      Content.HiveTasks.CollectionReset += new CollectionItemsChangedEventHandler<HiveTask>(HiveTasks_CollectionReset);
    117119    }
    118     private void DeregisterHiveJobEvents() {
     120    private void DeregisterHiveTasksEvents() {
    119121      Content.HiveTasks.ItemsAdded -= new CollectionItemsChangedEventHandler<HiveTask>(HiveTasks_ItemsAdded);
    120122      Content.HiveTasks.ItemsRemoved -= new CollectionItemsChangedEventHandler<HiveTask>(HiveTasks_ItemsRemoved);
     
    131133          resourceNamesTextBox.Text = string.Empty;
    132134          isPrivilegedCheckBox.Checked = false;
    133           logView.Content = null;
    134135          refreshAutomaticallyCheckBox.Checked = false;
    135136          lock (runCollectionViewLocker) {
    136137            runCollectionViewHost.Content = null;
    137138          }
     139          logView.Content = null;
     140          jobsTreeView.Content = null;
     141          hiveExperimentPermissionListView.Content = null;
     142          stateLogViewHost.Content = null;
    138143        } else {
    139144          nameTextBox.Text = Content.Job.Name;
     
    182187        this.refreshButton.Enabled = Content.IsDownloadable && alreadyUploaded && !Content.IsProgressing;
    183188        this.Locked = !Content.IsControllable || Content.ExecutionState == ExecutionState.Started || Content.IsProgressing;
     189
     190        this.UnloadButton.Enabled = Content.HiveTasks != null && Content.HiveTasks.Count > 0 && alreadyUploaded && !Content.IsProgressing;
    184191      }
    185192      SetEnabledStateOfExecutableButtons();
     
    286293        if (Content != null && Content.HiveTasks != null) {
    287294          jobsTreeView.Content = Content.HiveTasks;
    288           RegisterHiveJobEvents();
     295          RegisterHiveTasksEvents();
    289296        } else {
    290297          jobsTreeView.Content = null;
     
    435442
    436443    private void nameTextBox_Validated(object sender, EventArgs e) {
    437       if (!SuppressEvents && Content.Job.Name != nameTextBox.Text)
     444      if (!SuppressEvents && Content.Job != null && Content.Job.Name != nameTextBox.Text)
    438445        Content.Job.Name = nameTextBox.Text;
    439446    }
    440447
    441448    private void resourceNamesTextBox_Validated(object sender, EventArgs e) {
    442       if (!SuppressEvents && Content.Job.ResourceNames != resourceNamesTextBox.Text)
     449      if (!SuppressEvents && Content.Job != null && Content.Job.ResourceNames != resourceNamesTextBox.Text)
    443450        Content.Job.ResourceNames = resourceNamesTextBox.Text;
    444451    }
     
    564571      }
    565572    }
     573
     574    private void UnloadButton_Click(object sender, EventArgs e) {
     575      Content.Unload();
     576      runCollectionViewHost.Content = null;
     577      stateLogViewHost.Content = null;
     578      hiveExperimentPermissionListView.Content = null;
     579      jobsTreeView.Content = null;
     580
     581      SetEnabledStateOfControls();
     582    }
    566583  }
    567584}
  • trunk/sources/HeuristicLab.Clients.Hive/3.3/ConcurrentTaskDownloader.cs

    r7259 r9219  
    3030  /// Downloads and deserializes jobs. It avoids too many jobs beeing downloaded or deserialized at the same time to avoid memory problems
    3131  /// </summary>
    32   public class ConcurrentTaskDownloader<T> where T : class, ITask {
     32  public class ConcurrentTaskDownloader<T> : IDisposable where T : class, ITask {
    3333    private bool abort = false;
    3434    // use semaphore to ensure only few concurrenct connections and few SerializedJob objects in memory
     
    3939      downloadSemaphore = new Semaphore(concurrentDownloads, concurrentDownloads);
    4040      deserializeSemaphore = new Semaphore(concurrentDeserializations, concurrentDeserializations);
    41       TaskScheduler.UnobservedTaskException += new EventHandler<UnobservedTaskExceptionEventArgs>(TaskScheduler_UnobservedTaskException);
    4241    }
    4342
     
    6968
    7069    private Task DownloadTask(object taskId) {
    71       return HiveServiceLocator.Instance.CallHiveService(s => s.GetTask((Guid)taskId));
     70      Task t = null;
     71      HiveClient.TryAndRepeat(() => {
     72        t = HiveServiceLocator.Instance.CallHiveService(s => s.GetTask((Guid)taskId));
     73      }, Settings.Default.MaxRepeatServiceCalls, "Failed to download task.");
     74      return t;
    7275    }
    7376
     
    7881    protected Tuple<Task, TaskData> DownloadTaskData(Task task) {
    7982      downloadSemaphore.WaitOne();
    80       TaskData result;
     83      TaskData result = null;
    8184      try {
    8285        if (abort) return null;
    83         result = HiveServiceLocator.Instance.CallHiveService(s => s.GetTaskData(task.Id));
    84       } finally {
     86        HiveClient.TryAndRepeat(() => {
     87          result = HiveServiceLocator.Instance.CallHiveService(s => s.GetTaskData(task.Id));
     88        }, Settings.Default.MaxRepeatServiceCalls, "Failed to download task data.");
     89      }
     90      finally {
    8591        downloadSemaphore.Release();
    8692      }
     
    95101        taskData.Item2.Data = null; // reduce memory consumption.
    96102        return new Tuple<Task, T>(taskData.Item1, deserializedJob);
    97       } finally {
     103      }
     104      finally {
    98105        deserializeSemaphore.Release();
    99106      }
    100     }
    101 
    102     private void TaskScheduler_UnobservedTaskException(object sender, UnobservedTaskExceptionEventArgs e) {
    103       e.SetObserved(); // avoid crash of process because task crashes. first exception found is handled in Results property
    104       OnExceptionOccured(new HiveException("Unobserved Exception in ConcurrentTaskDownloader", e.Exception));
    105107    }
    106108
     
    110112      if (handler != null) handler(this, new EventArgs<Exception>(exception));
    111113    }
     114
     115    #region IDisposable Members
     116    public void Dispose() {
     117      deserializeSemaphore.Dispose();
     118      downloadSemaphore.Dispose();
     119    }
     120    #endregion
    112121  }
    113122}
  • trunk/sources/HeuristicLab.Clients.Hive/3.3/HiveClient.cs

    r9107 r9219  
    4646
    4747    #region Properties
    48     private ItemCollection<RefreshableJob> jobs;
    49     public ItemCollection<RefreshableJob> Jobs {
     48    private HiveItemCollection<RefreshableJob> jobs;
     49    public HiveItemCollection<RefreshableJob> Jobs {
    5050      get { return jobs; }
    5151      set {
    5252        if (value != jobs) {
    5353          jobs = value;
    54           OnHiveExperimentsChanged();
     54          OnHiveJobsChanged();
    5555        }
    5656      }
     
    7676    #endregion
    7777
    78     private HiveClient() { }
     78    private HiveClient() {
     79      //this will never be deregistered
     80      TaskScheduler.UnobservedTaskException += new EventHandler<UnobservedTaskExceptionEventArgs>(TaskScheduler_UnobservedTaskException);
     81    }
     82
     83    private void TaskScheduler_UnobservedTaskException(object sender, UnobservedTaskExceptionEventArgs e) {
     84      e.SetObserved(); // avoid crash of process because task crashes. first exception found is handled in Results property
     85      throw new HiveException("Unobserved Exception in ConcurrentTaskDownloader", e.Exception);
     86    }
     87
     88    public void ClearHiveClient() {
     89      Jobs.ClearWithoutHiveDeletion();
     90      foreach (var j in Jobs) {
     91        if (j.RefreshAutomatically) {
     92          j.RefreshAutomatically = false; // stop result polling
     93        }
     94        j.Dispose();
     95      }
     96      Jobs = null;
     97
     98      if (onlinePlugins != null)
     99        onlinePlugins.Clear();
     100      if (alreadyUploadedPlugins != null)
     101        alreadyUploadedPlugins.Clear();
     102    }
    79103
    80104    #region Refresh
     
    85109        IsAllowedPrivileged = HiveServiceLocator.Instance.CallHiveService((s) => s.IsAllowedPrivileged());
    86110
    87         var oldJobs = jobs ?? new ItemCollection<RefreshableJob>();
    88111        jobs = new HiveItemCollection<RefreshableJob>();
    89112        var jobsLoaded = HiveServiceLocator.Instance.CallHiveService<IEnumerable<Job>>(s => s.GetJobs());
    90113
    91114        foreach (var j in jobsLoaded) {
    92           var job = oldJobs.SingleOrDefault(x => x.Id == j.Id);
    93           if (job == null) {
    94             // new
    95             jobs.Add(new RefreshableJob(j) { IsAllowedPrivileged = this.isAllowedPrivileged });
    96           } else {
    97             // update
    98             job.Job = j;
    99             job.IsAllowedPrivileged = this.isAllowedPrivileged;
    100             jobs.Add(job);
    101           }
    102         }
    103         // remove those which were not in the list of loaded hiveexperiments
    104         foreach (var job in oldJobs) {
    105           if (job.Id == Guid.Empty) {
    106             // experiment not uploaded... keep
    107             jobs.Add(job);
    108           } else {
    109             job.RefreshAutomatically = false; // stop results polling
    110           }
     115          jobs.Add(new RefreshableJob(j) { IsAllowedPrivileged = this.isAllowedPrivileged });
    111116        }
    112117      }
     
    119124      }
    120125    }
     126
    121127    public void RefreshAsync(Action<Exception> exceptionCallback) {
    122128      var call = new Func<Exception>(delegate() {
     
    205211      if (handler != null) handler(this, EventArgs.Empty);
    206212    }
    207     public event EventHandler HiveExperimentsChanged;
    208     private void OnHiveExperimentsChanged() {
    209       var handler = HiveExperimentsChanged;
     213    public event EventHandler HiveJobsChanged;
     214    private void OnHiveJobsChanged() {
     215      var handler = HiveJobsChanged;
    210216      if (handler != null) handler(this, EventArgs.Empty);
    211217    }
     
    308314      }
    309315      finally {
    310         refreshableJob.RefreshAutomatically = true;
    311         refreshableJob.StartResultPolling();
    312316        refreshableJob.Job.Modified = false;
    313317        refreshableJob.IsProgressing = false;
     
    421425      refreshableJob.IsProgressing = true;
    422426      refreshableJob.Progress = new Progress();
     427      TaskDownloader downloader = null;
    423428
    424429      try {
     
    429434        // fetch all task objects to create the full tree of tree of HiveTask objects
    430435        refreshableJob.Progress.Status = "Downloading list of tasks...";
    431         allTasks = HiveServiceLocator.Instance.CallHiveService(s => s.GetLightweightJobTasks(hiveExperiment.Id));
     436        allTasks = HiveServiceLocator.Instance.CallHiveService(s => s.GetLightweightJobTasksWithoutStateLog(hiveExperiment.Id));
    432437        totalJobCount = allTasks.Count();
    433438
    434439        refreshableJob.Progress.Status = "Downloading tasks...";
    435         TaskDownloader downloader = new TaskDownloader(allTasks.Select(x => x.Id));
     440        downloader = new TaskDownloader(allTasks.Select(x => x.Id));
    436441        downloader.StartAsync();
    437442
     
    465470        refreshableJob.IsProgressing = false;
    466471        refreshableJob.Progress.Finish();
     472        if (downloader != null) {
     473          downloader.Dispose();
     474        }
    467475      }
    468476    }
  • trunk/sources/HeuristicLab.Clients.Hive/3.3/HiveTasks/HiveTask.cs

    r8939 r9219  
    3636  [Item("Hive Task", "Represents a hive task.")]
    3737  [StorableClass]
    38   public class HiveTask : NamedItem, IItemTree<HiveTask> {
     38  public class HiveTask : NamedItem, IItemTree<HiveTask>, IDisposable {
    3939    protected static object locker = new object();
    4040    protected ReaderWriterLockSlim childHiveTasksLock = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);
     
    6767      set {
    6868        if (task != value) {
    69           DeregisterJobEvents();
     69          DeregisterTaskEvents();
    7070          task = value;
    71           RegisterJobEvents();
     71          RegisterTaskEvents();
    7272          IsFinishedTaskDownloaded = false;
    7373          OnTaskChanged();
     
    9393          itemTaskLock.EnterWriteLock();
    9494          try {
    95             DergisterItemTaskEvents();
     95            DeregisterItemTaskEvents();
    9696            itemTask = value;
    9797            RegisterItemTaskEvents();
     
    177177      this.childHiveTasks = new ItemList<HiveTask>();
    178178      syncTasksWithOptimizers = true;
    179       RegisterChildHiveJobEvents();
     179      RegisterChildHiveTasksEvents();
    180180    }
    181181
     
    198198      this.childHiveTasks = new ItemList<HiveTask>();
    199199      this.syncTasksWithOptimizers = true;
    200       RegisterChildHiveJobEvents();
     200      RegisterChildHiveTasksEvents();
    201201    }
    202202
     
    226226      }
    227227    }
    228     protected virtual void DergisterItemTaskEvents() {
     228    protected virtual void DeregisterItemTaskEvents() {
    229229      if (ItemTask != null) {
    230230        ItemTask.ComputeInParallelChanged -= new EventHandler(ItemJob_ComputeInParallelChanged);
     
    233233    }
    234234
    235     protected virtual void RegisterChildHiveJobEvents() {
     235    protected virtual void RegisterChildHiveTasksEvents() {
    236236      this.childHiveTasks.ItemsAdded += new CollectionItemsChangedEventHandler<IndexedItem<HiveTask>>(OnItemsAdded);
    237237      this.childHiveTasks.ItemsRemoved += new CollectionItemsChangedEventHandler<IndexedItem<HiveTask>>(OnItemsRemoved);
    238238      this.childHiveTasks.CollectionReset += new CollectionItemsChangedEventHandler<IndexedItem<HiveTask>>(OnCollectionReset);
    239239    }
    240     protected virtual void DeregisterChildHiveJobEvents() {
     240    protected virtual void DeregisterChildHiveTasksEvents() {
    241241      this.childHiveTasks.ItemsAdded -= new CollectionItemsChangedEventHandler<IndexedItem<HiveTask>>(OnItemsAdded);
    242242      this.childHiveTasks.ItemsRemoved -= new CollectionItemsChangedEventHandler<IndexedItem<HiveTask>>(OnItemsRemoved);
     
    342342    }
    343343
    344     private void RegisterJobEvents() {
     344    private void RegisterTaskEvents() {
    345345      if (task != null)
    346346        task.PropertyChanged += new PropertyChangedEventHandler(task_PropertyChanged);
    347347    }
    348348
    349     private void DeregisterJobEvents() {
     349    private void DeregisterTaskEvents() {
    350350      if (task != null)
    351351        task.PropertyChanged += new PropertyChangedEventHandler(task_PropertyChanged);
     
    526526      this.ItemTask.Item = null;
    527527    }
     528
     529    public void Dispose() {
     530      DeregisterChildHiveTasksEvents();
     531      DeregisterTaskEvents();
     532      DeregisterItemTaskEvents();
     533      childHiveTasksLock.Dispose();
     534      itemTaskLock.Dispose();
     535    }
    528536  }
    529537
  • trunk/sources/HeuristicLab.Clients.Hive/3.3/HiveTasks/OptimizerHiveTask.cs

    r8939 r9219  
    107107      }
    108108    }
    109     protected override void DergisterItemTaskEvents() {
    110       base.DergisterItemTaskEvents();
     109    protected override void DeregisterItemTaskEvents() {
     110      base.DeregisterItemTaskEvents();
    111111      if (ItemTask != null) {
    112112        if (ItemTask.Item is Optimization.Experiment) {
  • trunk/sources/HeuristicLab.Clients.Hive/3.3/RefreshableJob.cs

    r9107 r9219  
    3131
    3232namespace HeuristicLab.Clients.Hive {
    33   public class RefreshableJob : IHiveItem, IDeepCloneable, IContent, IComparable<RefreshableJob> {
     33  public class RefreshableJob : IHiveItem, IDeepCloneable, IContent, IComparable<RefreshableJob>, IDisposable {
    3434    private JobResultPoller jobResultPoller;
    3535    private ConcurrentTaskDownloader<ItemTask> jobDownloader;
     
    4848            throw new ArgumentNullException();
    4949
    50           if (job != null) DergisterJobEvents();
     50          if (job != null) DeregisterJobEvents();
    5151          job = value;
    5252          if (job != null) {
     
    6666      set {
    6767        if (hiveTasks != value) {
    68           if (hiveTasks != null) DeregisterHiveJobsEvents();
     68          if (hiveTasks != null) DeregisterHiveTasksEvents();
    6969          hiveTasks = value;
    70           if (hiveTasks != null) RegisterHiveJobsEvents();
     70          if (hiveTasks != null) RegisterHiveTasksEvents();
    7171          OnHiveTasksChanged();
    7272        }
     
    240240      if (jobResultPoller != null && jobResultPoller.IsPolling) {
    241241        jobResultPoller.Stop();
     242        DeregisterResultPollingEvents();
    242243      }
    243244    }
     
    358359    }
    359360
    360     private void DergisterJobEvents() {
     361    private void DeregisterJobEvents() {
    361362      job.ToStringChanged -= new EventHandler(OnToStringChanged);
    362363      job.PropertyChanged -= new PropertyChangedEventHandler(job_PropertyChanged);
     
    473474
    474475    #region HiveTasks Events
    475     private void RegisterHiveJobsEvents() {
     476    private void RegisterHiveTasksEvents() {
    476477      this.hiveTasks.ItemsAdded += new CollectionItemsChangedEventHandler<HiveTask>(hivetasks_ItemsAdded);
    477478      this.hiveTasks.ItemsRemoved += new CollectionItemsChangedEventHandler<HiveTask>(hiveTasks_ItemsRemoved);
     
    479480    }
    480481
    481     private void DeregisterHiveJobsEvents() {
     482    private void DeregisterHiveTasksEvents() {
    482483      this.hiveTasks.ItemsAdded -= new CollectionItemsChangedEventHandler<HiveTask>(hivetasks_ItemsAdded);
    483484      this.hiveTasks.ItemsRemoved -= new CollectionItemsChangedEventHandler<HiveTask>(hiveTasks_ItemsRemoved);
     
    561562
    562563    public Guid Id {
    563       get { return job.Id; }
     564      get {
     565        if (job == null) return Guid.Empty;
     566        return job.Id;
     567      }
    564568      set { job.Id = value; }
    565569    }
     
    605609      return this.ToString().CompareTo(other.ToString());
    606610    }
     611
     612    public void Unload() {
     613      // stop result polling
     614      if (refreshAutomatically)
     615        RefreshAutomatically = false;
     616      DisposeTasks();
     617      hiveTasks = new ItemCollection<HiveTask>();
     618    }
     619
     620    #region IDisposable Members
     621    public void Dispose() {
     622      if (jobDownloader != null) {
     623        jobDownloader.ExceptionOccured -= new EventHandler<EventArgs<Exception>>(jobDownloader_ExceptionOccured);
     624        jobDownloader.Dispose();
     625        jobDownloader = null;
     626      }
     627      if (jobResultPoller != null) {
     628        DeregisterResultPollingEvents();
     629        jobResultPoller = null;
     630      }
     631      if (hiveTasks != null) {
     632        DisposeTasks();
     633      }
     634      if (job != null) {
     635        DeregisterJobEvents();
     636        job = null;
     637      }
     638    }
     639
     640    private void DisposeTasks() {
     641      DeregisterHiveTasksEvents();
     642      foreach (var task in hiveTasks) {
     643        task.Dispose();
     644      }
     645      hiveTasks.Clear(); // this should remove the item_StateLogChanged event handlers
     646      hiveTasks = null;
     647    }
     648    #endregion
    607649  }
    608650}
  • trunk/sources/HeuristicLab.Clients.Hive/3.3/ServiceClients/HiveItemCollection.cs

    r7259 r9219  
    5252    }
    5353
     54    public void ClearWithoutHiveDeletion() {
     55      if (list.Count > 0) {
     56        T[] items = list.ToArray();
     57        list.Clear();
     58        OnPropertyChanged("Count");
     59        //don't call OnCollectionReset directly as it would delete the job
     60        base.OnCollectionReset(list, items);
     61      }
     62    }
     63
    5464    private void RemoveItems(IEnumerable<T> items, out IEnumerable<T> successful, out IEnumerable<T> unsuccessful, out Exception exception) {
    5565      List<T> removed = new List<T>();
  • trunk/sources/HeuristicLab.Clients.Hive/3.3/ServiceClients/HiveServiceClient.cs

    r8957 r9219  
    22// <auto-generated>
    33//     This code was generated by a tool.
    4 //     Runtime Version:4.0.30319.586
     4//     Runtime Version:4.0.30319.18034
    55//
    66//     Changes to this file may cause incorrect behavior and will be lost if
     
    99//------------------------------------------------------------------------------
    1010
    11 namespace HeuristicLab.Clients.Hive {
    12 
    13 
    14   [System.Diagnostics.DebuggerStepThroughAttribute()]
    15   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    16   [System.Runtime.Serialization.DataContractAttribute(Name = "Slave", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
    17   [System.SerializableAttribute()]
    18   public partial class Slave : HeuristicLab.Clients.Hive.Resource {
    19 
    20     [System.Runtime.Serialization.OptionalFieldAttribute()]
    21     private System.Nullable<int> CoresField;
    22 
    23     [System.Runtime.Serialization.OptionalFieldAttribute()]
    24     private HeuristicLab.Clients.Hive.CpuArchitecture CpuArchitectureField;
    25 
    26     [System.Runtime.Serialization.OptionalFieldAttribute()]
    27     private System.Nullable<int> CpuSpeedField;
    28 
    29     [System.Runtime.Serialization.OptionalFieldAttribute()]
    30     private double CpuUtilizationField;
    31 
    32     [System.Runtime.Serialization.OptionalFieldAttribute()]
    33     private System.Nullable<int> FreeCoresField;
    34 
    35     [System.Runtime.Serialization.OptionalFieldAttribute()]
    36     private System.Nullable<int> FreeMemoryField;
    37 
    38     [System.Runtime.Serialization.OptionalFieldAttribute()]
    39     private bool IsAllowedToCalculateField;
    40 
    41     [System.Runtime.Serialization.OptionalFieldAttribute()]
    42     private System.Nullable<bool> IsDisposableField;
    43 
    44     [System.Runtime.Serialization.OptionalFieldAttribute()]
    45     private System.Nullable<System.DateTime> LastHeartbeatField;
    46 
    47     [System.Runtime.Serialization.OptionalFieldAttribute()]
    48     private System.Nullable<int> MemoryField;
    49 
    50     [System.Runtime.Serialization.OptionalFieldAttribute()]
    51     private string OperatingSystemField;
    52 
    53     [System.Runtime.Serialization.OptionalFieldAttribute()]
    54     private HeuristicLab.Clients.Hive.SlaveState SlaveStateField;
    55 
    56     [System.Runtime.Serialization.DataMemberAttribute()]
    57     public System.Nullable<int> Cores {
    58       get {
    59         return this.CoresField;
    60       }
    61       set {
    62         if ((this.CoresField.Equals(value) != true)) {
    63           this.CoresField = value;
    64           this.RaisePropertyChanged("Cores");
    65         }
    66       }
    67     }
    68 
    69     [System.Runtime.Serialization.DataMemberAttribute()]
    70     public HeuristicLab.Clients.Hive.CpuArchitecture CpuArchitecture {
    71       get {
    72         return this.CpuArchitectureField;
    73       }
    74       set {
    75         if ((this.CpuArchitectureField.Equals(value) != true)) {
    76           this.CpuArchitectureField = value;
    77           this.RaisePropertyChanged("CpuArchitecture");
    78         }
    79       }
    80     }
    81 
    82     [System.Runtime.Serialization.DataMemberAttribute()]
    83     public System.Nullable<int> CpuSpeed {
    84       get {
    85         return this.CpuSpeedField;
    86       }
    87       set {
    88         if ((this.CpuSpeedField.Equals(value) != true)) {
    89           this.CpuSpeedField = value;
    90           this.RaisePropertyChanged("CpuSpeed");
    91         }
    92       }
    93     }
    94 
    95     [System.Runtime.Serialization.DataMemberAttribute()]
    96     public double CpuUtilization {
    97       get {
    98         return this.CpuUtilizationField;
    99       }
    100       set {
    101         if ((this.CpuUtilizationField.Equals(value) != true)) {
    102           this.CpuUtilizationField = value;
    103           this.RaisePropertyChanged("CpuUtilization");
    104         }
    105       }
    106     }
    107 
    108     [System.Runtime.Serialization.DataMemberAttribute()]
    109     public System.Nullable<int> FreeCores {
    110       get {
    111         return this.FreeCoresField;
    112       }
    113       set {
    114         if ((this.FreeCoresField.Equals(value) != true)) {
    115           this.FreeCoresField = value;
    116           this.RaisePropertyChanged("FreeCores");
    117         }
    118       }
    119     }
    120 
    121     [System.Runtime.Serialization.DataMemberAttribute()]
    122     public System.Nullable<int> FreeMemory {
    123       get {
    124         return this.FreeMemoryField;
    125       }
    126       set {
    127         if ((this.FreeMemoryField.Equals(value) != true)) {
    128           this.FreeMemoryField = value;
    129           this.RaisePropertyChanged("FreeMemory");
    130         }
    131       }
    132     }
    133 
    134     [System.Runtime.Serialization.DataMemberAttribute()]
    135     public bool IsAllowedToCalculate {
    136       get {
    137         return this.IsAllowedToCalculateField;
    138       }
    139       set {
    140         if ((this.IsAllowedToCalculateField.Equals(value) != true)) {
    141           this.IsAllowedToCalculateField = value;
    142           this.RaisePropertyChanged("IsAllowedToCalculate");
    143         }
    144       }
    145     }
    146 
    147     [System.Runtime.Serialization.DataMemberAttribute()]
    148     public System.Nullable<bool> IsDisposable {
    149       get {
    150         return this.IsDisposableField;
    151       }
    152       set {
    153         if ((this.IsDisposableField.Equals(value) != true)) {
    154           this.IsDisposableField = value;
    155           this.RaisePropertyChanged("IsDisposable");
    156         }
    157       }
    158     }
    159 
    160     [System.Runtime.Serialization.DataMemberAttribute()]
    161     public System.Nullable<System.DateTime> LastHeartbeat {
    162       get {
    163         return this.LastHeartbeatField;
    164       }
    165       set {
    166         if ((this.LastHeartbeatField.Equals(value) != true)) {
    167           this.LastHeartbeatField = value;
    168           this.RaisePropertyChanged("LastHeartbeat");
    169         }
    170       }
    171     }
    172 
    173     [System.Runtime.Serialization.DataMemberAttribute()]
    174     public System.Nullable<int> Memory {
    175       get {
    176         return this.MemoryField;
    177       }
    178       set {
    179         if ((this.MemoryField.Equals(value) != true)) {
    180           this.MemoryField = value;
    181           this.RaisePropertyChanged("Memory");
    182         }
    183       }
    184     }
    185 
    186     [System.Runtime.Serialization.DataMemberAttribute()]
    187     public string OperatingSystem {
    188       get {
    189         return this.OperatingSystemField;
    190       }
    191       set {
    192         if ((object.ReferenceEquals(this.OperatingSystemField, value) != true)) {
    193           this.OperatingSystemField = value;
    194           this.RaisePropertyChanged("OperatingSystem");
    195         }
    196       }
    197     }
    198 
    199     [System.Runtime.Serialization.DataMemberAttribute()]
    200     public HeuristicLab.Clients.Hive.SlaveState SlaveState {
    201       get {
    202         return this.SlaveStateField;
    203       }
    204       set {
    205         if ((this.SlaveStateField.Equals(value) != true)) {
    206           this.SlaveStateField = value;
    207           this.RaisePropertyChanged("SlaveState");
    208         }
    209       }
    210     }
    211   }
    212 
    213   [System.Diagnostics.DebuggerStepThroughAttribute()]
    214   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    215   [System.Runtime.Serialization.DataContractAttribute(Name = "HiveItem", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
    216   [System.SerializableAttribute()]
    217   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.LightweightTask))]
    218   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.StateLog))]
    219   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Task))]
    220   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Downtime))]
    221   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.JobPermission))]
    222   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.PluginData))]
    223   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.ResourcePermission))]
    224   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.NamedHiveItem))]
    225   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Job))]
    226   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Plugin))]
    227   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Resource))]
    228   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.SlaveGroup))]
    229   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Slave))]
    230   public partial class HiveItem : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
    231 
    232     [System.NonSerializedAttribute()]
    233     private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
    234 
    235     [System.Runtime.Serialization.OptionalFieldAttribute()]
    236     private System.Guid IdField;
    237 
    238     public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
    239       get {
    240         return this.extensionDataField;
    241       }
    242       set {
    243         this.extensionDataField = value;
    244       }
    245     }
    246 
    247     [System.Runtime.Serialization.DataMemberAttribute()]
    248     public System.Guid Id {
    249       get {
    250         return this.IdField;
    251       }
    252       set {
    253         if ((this.IdField.Equals(value) != true)) {
    254           this.IdField = value;
    255           this.RaisePropertyChanged("Id");
    256         }
    257       }
    258     }
    259 
    260     public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
    261   }
    262 
    263   [System.Diagnostics.DebuggerStepThroughAttribute()]
    264   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    265   [System.Runtime.Serialization.DataContractAttribute(Name = "LightweightTask", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
    266   [System.SerializableAttribute()]
    267   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Task))]
    268   public partial class LightweightTask : HeuristicLab.Clients.Hive.HiveItem {
    269 
    270     [System.Runtime.Serialization.OptionalFieldAttribute()]
    271     private System.Nullable<HeuristicLab.Clients.Hive.Command> CommandField;
    272 
    273     [System.Runtime.Serialization.OptionalFieldAttribute()]
    274     private System.TimeSpan ExecutionTimeField;
    275 
    276     [System.Runtime.Serialization.OptionalFieldAttribute()]
    277     private System.DateTime LastTaskDataUpdateField;
    278 
    279     [System.Runtime.Serialization.OptionalFieldAttribute()]
    280     private System.Nullable<System.Guid> ParentTaskIdField;
    281 
    282     [System.Runtime.Serialization.OptionalFieldAttribute()]
    283     private HeuristicLab.Clients.Hive.TaskState StateField;
    284 
    285     [System.Runtime.Serialization.OptionalFieldAttribute()]
    286     private System.Collections.Generic.List<HeuristicLab.Clients.Hive.StateLog> StateLogField;
    287 
    288     [System.Runtime.Serialization.DataMemberAttribute()]
    289     public System.Nullable<HeuristicLab.Clients.Hive.Command> Command {
    290       get {
    291         return this.CommandField;
    292       }
    293       set {
    294         if ((this.CommandField.Equals(value) != true)) {
    295           this.CommandField = value;
    296           this.RaisePropertyChanged("Command");
    297         }
    298       }
    299     }
    300 
    301     [System.Runtime.Serialization.DataMemberAttribute()]
    302     public System.TimeSpan ExecutionTime {
    303       get {
    304         return this.ExecutionTimeField;
    305       }
    306       set {
    307         if ((this.ExecutionTimeField.Equals(value) != true)) {
    308           this.ExecutionTimeField = value;
    309           this.RaisePropertyChanged("ExecutionTime");
    310         }
    311       }
    312     }
    313 
    314     [System.Runtime.Serialization.DataMemberAttribute()]
    315     public System.DateTime LastTaskDataUpdate {
    316       get {
    317         return this.LastTaskDataUpdateField;
    318       }
    319       set {
    320         if ((this.LastTaskDataUpdateField.Equals(value) != true)) {
    321           this.LastTaskDataUpdateField = value;
    322           this.RaisePropertyChanged("LastTaskDataUpdate");
    323         }
    324       }
    325     }
    326 
    327     [System.Runtime.Serialization.DataMemberAttribute()]
    328     public System.Nullable<System.Guid> ParentTaskId {
    329       get {
    330         return this.ParentTaskIdField;
    331       }
    332       set {
    333         if ((this.ParentTaskIdField.Equals(value) != true)) {
    334           this.ParentTaskIdField = value;
    335           this.RaisePropertyChanged("ParentTaskId");
    336         }
    337       }
    338     }
    339 
    340     [System.Runtime.Serialization.DataMemberAttribute()]
    341     public HeuristicLab.Clients.Hive.TaskState State {
    342       get {
    343         return this.StateField;
    344       }
    345       set {
    346         if ((this.StateField.Equals(value) != true)) {
    347           this.StateField = value;
    348           this.RaisePropertyChanged("State");
    349         }
    350       }
    351     }
    352 
    353     [System.Runtime.Serialization.DataMemberAttribute()]
    354     public System.Collections.Generic.List<HeuristicLab.Clients.Hive.StateLog> StateLog {
    355       get {
    356         return this.StateLogField;
    357       }
    358       set {
    359         if ((object.ReferenceEquals(this.StateLogField, value) != true)) {
    360           this.StateLogField = value;
    361           this.RaisePropertyChanged("StateLog");
    362         }
    363       }
    364     }
    365   }
    366 
    367   [System.Diagnostics.DebuggerStepThroughAttribute()]
    368   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    369   [System.Runtime.Serialization.DataContractAttribute(Name = "StateLog", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
    370   [System.SerializableAttribute()]
    371   public partial class StateLog : HeuristicLab.Clients.Hive.HiveItem {
    372 
    373     [System.Runtime.Serialization.OptionalFieldAttribute()]
    374     private System.DateTime DateTimeField;
    375 
    376     [System.Runtime.Serialization.OptionalFieldAttribute()]
    377     private string ExceptionField;
    378 
    379     [System.Runtime.Serialization.OptionalFieldAttribute()]
    380     private System.Nullable<System.Guid> SlaveIdField;
    381 
    382     [System.Runtime.Serialization.OptionalFieldAttribute()]
    383     private HeuristicLab.Clients.Hive.TaskState StateField;
    384 
    385     [System.Runtime.Serialization.OptionalFieldAttribute()]
    386     private System.Guid TaskIdField;
    387 
    388     [System.Runtime.Serialization.OptionalFieldAttribute()]
    389     private System.Nullable<System.Guid> UserIdField;
    390 
    391     [System.Runtime.Serialization.DataMemberAttribute()]
    392     public System.DateTime DateTime {
    393       get {
    394         return this.DateTimeField;
    395       }
    396       set {
    397         if ((this.DateTimeField.Equals(value) != true)) {
    398           this.DateTimeField = value;
    399           this.RaisePropertyChanged("DateTime");
    400         }
    401       }
    402     }
    403 
    404     [System.Runtime.Serialization.DataMemberAttribute()]
    405     public string Exception {
    406       get {
    407         return this.ExceptionField;
    408       }
    409       set {
    410         if ((object.ReferenceEquals(this.ExceptionField, value) != true)) {
    411           this.ExceptionField = value;
    412           this.RaisePropertyChanged("Exception");
    413         }
    414       }
    415     }
    416 
    417     [System.Runtime.Serialization.DataMemberAttribute()]
    418     public System.Nullable<System.Guid> SlaveId {
    419       get {
    420         return this.SlaveIdField;
    421       }
    422       set {
    423         if ((this.SlaveIdField.Equals(value) != true)) {
    424           this.SlaveIdField = value;
    425           this.RaisePropertyChanged("SlaveId");
    426         }
    427       }
    428     }
    429 
    430     [System.Runtime.Serialization.DataMemberAttribute()]
    431     public HeuristicLab.Clients.Hive.TaskState State {
    432       get {
    433         return this.StateField;
    434       }
    435       set {
    436         if ((this.StateField.Equals(value) != true)) {
    437           this.StateField = value;
    438           this.RaisePropertyChanged("State");
    439         }
    440       }
    441     }
    442 
    443     [System.Runtime.Serialization.DataMemberAttribute()]
    444     public System.Guid TaskId {
    445       get {
    446         return this.TaskIdField;
    447       }
    448       set {
    449         if ((this.TaskIdField.Equals(value) != true)) {
    450           this.TaskIdField = value;
    451           this.RaisePropertyChanged("TaskId");
    452         }
    453       }
    454     }
    455 
    456     [System.Runtime.Serialization.DataMemberAttribute()]
    457     public System.Nullable<System.Guid> UserId {
    458       get {
    459         return this.UserIdField;
    460       }
    461       set {
    462         if ((this.UserIdField.Equals(value) != true)) {
    463           this.UserIdField = value;
    464           this.RaisePropertyChanged("UserId");
    465         }
    466       }
    467     }
    468   }
    469 
    470   [System.Diagnostics.DebuggerStepThroughAttribute()]
    471   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    472   [System.Runtime.Serialization.DataContractAttribute(Name = "Task", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
    473   [System.SerializableAttribute()]
    474   public partial class Task : HeuristicLab.Clients.Hive.LightweightTask {
    475 
    476     [System.Runtime.Serialization.OptionalFieldAttribute()]
    477     private int CoresNeededField;
    478 
    479     [System.Runtime.Serialization.OptionalFieldAttribute()]
    480     private bool FinishWhenChildJobsFinishedField;
    481 
    482     [System.Runtime.Serialization.OptionalFieldAttribute()]
    483     private bool IsParentTaskField;
    484 
    485     [System.Runtime.Serialization.OptionalFieldAttribute()]
    486     private bool IsPrivilegedField;
    487 
    488     [System.Runtime.Serialization.OptionalFieldAttribute()]
    489     private System.Guid JobIdField;
    490 
    491     [System.Runtime.Serialization.OptionalFieldAttribute()]
    492     private System.Nullable<System.DateTime> LastHeartbeatField;
    493 
    494     [System.Runtime.Serialization.OptionalFieldAttribute()]
    495     private int MemoryNeededField;
    496 
    497     [System.Runtime.Serialization.OptionalFieldAttribute()]
    498     private System.Collections.Generic.List<System.Guid> PluginsNeededIdsField;
    499 
    500     [System.Runtime.Serialization.OptionalFieldAttribute()]
    501     private int PriorityField;
    502 
    503     [System.Runtime.Serialization.DataMemberAttribute()]
    504     public int CoresNeeded {
    505       get {
    506         return this.CoresNeededField;
    507       }
    508       set {
    509         if ((this.CoresNeededField.Equals(value) != true)) {
    510           this.CoresNeededField = value;
    511           this.RaisePropertyChanged("CoresNeeded");
    512         }
    513       }
    514     }
    515 
    516     [System.Runtime.Serialization.DataMemberAttribute()]
    517     public bool FinishWhenChildJobsFinished {
    518       get {
    519         return this.FinishWhenChildJobsFinishedField;
    520       }
    521       set {
    522         if ((this.FinishWhenChildJobsFinishedField.Equals(value) != true)) {
    523           this.FinishWhenChildJobsFinishedField = value;
    524           this.RaisePropertyChanged("FinishWhenChildJobsFinished");
    525         }
    526       }
    527     }
    528 
    529     [System.Runtime.Serialization.DataMemberAttribute()]
    530     public bool IsParentTask {
    531       get {
    532         return this.IsParentTaskField;
    533       }
    534       set {
    535         if ((this.IsParentTaskField.Equals(value) != true)) {
    536           this.IsParentTaskField = value;
    537           this.RaisePropertyChanged("IsParentTask");
    538         }
    539       }
    540     }
    541 
    542     [System.Runtime.Serialization.DataMemberAttribute()]
    543     public bool IsPrivileged {
    544       get {
    545         return this.IsPrivilegedField;
    546       }
    547       set {
    548         if ((this.IsPrivilegedField.Equals(value) != true)) {
    549           this.IsPrivilegedField = value;
    550           this.RaisePropertyChanged("IsPrivileged");
    551         }
    552       }
    553     }
    554 
    555     [System.Runtime.Serialization.DataMemberAttribute()]
    556     public System.Guid JobId {
    557       get {
    558         return this.JobIdField;
    559       }
    560       set {
    561         if ((this.JobIdField.Equals(value) != true)) {
    562           this.JobIdField = value;
    563           this.RaisePropertyChanged("JobId");
    564         }
    565       }
    566     }
    567 
    568     [System.Runtime.Serialization.DataMemberAttribute()]
    569     public System.Nullable<System.DateTime> LastHeartbeat {
    570       get {
    571         return this.LastHeartbeatField;
    572       }
    573       set {
    574         if ((this.LastHeartbeatField.Equals(value) != true)) {
    575           this.LastHeartbeatField = value;
    576           this.RaisePropertyChanged("LastHeartbeat");
    577         }
    578       }
    579     }
    580 
    581     [System.Runtime.Serialization.DataMemberAttribute()]
    582     public int MemoryNeeded {
    583       get {
    584         return this.MemoryNeededField;
    585       }
    586       set {
    587         if ((this.MemoryNeededField.Equals(value) != true)) {
    588           this.MemoryNeededField = value;
    589           this.RaisePropertyChanged("MemoryNeeded");
    590         }
    591       }
    592     }
    593 
    594     [System.Runtime.Serialization.DataMemberAttribute()]
    595     public System.Collections.Generic.List<System.Guid> PluginsNeededIds {
    596       get {
    597         return this.PluginsNeededIdsField;
    598       }
    599       set {
    600         if ((object.ReferenceEquals(this.PluginsNeededIdsField, value) != true)) {
    601           this.PluginsNeededIdsField = value;
    602           this.RaisePropertyChanged("PluginsNeededIds");
    603         }
    604       }
    605     }
    606 
    607     [System.Runtime.Serialization.DataMemberAttribute()]
    608     public int Priority {
    609       get {
    610         return this.PriorityField;
    611       }
    612       set {
    613         if ((this.PriorityField.Equals(value) != true)) {
    614           this.PriorityField = value;
    615           this.RaisePropertyChanged("Priority");
    616         }
    617       }
    618     }
    619   }
    620 
    621   [System.Diagnostics.DebuggerStepThroughAttribute()]
    622   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    623   [System.Runtime.Serialization.DataContractAttribute(Name = "Downtime", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
    624   [System.SerializableAttribute()]
    625   public partial class Downtime : HeuristicLab.Clients.Hive.HiveItem {
    626 
    627     [System.Runtime.Serialization.OptionalFieldAttribute()]
    628     private bool AllDayEventField;
    629 
    630     [System.Runtime.Serialization.OptionalFieldAttribute()]
    631     private HeuristicLab.Clients.Hive.DowntimeType DowntimeTypeField;
    632 
    633     [System.Runtime.Serialization.OptionalFieldAttribute()]
    634     private System.DateTime EndDateField;
    635 
    636     [System.Runtime.Serialization.OptionalFieldAttribute()]
    637     private bool RecurringField;
    638 
    639     [System.Runtime.Serialization.OptionalFieldAttribute()]
    640     private System.Guid RecurringIdField;
    641 
    642     [System.Runtime.Serialization.OptionalFieldAttribute()]
    643     private System.Guid ResourceIdField;
    644 
    645     [System.Runtime.Serialization.OptionalFieldAttribute()]
    646     private System.DateTime StartDateField;
    647 
    648     [System.Runtime.Serialization.DataMemberAttribute()]
    649     public bool AllDayEvent {
    650       get {
    651         return this.AllDayEventField;
    652       }
    653       set {
    654         if ((this.AllDayEventField.Equals(value) != true)) {
    655           this.AllDayEventField = value;
    656           this.RaisePropertyChanged("AllDayEvent");
    657         }
    658       }
    659     }
    660 
    661     [System.Runtime.Serialization.DataMemberAttribute()]
    662     public HeuristicLab.Clients.Hive.DowntimeType DowntimeType {
    663       get {
    664         return this.DowntimeTypeField;
    665       }
    666       set {
    667         if ((this.DowntimeTypeField.Equals(value) != true)) {
    668           this.DowntimeTypeField = value;
    669           this.RaisePropertyChanged("DowntimeType");
    670         }
    671       }
    672     }
    673 
    674     [System.Runtime.Serialization.DataMemberAttribute()]
    675     public System.DateTime EndDate {
    676       get {
    677         return this.EndDateField;
    678       }
    679       set {
    680         if ((this.EndDateField.Equals(value) != true)) {
    681           this.EndDateField = value;
    682           this.RaisePropertyChanged("EndDate");
    683         }
    684       }
    685     }
    686 
    687     [System.Runtime.Serialization.DataMemberAttribute()]
    688     public bool Recurring {
    689       get {
    690         return this.RecurringField;
    691       }
    692       set {
    693         if ((this.RecurringField.Equals(value) != true)) {
    694           this.RecurringField = value;
    695           this.RaisePropertyChanged("Recurring");
    696         }
    697       }
    698     }
    699 
    700     [System.Runtime.Serialization.DataMemberAttribute()]
    701     public System.Guid RecurringId {
    702       get {
    703         return this.RecurringIdField;
    704       }
    705       set {
    706         if ((this.RecurringIdField.Equals(value) != true)) {
    707           this.RecurringIdField = value;
    708           this.RaisePropertyChanged("RecurringId");
    709         }
    710       }
    711     }
    712 
    713     [System.Runtime.Serialization.DataMemberAttribute()]
    714     public System.Guid ResourceId {
    715       get {
    716         return this.ResourceIdField;
    717       }
    718       set {
    719         if ((this.ResourceIdField.Equals(value) != true)) {
    720           this.ResourceIdField = value;
    721           this.RaisePropertyChanged("ResourceId");
    722         }
    723       }
    724     }
    725 
    726     [System.Runtime.Serialization.DataMemberAttribute()]
    727     public System.DateTime StartDate {
    728       get {
    729         return this.StartDateField;
    730       }
    731       set {
    732         if ((this.StartDateField.Equals(value) != true)) {
    733           this.StartDateField = value;
    734           this.RaisePropertyChanged("StartDate");
    735         }
    736       }
    737     }
    738   }
    739 
    740   [System.Diagnostics.DebuggerStepThroughAttribute()]
    741   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    742   [System.Runtime.Serialization.DataContractAttribute(Name = "JobPermission", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
    743   [System.SerializableAttribute()]
    744   public partial class JobPermission : HeuristicLab.Clients.Hive.HiveItem {
    745 
    746     [System.Runtime.Serialization.OptionalFieldAttribute()]
    747     private System.Guid GrantedByUserIdField;
    748 
    749     [System.Runtime.Serialization.OptionalFieldAttribute()]
    750     private System.Guid GrantedUserIdField;
    751 
    752     [System.Runtime.Serialization.OptionalFieldAttribute()]
    753     private System.Guid JobIdField;
    754 
    755     [System.Runtime.Serialization.OptionalFieldAttribute()]
    756     private HeuristicLab.Clients.Hive.Permission PermissionField;
    757 
    758     [System.Runtime.Serialization.DataMemberAttribute()]
    759     public System.Guid GrantedByUserId {
    760       get {
    761         return this.GrantedByUserIdField;
    762       }
    763       set {
    764         if ((this.GrantedByUserIdField.Equals(value) != true)) {
    765           this.GrantedByUserIdField = value;
    766           this.RaisePropertyChanged("GrantedByUserId");
    767         }
    768       }
    769     }
    770 
    771     [System.Runtime.Serialization.DataMemberAttribute()]
    772     public System.Guid GrantedUserId {
    773       get {
    774         return this.GrantedUserIdField;
    775       }
    776       set {
    777         if ((this.GrantedUserIdField.Equals(value) != true)) {
    778           this.GrantedUserIdField = value;
    779           this.RaisePropertyChanged("GrantedUserId");
    780         }
    781       }
    782     }
    783 
    784     [System.Runtime.Serialization.DataMemberAttribute()]
    785     public System.Guid JobId {
    786       get {
    787         return this.JobIdField;
    788       }
    789       set {
    790         if ((this.JobIdField.Equals(value) != true)) {
    791           this.JobIdField = value;
    792           this.RaisePropertyChanged("JobId");
    793         }
    794       }
    795     }
    796 
    797     [System.Runtime.Serialization.DataMemberAttribute()]
    798     public HeuristicLab.Clients.Hive.Permission Permission {
    799       get {
    800         return this.PermissionField;
    801       }
    802       set {
    803         if ((this.PermissionField.Equals(value) != true)) {
    804           this.PermissionField = value;
    805           this.RaisePropertyChanged("Permission");
    806         }
    807       }
    808     }
    809   }
    810 
    811   [System.Diagnostics.DebuggerStepThroughAttribute()]
    812   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    813   [System.Runtime.Serialization.DataContractAttribute(Name = "PluginData", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
    814   [System.SerializableAttribute()]
    815   public partial class PluginData : HeuristicLab.Clients.Hive.HiveItem {
    816 
    817     [System.Runtime.Serialization.OptionalFieldAttribute()]
    818     private byte[] DataField;
    819 
    820     [System.Runtime.Serialization.OptionalFieldAttribute()]
    821     private string FileNameField;
    822 
    823     [System.Runtime.Serialization.OptionalFieldAttribute()]
    824     private System.Guid PluginIdField;
    825 
    826     [System.Runtime.Serialization.DataMemberAttribute()]
    827     public byte[] Data {
    828       get {
    829         return this.DataField;
    830       }
    831       set {
    832         if ((object.ReferenceEquals(this.DataField, value) != true)) {
    833           this.DataField = value;
    834           this.RaisePropertyChanged("Data");
    835         }
    836       }
    837     }
    838 
    839     [System.Runtime.Serialization.DataMemberAttribute()]
    840     public string FileName {
    841       get {
    842         return this.FileNameField;
    843       }
    844       set {
    845         if ((object.ReferenceEquals(this.FileNameField, value) != true)) {
    846           this.FileNameField = value;
    847           this.RaisePropertyChanged("FileName");
    848         }
    849       }
    850     }
    851 
    852     [System.Runtime.Serialization.DataMemberAttribute()]
    853     public System.Guid PluginId {
    854       get {
    855         return this.PluginIdField;
    856       }
    857       set {
    858         if ((this.PluginIdField.Equals(value) != true)) {
    859           this.PluginIdField = value;
    860           this.RaisePropertyChanged("PluginId");
    861         }
    862       }
    863     }
    864   }
    865 
    866   [System.Diagnostics.DebuggerStepThroughAttribute()]
    867   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    868   [System.Runtime.Serialization.DataContractAttribute(Name = "ResourcePermission", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
    869   [System.SerializableAttribute()]
    870   public partial class ResourcePermission : HeuristicLab.Clients.Hive.HiveItem {
    871 
    872     [System.Runtime.Serialization.OptionalFieldAttribute()]
    873     private System.Guid GrantedByUserIdField;
    874 
    875     [System.Runtime.Serialization.OptionalFieldAttribute()]
    876     private System.Guid GrantedUserIdField;
    877 
    878     [System.Runtime.Serialization.OptionalFieldAttribute()]
    879     private System.Guid ResourceIdField;
    880 
    881     [System.Runtime.Serialization.DataMemberAttribute()]
    882     public System.Guid GrantedByUserId {
    883       get {
    884         return this.GrantedByUserIdField;
    885       }
    886       set {
    887         if ((this.GrantedByUserIdField.Equals(value) != true)) {
    888           this.GrantedByUserIdField = value;
    889           this.RaisePropertyChanged("GrantedByUserId");
    890         }
    891       }
    892     }
    893 
    894     [System.Runtime.Serialization.DataMemberAttribute()]
    895     public System.Guid GrantedUserId {
    896       get {
    897         return this.GrantedUserIdField;
    898       }
    899       set {
    900         if ((this.GrantedUserIdField.Equals(value) != true)) {
    901           this.GrantedUserIdField = value;
    902           this.RaisePropertyChanged("GrantedUserId");
    903         }
    904       }
    905     }
    906 
    907     [System.Runtime.Serialization.DataMemberAttribute()]
    908     public System.Guid ResourceId {
    909       get {
    910         return this.ResourceIdField;
    911       }
    912       set {
    913         if ((this.ResourceIdField.Equals(value) != true)) {
    914           this.ResourceIdField = value;
    915           this.RaisePropertyChanged("ResourceId");
    916         }
    917       }
    918     }
    919   }
    920 
    921   [System.Diagnostics.DebuggerStepThroughAttribute()]
    922   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    923   [System.Runtime.Serialization.DataContractAttribute(Name = "NamedHiveItem", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
    924   [System.SerializableAttribute()]
    925   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Job))]
    926   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Plugin))]
    927   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Resource))]
    928   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.SlaveGroup))]
    929   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Slave))]
    930   public partial class NamedHiveItem : HeuristicLab.Clients.Hive.HiveItem {
    931 
    932     [System.Runtime.Serialization.OptionalFieldAttribute()]
    933     private string DescriptionField;
    934 
    935     [System.Runtime.Serialization.OptionalFieldAttribute()]
    936     private string NameField;
    937 
    938     [System.Runtime.Serialization.DataMemberAttribute()]
    939     public string Description {
    940       get {
    941         return this.DescriptionField;
    942       }
    943       set {
    944         if ((object.ReferenceEquals(this.DescriptionField, value) != true)) {
    945           this.DescriptionField = value;
    946           this.RaisePropertyChanged("Description");
    947         }
    948       }
    949     }
    950 
    951     [System.Runtime.Serialization.DataMemberAttribute()]
    952     public string Name {
    953       get {
    954         return this.NameField;
    955       }
    956       set {
    957         if ((object.ReferenceEquals(this.NameField, value) != true)) {
    958           this.NameField = value;
    959           this.RaisePropertyChanged("Name");
    960         }
    961       }
    962     }
    963   }
    964 
    965   [System.Diagnostics.DebuggerStepThroughAttribute()]
    966   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    967   [System.Runtime.Serialization.DataContractAttribute(Name = "Job", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
    968   [System.SerializableAttribute()]
    969   public partial class Job : HeuristicLab.Clients.Hive.NamedHiveItem {
    970 
    971     [System.Runtime.Serialization.OptionalFieldAttribute()]
    972     private int CalculatingCountField;
    973 
    974     [System.Runtime.Serialization.OptionalFieldAttribute()]
    975     private System.DateTime DateCreatedField;
    976 
    977     [System.Runtime.Serialization.OptionalFieldAttribute()]
    978     private int FinishedCountField;
    979 
    980     [System.Runtime.Serialization.OptionalFieldAttribute()]
    981     private int JobCountField;
    982 
    983     [System.Runtime.Serialization.OptionalFieldAttribute()]
    984     private System.Guid OwnerUserIdField;
    985 
    986     [System.Runtime.Serialization.OptionalFieldAttribute()]
    987     private string OwnerUsernameField;
    988 
    989     [System.Runtime.Serialization.OptionalFieldAttribute()]
    990     private HeuristicLab.Clients.Hive.Permission PermissionField;
    991 
    992     [System.Runtime.Serialization.OptionalFieldAttribute()]
    993     private string ResourceNamesField;
    994 
    995     [System.Runtime.Serialization.DataMemberAttribute()]
    996     public int CalculatingCount {
    997       get {
    998         return this.CalculatingCountField;
    999       }
    1000       set {
    1001         if ((this.CalculatingCountField.Equals(value) != true)) {
    1002           this.CalculatingCountField = value;
    1003           this.RaisePropertyChanged("CalculatingCount");
    1004         }
    1005       }
    1006     }
    1007 
    1008     [System.Runtime.Serialization.DataMemberAttribute()]
    1009     public System.DateTime DateCreated {
    1010       get {
    1011         return this.DateCreatedField;
    1012       }
    1013       set {
    1014         if ((this.DateCreatedField.Equals(value) != true)) {
    1015           this.DateCreatedField = value;
    1016           this.RaisePropertyChanged("DateCreated");
    1017         }
    1018       }
    1019     }
    1020 
    1021     [System.Runtime.Serialization.DataMemberAttribute()]
    1022     public int FinishedCount {
    1023       get {
    1024         return this.FinishedCountField;
    1025       }
    1026       set {
    1027         if ((this.FinishedCountField.Equals(value) != true)) {
    1028           this.FinishedCountField = value;
    1029           this.RaisePropertyChanged("FinishedCount");
    1030         }
    1031       }
    1032     }
    1033 
    1034     [System.Runtime.Serialization.DataMemberAttribute()]
    1035     public int JobCount {
    1036       get {
    1037         return this.JobCountField;
    1038       }
    1039       set {
    1040         if ((this.JobCountField.Equals(value) != true)) {
    1041           this.JobCountField = value;
    1042           this.RaisePropertyChanged("JobCount");
    1043         }
    1044       }
    1045     }
    1046 
    1047     [System.Runtime.Serialization.DataMemberAttribute()]
    1048     public System.Guid OwnerUserId {
    1049       get {
    1050         return this.OwnerUserIdField;
    1051       }
    1052       set {
    1053         if ((this.OwnerUserIdField.Equals(value) != true)) {
    1054           this.OwnerUserIdField = value;
    1055           this.RaisePropertyChanged("OwnerUserId");
    1056         }
    1057       }
    1058     }
    1059 
    1060     [System.Runtime.Serialization.DataMemberAttribute()]
    1061     public string OwnerUsername {
    1062       get {
    1063         return this.OwnerUsernameField;
    1064       }
    1065       set {
    1066         if ((object.ReferenceEquals(this.OwnerUsernameField, value) != true)) {
    1067           this.OwnerUsernameField = value;
    1068           this.RaisePropertyChanged("OwnerUsername");
    1069         }
    1070       }
    1071     }
    1072 
    1073     [System.Runtime.Serialization.DataMemberAttribute()]
    1074     public HeuristicLab.Clients.Hive.Permission Permission {
    1075       get {
    1076         return this.PermissionField;
    1077       }
    1078       set {
    1079         if ((this.PermissionField.Equals(value) != true)) {
    1080           this.PermissionField = value;
    1081           this.RaisePropertyChanged("Permission");
    1082         }
    1083       }
    1084     }
    1085 
    1086     [System.Runtime.Serialization.DataMemberAttribute()]
    1087     public string ResourceNames {
    1088       get {
    1089         return this.ResourceNamesField;
    1090       }
    1091       set {
    1092         if ((object.ReferenceEquals(this.ResourceNamesField, value) != true)) {
    1093           this.ResourceNamesField = value;
    1094           this.RaisePropertyChanged("ResourceNames");
    1095         }
    1096       }
    1097     }
    1098   }
    1099 
    1100   [System.Diagnostics.DebuggerStepThroughAttribute()]
    1101   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    1102   [System.Runtime.Serialization.DataContractAttribute(Name = "Plugin", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
    1103   [System.SerializableAttribute()]
    1104   public partial class Plugin : HeuristicLab.Clients.Hive.NamedHiveItem {
    1105 
    1106     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1107     private System.DateTime DateCreatedField;
    1108 
    1109     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1110     private byte[] HashField;
    1111 
    1112     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1113     private System.Guid UserIdField;
    1114 
    1115     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1116     private System.Version VersionField;
    1117 
    1118     [System.Runtime.Serialization.DataMemberAttribute()]
    1119     public System.DateTime DateCreated {
    1120       get {
    1121         return this.DateCreatedField;
    1122       }
    1123       set {
    1124         if ((this.DateCreatedField.Equals(value) != true)) {
    1125           this.DateCreatedField = value;
    1126           this.RaisePropertyChanged("DateCreated");
    1127         }
    1128       }
    1129     }
    1130 
    1131     [System.Runtime.Serialization.DataMemberAttribute()]
    1132     public byte[] Hash {
    1133       get {
    1134         return this.HashField;
    1135       }
    1136       set {
    1137         if ((object.ReferenceEquals(this.HashField, value) != true)) {
    1138           this.HashField = value;
    1139           this.RaisePropertyChanged("Hash");
    1140         }
    1141       }
    1142     }
    1143 
    1144     [System.Runtime.Serialization.DataMemberAttribute()]
    1145     public System.Guid UserId {
    1146       get {
    1147         return this.UserIdField;
    1148       }
    1149       set {
    1150         if ((this.UserIdField.Equals(value) != true)) {
    1151           this.UserIdField = value;
    1152           this.RaisePropertyChanged("UserId");
    1153         }
    1154       }
    1155     }
    1156 
    1157     [System.Runtime.Serialization.DataMemberAttribute()]
    1158     public System.Version Version {
    1159       get {
    1160         return this.VersionField;
    1161       }
    1162       set {
    1163         if ((object.ReferenceEquals(this.VersionField, value) != true)) {
    1164           this.VersionField = value;
    1165           this.RaisePropertyChanged("Version");
    1166         }
    1167       }
    1168     }
    1169   }
    1170 
    1171   [System.Diagnostics.DebuggerStepThroughAttribute()]
    1172   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    1173   [System.Runtime.Serialization.DataContractAttribute(Name = "Resource", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
    1174   [System.SerializableAttribute()]
    1175   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.SlaveGroup))]
    1176   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Slave))]
    1177   public partial class Resource : HeuristicLab.Clients.Hive.NamedHiveItem {
    1178 
    1179     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1180     private int HbIntervalField;
    1181 
    1182     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1183     private System.Nullable<System.Guid> OwnerUserIdField;
    1184 
    1185     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1186     private System.Nullable<System.Guid> ParentResourceIdField;
    1187 
    1188     [System.Runtime.Serialization.DataMemberAttribute()]
    1189     public int HbInterval {
    1190       get {
    1191         return this.HbIntervalField;
    1192       }
    1193       set {
    1194         if ((this.HbIntervalField.Equals(value) != true)) {
    1195           this.HbIntervalField = value;
    1196           this.RaisePropertyChanged("HbInterval");
    1197         }
    1198       }
    1199     }
    1200 
    1201     [System.Runtime.Serialization.DataMemberAttribute()]
    1202     public System.Nullable<System.Guid> OwnerUserId {
    1203       get {
    1204         return this.OwnerUserIdField;
    1205       }
    1206       set {
    1207         if ((this.OwnerUserIdField.Equals(value) != true)) {
    1208           this.OwnerUserIdField = value;
    1209           this.RaisePropertyChanged("OwnerUserId");
    1210         }
    1211       }
    1212     }
    1213 
    1214     [System.Runtime.Serialization.DataMemberAttribute()]
    1215     public System.Nullable<System.Guid> ParentResourceId {
    1216       get {
    1217         return this.ParentResourceIdField;
    1218       }
    1219       set {
    1220         if ((this.ParentResourceIdField.Equals(value) != true)) {
    1221           this.ParentResourceIdField = value;
    1222           this.RaisePropertyChanged("ParentResourceId");
    1223         }
    1224       }
    1225     }
    1226   }
    1227 
    1228   [System.Diagnostics.DebuggerStepThroughAttribute()]
    1229   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    1230   [System.Runtime.Serialization.DataContractAttribute(Name = "SlaveGroup", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
    1231   [System.SerializableAttribute()]
    1232   public partial class SlaveGroup : HeuristicLab.Clients.Hive.Resource {
    1233   }
    1234 
    1235   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    1236   [System.Runtime.Serialization.DataContractAttribute(Name = "CpuArchitecture", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
    1237   public enum CpuArchitecture : int {
    1238 
    1239     [System.Runtime.Serialization.EnumMemberAttribute()]
    1240     x86 = 0,
    1241 
    1242     [System.Runtime.Serialization.EnumMemberAttribute()]
    1243     x64 = 1,
    1244   }
    1245 
    1246   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    1247   [System.Runtime.Serialization.DataContractAttribute(Name = "SlaveState", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
    1248   public enum SlaveState : int {
    1249 
    1250     [System.Runtime.Serialization.EnumMemberAttribute()]
    1251     Idle = 0,
    1252 
    1253     [System.Runtime.Serialization.EnumMemberAttribute()]
    1254     Calculating = 1,
    1255 
    1256     [System.Runtime.Serialization.EnumMemberAttribute()]
    1257     Offline = 2,
    1258   }
    1259 
    1260   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    1261   [System.Runtime.Serialization.DataContractAttribute(Name = "Command", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
    1262   public enum Command : int {
    1263 
    1264     [System.Runtime.Serialization.EnumMemberAttribute()]
    1265     Stop = 0,
    1266 
    1267     [System.Runtime.Serialization.EnumMemberAttribute()]
    1268     Abort = 1,
    1269 
    1270     [System.Runtime.Serialization.EnumMemberAttribute()]
    1271     Pause = 2,
    1272   }
    1273 
    1274   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    1275   [System.Runtime.Serialization.DataContractAttribute(Name = "TaskState", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
    1276   public enum TaskState : int {
    1277 
    1278     [System.Runtime.Serialization.EnumMemberAttribute()]
    1279     Offline = 0,
    1280 
    1281     [System.Runtime.Serialization.EnumMemberAttribute()]
    1282     Waiting = 1,
    1283 
    1284     [System.Runtime.Serialization.EnumMemberAttribute()]
    1285     Transferring = 2,
    1286 
    1287     [System.Runtime.Serialization.EnumMemberAttribute()]
    1288     Calculating = 3,
    1289 
    1290     [System.Runtime.Serialization.EnumMemberAttribute()]
    1291     Paused = 4,
    1292 
    1293     [System.Runtime.Serialization.EnumMemberAttribute()]
    1294     Finished = 5,
    1295 
    1296     [System.Runtime.Serialization.EnumMemberAttribute()]
    1297     Aborted = 6,
    1298 
    1299     [System.Runtime.Serialization.EnumMemberAttribute()]
    1300     Failed = 7,
    1301   }
    1302 
    1303   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    1304   [System.Runtime.Serialization.DataContractAttribute(Name = "DowntimeType", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataAccess")]
    1305   public enum DowntimeType : int {
    1306 
    1307     [System.Runtime.Serialization.EnumMemberAttribute()]
    1308     Offline = 0,
    1309 
    1310     [System.Runtime.Serialization.EnumMemberAttribute()]
    1311     Shutdown = 1,
    1312   }
    1313 
    1314   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    1315   [System.Runtime.Serialization.DataContractAttribute(Name = "Permission", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
    1316   public enum Permission : int {
    1317 
    1318     [System.Runtime.Serialization.EnumMemberAttribute()]
    1319     NotAllowed = 0,
    1320 
    1321     [System.Runtime.Serialization.EnumMemberAttribute()]
    1322     Read = 1,
    1323 
    1324     [System.Runtime.Serialization.EnumMemberAttribute()]
    1325     Full = 2,
    1326   }
    1327 
    1328   [System.Diagnostics.DebuggerStepThroughAttribute()]
    1329   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    1330   [System.Runtime.Serialization.DataContractAttribute(Name = "TaskData", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
    1331   [System.SerializableAttribute()]
    1332   public partial class TaskData : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
    1333 
    1334     [System.NonSerializedAttribute()]
    1335     private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
    1336 
    1337     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1338     private byte[] DataField;
    1339 
    1340     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1341     private System.DateTime LastUpdateField;
    1342 
    1343     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1344     private System.Guid TaskIdField;
    1345 
    1346     public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
    1347       get {
    1348         return this.extensionDataField;
    1349       }
    1350       set {
    1351         this.extensionDataField = value;
    1352       }
    1353     }
    1354 
    1355     [System.Runtime.Serialization.DataMemberAttribute()]
    1356     public byte[] Data {
    1357       get {
    1358         return this.DataField;
    1359       }
    1360       set {
    1361         if ((object.ReferenceEquals(this.DataField, value) != true)) {
    1362           this.DataField = value;
    1363           this.RaisePropertyChanged("Data");
    1364         }
    1365       }
    1366     }
    1367 
    1368     [System.Runtime.Serialization.DataMemberAttribute()]
    1369     public System.DateTime LastUpdate {
    1370       get {
    1371         return this.LastUpdateField;
    1372       }
    1373       set {
    1374         if ((this.LastUpdateField.Equals(value) != true)) {
    1375           this.LastUpdateField = value;
    1376           this.RaisePropertyChanged("LastUpdate");
    1377         }
    1378       }
    1379     }
    1380 
    1381     [System.Runtime.Serialization.DataMemberAttribute()]
    1382     public System.Guid TaskId {
    1383       get {
    1384         return this.TaskIdField;
    1385       }
    1386       set {
    1387         if ((this.TaskIdField.Equals(value) != true)) {
    1388           this.TaskIdField = value;
    1389           this.RaisePropertyChanged("TaskId");
    1390         }
    1391       }
    1392     }
    1393 
    1394     public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
    1395 
    1396     protected void RaisePropertyChanged(string propertyName) {
    1397       System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
    1398       if ((propertyChanged != null)) {
    1399         propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
    1400       }
    1401     }
    1402   }
    1403 
    1404   [System.Diagnostics.DebuggerStepThroughAttribute()]
    1405   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    1406   [System.Runtime.Serialization.DataContractAttribute(Name = "Heartbeat", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
    1407   [System.SerializableAttribute()]
    1408   public partial class Heartbeat : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
    1409 
    1410     [System.NonSerializedAttribute()]
    1411     private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
    1412 
    1413     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1414     private bool AssignJobField;
    1415 
    1416     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1417     private float CpuUtilizationField;
    1418 
    1419     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1420     private int FreeCoresField;
    1421 
    1422     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1423     private int FreeMemoryField;
    1424 
    1425     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1426     private int HbIntervalField;
    1427 
    1428     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1429     private System.Collections.Generic.Dictionary<System.Guid, System.TimeSpan> JobProgressField;
    1430 
    1431     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1432     private System.Guid SlaveIdField;
    1433 
    1434     public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
    1435       get {
    1436         return this.extensionDataField;
    1437       }
    1438       set {
    1439         this.extensionDataField = value;
    1440       }
    1441     }
    1442 
    1443     [System.Runtime.Serialization.DataMemberAttribute()]
    1444     public bool AssignJob {
    1445       get {
    1446         return this.AssignJobField;
    1447       }
    1448       set {
    1449         if ((this.AssignJobField.Equals(value) != true)) {
    1450           this.AssignJobField = value;
    1451           this.RaisePropertyChanged("AssignJob");
    1452         }
    1453       }
    1454     }
    1455 
    1456     [System.Runtime.Serialization.DataMemberAttribute()]
    1457     public float CpuUtilization {
    1458       get {
    1459         return this.CpuUtilizationField;
    1460       }
    1461       set {
    1462         if ((this.CpuUtilizationField.Equals(value) != true)) {
    1463           this.CpuUtilizationField = value;
    1464           this.RaisePropertyChanged("CpuUtilization");
    1465         }
    1466       }
    1467     }
    1468 
    1469     [System.Runtime.Serialization.DataMemberAttribute()]
    1470     public int FreeCores {
    1471       get {
    1472         return this.FreeCoresField;
    1473       }
    1474       set {
    1475         if ((this.FreeCoresField.Equals(value) != true)) {
    1476           this.FreeCoresField = value;
    1477           this.RaisePropertyChanged("FreeCores");
    1478         }
    1479       }
    1480     }
    1481 
    1482     [System.Runtime.Serialization.DataMemberAttribute()]
    1483     public int FreeMemory {
    1484       get {
    1485         return this.FreeMemoryField;
    1486       }
    1487       set {
    1488         if ((this.FreeMemoryField.Equals(value) != true)) {
    1489           this.FreeMemoryField = value;
    1490           this.RaisePropertyChanged("FreeMemory");
    1491         }
    1492       }
    1493     }
    1494 
    1495     [System.Runtime.Serialization.DataMemberAttribute()]
    1496     public int HbInterval {
    1497       get {
    1498         return this.HbIntervalField;
    1499       }
    1500       set {
    1501         if ((this.HbIntervalField.Equals(value) != true)) {
    1502           this.HbIntervalField = value;
    1503           this.RaisePropertyChanged("HbInterval");
    1504         }
    1505       }
    1506     }
    1507 
    1508     [System.Runtime.Serialization.DataMemberAttribute()]
    1509     public System.Collections.Generic.Dictionary<System.Guid, System.TimeSpan> JobProgress {
    1510       get {
    1511         return this.JobProgressField;
    1512       }
    1513       set {
    1514         if ((object.ReferenceEquals(this.JobProgressField, value) != true)) {
    1515           this.JobProgressField = value;
    1516           this.RaisePropertyChanged("JobProgress");
    1517         }
    1518       }
    1519     }
    1520 
    1521     [System.Runtime.Serialization.DataMemberAttribute()]
    1522     public System.Guid SlaveId {
    1523       get {
    1524         return this.SlaveIdField;
    1525       }
    1526       set {
    1527         if ((this.SlaveIdField.Equals(value) != true)) {
    1528           this.SlaveIdField = value;
    1529           this.RaisePropertyChanged("SlaveId");
    1530         }
    1531       }
    1532     }
    1533 
    1534     public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
    1535 
    1536     protected void RaisePropertyChanged(string propertyName) {
    1537       System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
    1538       if ((propertyChanged != null)) {
    1539         propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
    1540       }
    1541     }
    1542   }
    1543 
    1544   [System.Diagnostics.DebuggerStepThroughAttribute()]
    1545   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    1546   [System.Runtime.Serialization.DataContractAttribute(Name = "MessageContainer", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive")]
    1547   [System.SerializableAttribute()]
    1548   public partial class MessageContainer : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
    1549 
    1550     [System.NonSerializedAttribute()]
    1551     private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
    1552 
    1553     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1554     private HeuristicLab.Clients.Hive.MessageContainer.MessageType MessageField;
    1555 
    1556     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1557     private System.Guid TaskIdField;
    1558 
    1559     public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
    1560       get {
    1561         return this.extensionDataField;
    1562       }
    1563       set {
    1564         this.extensionDataField = value;
    1565       }
    1566     }
    1567 
    1568     [System.Runtime.Serialization.DataMemberAttribute()]
    1569     public HeuristicLab.Clients.Hive.MessageContainer.MessageType Message {
    1570       get {
    1571         return this.MessageField;
    1572       }
    1573       set {
    1574         if ((this.MessageField.Equals(value) != true)) {
    1575           this.MessageField = value;
    1576           this.RaisePropertyChanged("Message");
    1577         }
    1578       }
    1579     }
    1580 
    1581     [System.Runtime.Serialization.DataMemberAttribute()]
    1582     public System.Guid TaskId {
    1583       get {
    1584         return this.TaskIdField;
    1585       }
    1586       set {
    1587         if ((this.TaskIdField.Equals(value) != true)) {
    1588           this.TaskIdField = value;
    1589           this.RaisePropertyChanged("TaskId");
    1590         }
    1591       }
    1592     }
    1593 
    1594     public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
    1595 
    1596     protected void RaisePropertyChanged(string propertyName) {
    1597       System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
    1598       if ((propertyChanged != null)) {
    1599         propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
    1600       }
    1601     }
    1602 
     11namespace HeuristicLab.Clients.Hive
     12{
     13    using System.Runtime.Serialization;
     14    using System;
     15   
     16   
     17    [System.Diagnostics.DebuggerStepThroughAttribute()]
    160318    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    1604     [System.Runtime.Serialization.DataContractAttribute(Name = "MessageContainer.MessageType", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive")]
    1605     public enum MessageType : int {
    1606 
    1607       [System.Runtime.Serialization.EnumMemberAttribute()]
    1608       CalculateTask = 0,
    1609 
    1610       [System.Runtime.Serialization.EnumMemberAttribute()]
    1611       StopTask = 1,
    1612 
    1613       [System.Runtime.Serialization.EnumMemberAttribute()]
    1614       StopAll = 2,
    1615 
    1616       [System.Runtime.Serialization.EnumMemberAttribute()]
    1617       AbortTask = 3,
    1618 
    1619       [System.Runtime.Serialization.EnumMemberAttribute()]
    1620       AbortAll = 4,
    1621 
    1622       [System.Runtime.Serialization.EnumMemberAttribute()]
    1623       PauseTask = 5,
    1624 
    1625       [System.Runtime.Serialization.EnumMemberAttribute()]
    1626       PauseAll = 6,
    1627 
    1628       [System.Runtime.Serialization.EnumMemberAttribute()]
    1629       Restart = 7,
    1630 
    1631       [System.Runtime.Serialization.EnumMemberAttribute()]
    1632       Sleep = 8,
    1633 
    1634       [System.Runtime.Serialization.EnumMemberAttribute()]
    1635       ShutdownSlave = 9,
    1636 
    1637       [System.Runtime.Serialization.EnumMemberAttribute()]
    1638       SayHello = 10,
    1639 
    1640       [System.Runtime.Serialization.EnumMemberAttribute()]
    1641       NewHBInterval = 11,
    1642 
    1643       [System.Runtime.Serialization.EnumMemberAttribute()]
    1644       ShutdownComputer = 12,
    1645     }
    1646   }
    1647 
    1648   [System.Diagnostics.DebuggerStepThroughAttribute()]
    1649   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    1650   [System.Runtime.Serialization.DataContractAttribute(Name = "PluginAlreadyExistsFault", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive")]
    1651   [System.SerializableAttribute()]
    1652   public partial class PluginAlreadyExistsFault : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
    1653 
    1654     [System.NonSerializedAttribute()]
    1655     private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
    1656 
    1657     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1658     private System.Guid IdField;
    1659 
    1660     public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
    1661       get {
    1662         return this.extensionDataField;
    1663       }
    1664       set {
    1665         this.extensionDataField = value;
    1666       }
    1667     }
    1668 
    1669     [System.Runtime.Serialization.DataMemberAttribute()]
    1670     public System.Guid Id {
    1671       get {
    1672         return this.IdField;
    1673       }
    1674       set {
    1675         if ((this.IdField.Equals(value) != true)) {
    1676           this.IdField = value;
    1677           this.RaisePropertyChanged("Id");
    1678         }
    1679       }
    1680     }
    1681 
    1682     public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
    1683 
    1684     protected void RaisePropertyChanged(string propertyName) {
    1685       System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
    1686       if ((propertyChanged != null)) {
    1687         propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
    1688       }
    1689     }
    1690   }
    1691 
    1692   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    1693   [System.ServiceModel.ServiceContractAttribute(ConfigurationName = "HeuristicLab.Clients.Hive.IHiveService")]
    1694   public interface IHiveService {
    1695 
    1696     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetSlaves", ReplyAction = "http://tempuri.org/IHiveService/GetSlavesResponse")]
    1697     System.Collections.Generic.List<HeuristicLab.Clients.Hive.Slave> GetSlaves();
    1698 
    1699     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetSlaveGroups", ReplyAction = "http://tempuri.org/IHiveService/GetSlaveGroupsResponse")]
    1700     System.Collections.Generic.List<HeuristicLab.Clients.Hive.SlaveGroup> GetSlaveGroups();
    1701 
    1702     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/UpdateSlave", ReplyAction = "http://tempuri.org/IHiveService/UpdateSlaveResponse")]
    1703     void UpdateSlave(HeuristicLab.Clients.Hive.Slave slave);
    1704 
    1705     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/UpdateSlaveGroup", ReplyAction = "http://tempuri.org/IHiveService/UpdateSlaveGroupResponse")]
    1706     void UpdateSlaveGroup(HeuristicLab.Clients.Hive.SlaveGroup slaveGroup);
    1707 
    1708     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/DeleteSlave", ReplyAction = "http://tempuri.org/IHiveService/DeleteSlaveResponse")]
    1709     void DeleteSlave(System.Guid slaveId);
    1710 
    1711     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/DeleteSlaveGroup", ReplyAction = "http://tempuri.org/IHiveService/DeleteSlaveGroupResponse")]
    1712     void DeleteSlaveGroup(System.Guid slaveGroupId);
    1713 
    1714     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/AddResourceToGroup", ReplyAction = "http://tempuri.org/IHiveService/AddResourceToGroupResponse")]
    1715     void AddResourceToGroup(System.Guid slaveGroupId, System.Guid resourceId);
    1716 
    1717     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/RemoveResourceFromGroup", ReplyAction = "http://tempuri.org/IHiveService/RemoveResourceFromGroupResponse")]
    1718     void RemoveResourceFromGroup(System.Guid slaveGroupId, System.Guid resourceId);
    1719 
    1720     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetResourceId", ReplyAction = "http://tempuri.org/IHiveService/GetResourceIdResponse")]
    1721     System.Guid GetResourceId(string resourceName);
    1722 
    1723     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetTasksByResourceId", ReplyAction = "http://tempuri.org/IHiveService/GetTasksByResourceIdResponse")]
    1724     System.Collections.Generic.List<HeuristicLab.Clients.Hive.Task> GetTasksByResourceId(System.Guid resourceId);
    1725 
    1726     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/TriggerEventManager", ReplyAction = "http://tempuri.org/IHiveService/TriggerEventManagerResponse")]
    1727     void TriggerEventManager(bool force);
    1728 
    1729     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetNewHeartbeatInterval", ReplyAction = "http://tempuri.org/IHiveService/GetNewHeartbeatIntervalResponse")]
    1730     int GetNewHeartbeatInterval(System.Guid slaveId);
    1731 
    1732     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/AddDowntime", ReplyAction = "http://tempuri.org/IHiveService/AddDowntimeResponse")]
    1733     System.Guid AddDowntime(HeuristicLab.Clients.Hive.Downtime downtime);
    1734 
    1735     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/DeleteDowntime", ReplyAction = "http://tempuri.org/IHiveService/DeleteDowntimeResponse")]
    1736     void DeleteDowntime(System.Guid downtimeId);
    1737 
    1738     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/UpdateDowntime", ReplyAction = "http://tempuri.org/IHiveService/UpdateDowntimeResponse")]
    1739     void UpdateDowntime(HeuristicLab.Clients.Hive.Downtime downtime);
    1740 
    1741     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetDowntimesForResource", ReplyAction = "http://tempuri.org/IHiveService/GetDowntimesForResourceResponse")]
    1742     System.Collections.Generic.List<HeuristicLab.Clients.Hive.Downtime> GetDowntimesForResource(System.Guid resourceId);
    1743 
    1744     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetUsernameByUserId", ReplyAction = "http://tempuri.org/IHiveService/GetUsernameByUserIdResponse")]
    1745     string GetUsernameByUserId(System.Guid userId);
    1746 
    1747     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetUserIdByUsername", ReplyAction = "http://tempuri.org/IHiveService/GetUserIdByUsernameResponse")]
    1748     System.Guid GetUserIdByUsername(string username);
    1749 
    1750     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/AddTask", ReplyAction = "http://tempuri.org/IHiveService/AddTaskResponse")]
    1751     System.Guid AddTask(HeuristicLab.Clients.Hive.Task task, HeuristicLab.Clients.Hive.TaskData taskData, System.Collections.Generic.List<System.Guid> resourceIds);
    1752 
    1753     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/AddChildTask", ReplyAction = "http://tempuri.org/IHiveService/AddChildTaskResponse")]
    1754     System.Guid AddChildTask(System.Guid parentTaskId, HeuristicLab.Clients.Hive.Task task, HeuristicLab.Clients.Hive.TaskData taskData);
    1755 
    1756     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetTask", ReplyAction = "http://tempuri.org/IHiveService/GetTaskResponse")]
    1757     HeuristicLab.Clients.Hive.Task GetTask(System.Guid taskId);
    1758 
    1759     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetTasks", ReplyAction = "http://tempuri.org/IHiveService/GetTasksResponse")]
    1760     System.Collections.Generic.List<HeuristicLab.Clients.Hive.Task> GetTasks();
    1761 
    1762     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetLightweightTasks", ReplyAction = "http://tempuri.org/IHiveService/GetLightweightTasksResponse")]
    1763     System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightTasks(System.Collections.Generic.List<System.Guid> taskIds);
    1764 
    1765     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetLightweightChildTasks", ReplyAction = "http://tempuri.org/IHiveService/GetLightweightChildTasksResponse")]
    1766     System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightChildTasks(System.Nullable<System.Guid> parentTaskId, bool recursive, bool includeParent);
    1767 
    1768     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetLightweightJobTasks", ReplyAction = "http://tempuri.org/IHiveService/GetLightweightJobTasksResponse")]
    1769     System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightJobTasks(System.Guid jobId);
    1770 
    1771     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetTaskData", ReplyAction = "http://tempuri.org/IHiveService/GetTaskDataResponse")]
    1772     HeuristicLab.Clients.Hive.TaskData GetTaskData(System.Guid taskId);
    1773 
    1774     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/UpdateTask", ReplyAction = "http://tempuri.org/IHiveService/UpdateTaskResponse")]
    1775     void UpdateTask(HeuristicLab.Clients.Hive.Task taskDto);
    1776 
    1777     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/UpdateTaskData", ReplyAction = "http://tempuri.org/IHiveService/UpdateTaskDataResponse")]
    1778     void UpdateTaskData(HeuristicLab.Clients.Hive.Task taskDto, HeuristicLab.Clients.Hive.TaskData taskDataDto);
    1779 
    1780     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/DeleteTask", ReplyAction = "http://tempuri.org/IHiveService/DeleteTaskResponse")]
    1781     void DeleteTask(System.Guid taskId);
    1782 
    1783     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/DeleteChildTasks", ReplyAction = "http://tempuri.org/IHiveService/DeleteChildTasksResponse")]
    1784     void DeleteChildTasks(System.Guid parentTaskId);
    1785 
    1786     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/UpdateTaskState", ReplyAction = "http://tempuri.org/IHiveService/UpdateTaskStateResponse")]
    1787     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);
    1788 
    1789     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/StopTask", ReplyAction = "http://tempuri.org/IHiveService/StopTaskResponse")]
    1790     void StopTask(System.Guid taskId);
    1791 
    1792     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/PauseTask", ReplyAction = "http://tempuri.org/IHiveService/PauseTaskResponse")]
    1793     void PauseTask(System.Guid taskId);
    1794 
    1795     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/RestartTask", ReplyAction = "http://tempuri.org/IHiveService/RestartTaskResponse")]
    1796     void RestartTask(System.Guid taskId);
    1797 
    1798     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetJob", ReplyAction = "http://tempuri.org/IHiveService/GetJobResponse")]
    1799     HeuristicLab.Clients.Hive.Job GetJob(System.Guid id);
    1800 
    1801     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetJobs", ReplyAction = "http://tempuri.org/IHiveService/GetJobsResponse")]
    1802     System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetJobs();
    1803 
    1804     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetAllJobs", ReplyAction = "http://tempuri.org/IHiveService/GetAllJobsResponse")]
    1805     System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetAllJobs();
    1806 
    1807     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/AddJob", ReplyAction = "http://tempuri.org/IHiveService/AddJobResponse")]
    1808     System.Guid AddJob(HeuristicLab.Clients.Hive.Job jobDto);
    1809 
    1810     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/UpdateJob", ReplyAction = "http://tempuri.org/IHiveService/UpdateJobResponse")]
    1811     void UpdateJob(HeuristicLab.Clients.Hive.Job jobDto);
    1812 
    1813     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/DeleteJob", ReplyAction = "http://tempuri.org/IHiveService/DeleteJobResponse")]
    1814     void DeleteJob(System.Guid JobId);
    1815 
    1816     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GrantPermission", ReplyAction = "http://tempuri.org/IHiveService/GrantPermissionResponse")]
    1817     void GrantPermission(System.Guid jobId, System.Guid grantedUserId, HeuristicLab.Clients.Hive.Permission permission);
    1818 
    1819     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/RevokePermission", ReplyAction = "http://tempuri.org/IHiveService/RevokePermissionResponse")]
    1820     void RevokePermission(System.Guid hiveExperimentId, System.Guid grantedUserId);
    1821 
    1822     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetJobPermissions", ReplyAction = "http://tempuri.org/IHiveService/GetJobPermissionsResponse")]
    1823     System.Collections.Generic.List<HeuristicLab.Clients.Hive.JobPermission> GetJobPermissions(System.Guid jobId);
    1824 
    1825     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/IsAllowedPrivileged", ReplyAction = "http://tempuri.org/IHiveService/IsAllowedPrivilegedResponse")]
    1826     bool IsAllowedPrivileged();
    1827 
    1828     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/Hello", ReplyAction = "http://tempuri.org/IHiveService/HelloResponse")]
    1829     void Hello(HeuristicLab.Clients.Hive.Slave slave);
    1830 
    1831     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GoodBye", ReplyAction = "http://tempuri.org/IHiveService/GoodByeResponse")]
    1832     void GoodBye(System.Guid slaveId);
    1833 
    1834     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/Heartbeat", ReplyAction = "http://tempuri.org/IHiveService/HeartbeatResponse")]
    1835     System.Collections.Generic.List<HeuristicLab.Clients.Hive.MessageContainer> Heartbeat([System.ServiceModel.MessageParameterAttribute(Name = "heartbeat")] HeuristicLab.Clients.Hive.Heartbeat heartbeat1);
    1836 
    1837     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetPlugin", ReplyAction = "http://tempuri.org/IHiveService/GetPluginResponse")]
    1838     HeuristicLab.Clients.Hive.Plugin GetPlugin(System.Guid pluginId);
    1839 
    1840     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetPluginByHash", ReplyAction = "http://tempuri.org/IHiveService/GetPluginByHashResponse")]
    1841     HeuristicLab.Clients.Hive.Plugin GetPluginByHash(byte[] hash);
    1842 
    1843     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/AddPlugin", ReplyAction = "http://tempuri.org/IHiveService/AddPluginResponse")]
    1844     [System.ServiceModel.FaultContractAttribute(typeof(HeuristicLab.Clients.Hive.PluginAlreadyExistsFault), Action = "http://tempuri.org/IHiveService/AddPluginPluginAlreadyExistsFaultFault", Name = "PluginAlreadyExistsFault", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive")]
    1845     System.Guid AddPlugin(HeuristicLab.Clients.Hive.Plugin plugin, System.Collections.Generic.List<HeuristicLab.Clients.Hive.PluginData> pluginData);
    1846 
    1847     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetPlugins", ReplyAction = "http://tempuri.org/IHiveService/GetPluginsResponse")]
    1848     System.Collections.Generic.List<HeuristicLab.Clients.Hive.Plugin> GetPlugins();
    1849 
    1850     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetPluginDatas", ReplyAction = "http://tempuri.org/IHiveService/GetPluginDatasResponse")]
    1851     System.Collections.Generic.List<HeuristicLab.Clients.Hive.PluginData> GetPluginDatas(System.Collections.Generic.List<System.Guid> pluginIds);
    1852 
    1853     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/DeletePlugin", ReplyAction = "http://tempuri.org/IHiveService/DeletePluginResponse")]
    1854     void DeletePlugin(System.Guid pluginId);
    1855 
    1856     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GrantResourcePermissions", ReplyAction = "http://tempuri.org/IHiveService/GrantResourcePermissionsResponse")]
    1857     void GrantResourcePermissions(System.Guid resourceId, System.Collections.Generic.List<System.Guid> grantedUserIds);
    1858 
    1859     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/RevokeResourcePermissions", ReplyAction = "http://tempuri.org/IHiveService/RevokeResourcePermissionsResponse")]
    1860     void RevokeResourcePermissions(System.Guid resourceId, System.Collections.Generic.List<System.Guid> grantedUserIds);
    1861 
    1862     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetResourcePermissions", ReplyAction = "http://tempuri.org/IHiveService/GetResourcePermissionsResponse")]
    1863     System.Collections.Generic.List<HeuristicLab.Clients.Hive.ResourcePermission> GetResourcePermissions(System.Guid resourceId);
    1864 
    1865     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/AddSlave", ReplyAction = "http://tempuri.org/IHiveService/AddSlaveResponse")]
    1866     System.Guid AddSlave(HeuristicLab.Clients.Hive.Slave slave);
    1867 
    1868     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/AddSlaveGroup", ReplyAction = "http://tempuri.org/IHiveService/AddSlaveGroupResponse")]
    1869     System.Guid AddSlaveGroup(HeuristicLab.Clients.Hive.SlaveGroup slaveGroup);
    1870 
    1871     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetSlave", ReplyAction = "http://tempuri.org/IHiveService/GetSlaveResponse")]
    1872     HeuristicLab.Clients.Hive.Slave GetSlave(System.Guid slaveId);
    1873 
    1874     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetSlaveGroup", ReplyAction = "http://tempuri.org/IHiveService/GetSlaveGroupResponse")]
    1875     HeuristicLab.Clients.Hive.SlaveGroup GetSlaveGroup(System.Guid slaveGroupId);
    1876   }
    1877 
    1878   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    1879   public interface IHiveServiceChannel : HeuristicLab.Clients.Hive.IHiveService, System.ServiceModel.IClientChannel {
    1880   }
    1881 
    1882   [System.Diagnostics.DebuggerStepThroughAttribute()]
    1883   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    1884   public partial class HiveServiceClient : System.ServiceModel.ClientBase<HeuristicLab.Clients.Hive.IHiveService>, HeuristicLab.Clients.Hive.IHiveService {
    1885 
    1886     public HiveServiceClient() {
    1887     }
    1888 
    1889     public HiveServiceClient(string endpointConfigurationName) :
    1890       base(endpointConfigurationName) {
    1891     }
    1892 
    1893     public HiveServiceClient(string endpointConfigurationName, string remoteAddress) :
    1894       base(endpointConfigurationName, remoteAddress) {
    1895     }
    1896 
    1897     public HiveServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
    1898       base(endpointConfigurationName, remoteAddress) {
    1899     }
    1900 
    1901     public HiveServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
    1902       base(binding, remoteAddress) {
    1903     }
    1904 
    1905     public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Slave> GetSlaves() {
    1906       return base.Channel.GetSlaves();
    1907     }
    1908 
    1909     public System.Collections.Generic.List<HeuristicLab.Clients.Hive.SlaveGroup> GetSlaveGroups() {
    1910       return base.Channel.GetSlaveGroups();
    1911     }
    1912 
    1913     public void UpdateSlave(HeuristicLab.Clients.Hive.Slave slave) {
    1914       base.Channel.UpdateSlave(slave);
    1915     }
    1916 
    1917     public void UpdateSlaveGroup(HeuristicLab.Clients.Hive.SlaveGroup slaveGroup) {
    1918       base.Channel.UpdateSlaveGroup(slaveGroup);
    1919     }
    1920 
    1921     public void DeleteSlave(System.Guid slaveId) {
    1922       base.Channel.DeleteSlave(slaveId);
    1923     }
    1924 
    1925     public void DeleteSlaveGroup(System.Guid slaveGroupId) {
    1926       base.Channel.DeleteSlaveGroup(slaveGroupId);
    1927     }
    1928 
    1929     public void AddResourceToGroup(System.Guid slaveGroupId, System.Guid resourceId) {
    1930       base.Channel.AddResourceToGroup(slaveGroupId, resourceId);
    1931     }
    1932 
    1933     public void RemoveResourceFromGroup(System.Guid slaveGroupId, System.Guid resourceId) {
    1934       base.Channel.RemoveResourceFromGroup(slaveGroupId, resourceId);
    1935     }
    1936 
    1937     public System.Guid GetResourceId(string resourceName) {
    1938       return base.Channel.GetResourceId(resourceName);
    1939     }
    1940 
    1941     public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Task> GetTasksByResourceId(System.Guid resourceId) {
    1942       return base.Channel.GetTasksByResourceId(resourceId);
    1943     }
    1944 
    1945     public void TriggerEventManager(bool force) {
    1946       base.Channel.TriggerEventManager(force);
    1947     }
    1948 
    1949     public int GetNewHeartbeatInterval(System.Guid slaveId) {
    1950       return base.Channel.GetNewHeartbeatInterval(slaveId);
    1951     }
    1952 
    1953     public System.Guid AddDowntime(HeuristicLab.Clients.Hive.Downtime downtime) {
    1954       return base.Channel.AddDowntime(downtime);
    1955     }
    1956 
    1957     public void DeleteDowntime(System.Guid downtimeId) {
    1958       base.Channel.DeleteDowntime(downtimeId);
    1959     }
    1960 
    1961     public void UpdateDowntime(HeuristicLab.Clients.Hive.Downtime downtime) {
    1962       base.Channel.UpdateDowntime(downtime);
    1963     }
    1964 
    1965     public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Downtime> GetDowntimesForResource(System.Guid resourceId) {
    1966       return base.Channel.GetDowntimesForResource(resourceId);
    1967     }
    1968 
    1969     public string GetUsernameByUserId(System.Guid userId) {
    1970       return base.Channel.GetUsernameByUserId(userId);
    1971     }
    1972 
    1973     public System.Guid GetUserIdByUsername(string username) {
    1974       return base.Channel.GetUserIdByUsername(username);
    1975     }
    1976 
    1977     public System.Guid AddTask(HeuristicLab.Clients.Hive.Task task, HeuristicLab.Clients.Hive.TaskData taskData, System.Collections.Generic.List<System.Guid> resourceIds) {
    1978       return base.Channel.AddTask(task, taskData, resourceIds);
    1979     }
    1980 
    1981     public System.Guid AddChildTask(System.Guid parentTaskId, HeuristicLab.Clients.Hive.Task task, HeuristicLab.Clients.Hive.TaskData taskData) {
    1982       return base.Channel.AddChildTask(parentTaskId, task, taskData);
    1983     }
    1984 
    1985     public HeuristicLab.Clients.Hive.Task GetTask(System.Guid taskId) {
    1986       return base.Channel.GetTask(taskId);
    1987     }
    1988 
    1989     public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Task> GetTasks() {
    1990       return base.Channel.GetTasks();
    1991     }
    1992 
    1993     public System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightTasks(System.Collections.Generic.List<System.Guid> taskIds) {
    1994       return base.Channel.GetLightweightTasks(taskIds);
    1995     }
    1996 
    1997     public System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightChildTasks(System.Nullable<System.Guid> parentTaskId, bool recursive, bool includeParent) {
    1998       return base.Channel.GetLightweightChildTasks(parentTaskId, recursive, includeParent);
    1999     }
    2000 
    2001     public System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightJobTasks(System.Guid jobId) {
    2002       return base.Channel.GetLightweightJobTasks(jobId);
    2003     }
    2004 
    2005     public HeuristicLab.Clients.Hive.TaskData GetTaskData(System.Guid taskId) {
    2006       return base.Channel.GetTaskData(taskId);
    2007     }
    2008 
    2009     public void UpdateTask(HeuristicLab.Clients.Hive.Task taskDto) {
    2010       base.Channel.UpdateTask(taskDto);
    2011     }
    2012 
    2013     public void UpdateTaskData(HeuristicLab.Clients.Hive.Task taskDto, HeuristicLab.Clients.Hive.TaskData taskDataDto) {
    2014       base.Channel.UpdateTaskData(taskDto, taskDataDto);
    2015     }
    2016 
    2017     public void DeleteTask(System.Guid taskId) {
    2018       base.Channel.DeleteTask(taskId);
    2019     }
    2020 
    2021     public void DeleteChildTasks(System.Guid parentTaskId) {
    2022       base.Channel.DeleteChildTasks(parentTaskId);
    2023     }
    2024 
    2025     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) {
    2026       return base.Channel.UpdateTaskState(taskId, taskState, slaveId, userId, exception);
    2027     }
    2028 
    2029     public void StopTask(System.Guid taskId) {
    2030       base.Channel.StopTask(taskId);
    2031     }
    2032 
    2033     public void PauseTask(System.Guid taskId) {
    2034       base.Channel.PauseTask(taskId);
    2035     }
    2036 
    2037     public void RestartTask(System.Guid taskId) {
    2038       base.Channel.RestartTask(taskId);
    2039     }
    2040 
    2041     public HeuristicLab.Clients.Hive.Job GetJob(System.Guid id) {
    2042       return base.Channel.GetJob(id);
    2043     }
    2044 
    2045     public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetJobs() {
    2046       return base.Channel.GetJobs();
    2047     }
    2048 
    2049     public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetAllJobs() {
    2050       return base.Channel.GetAllJobs();
    2051     }
    2052 
    2053     public System.Guid AddJob(HeuristicLab.Clients.Hive.Job jobDto) {
    2054       return base.Channel.AddJob(jobDto);
    2055     }
    2056 
    2057     public void UpdateJob(HeuristicLab.Clients.Hive.Job jobDto) {
    2058       base.Channel.UpdateJob(jobDto);
    2059     }
    2060 
    2061     public void DeleteJob(System.Guid JobId) {
    2062       base.Channel.DeleteJob(JobId);
    2063     }
    2064 
    2065     public void GrantPermission(System.Guid jobId, System.Guid grantedUserId, HeuristicLab.Clients.Hive.Permission permission) {
    2066       base.Channel.GrantPermission(jobId, grantedUserId, permission);
    2067     }
    2068 
    2069     public void RevokePermission(System.Guid hiveExperimentId, System.Guid grantedUserId) {
    2070       base.Channel.RevokePermission(hiveExperimentId, grantedUserId);
    2071     }
    2072 
    2073     public System.Collections.Generic.List<HeuristicLab.Clients.Hive.JobPermission> GetJobPermissions(System.Guid jobId) {
    2074       return base.Channel.GetJobPermissions(jobId);
    2075     }
    2076 
    2077     public bool IsAllowedPrivileged() {
    2078       return base.Channel.IsAllowedPrivileged();
    2079     }
    2080 
    2081     public void Hello(HeuristicLab.Clients.Hive.Slave slave) {
    2082       base.Channel.Hello(slave);
    2083     }
    2084 
    2085     public void GoodBye(System.Guid slaveId) {
    2086       base.Channel.GoodBye(slaveId);
    2087     }
    2088 
    2089     public System.Collections.Generic.List<HeuristicLab.Clients.Hive.MessageContainer> Heartbeat(HeuristicLab.Clients.Hive.Heartbeat heartbeat1) {
    2090       return base.Channel.Heartbeat(heartbeat1);
    2091     }
    2092 
    2093     public HeuristicLab.Clients.Hive.Plugin GetPlugin(System.Guid pluginId) {
    2094       return base.Channel.GetPlugin(pluginId);
    2095     }
    2096 
    2097     public HeuristicLab.Clients.Hive.Plugin GetPluginByHash(byte[] hash) {
    2098       return base.Channel.GetPluginByHash(hash);
    2099     }
    2100 
    2101     public System.Guid AddPlugin(HeuristicLab.Clients.Hive.Plugin plugin, System.Collections.Generic.List<HeuristicLab.Clients.Hive.PluginData> pluginData) {
    2102       return base.Channel.AddPlugin(plugin, pluginData);
    2103     }
    2104 
    2105     public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Plugin> GetPlugins() {
    2106       return base.Channel.GetPlugins();
    2107     }
    2108 
    2109     public System.Collections.Generic.List<HeuristicLab.Clients.Hive.PluginData> GetPluginDatas(System.Collections.Generic.List<System.Guid> pluginIds) {
    2110       return base.Channel.GetPluginDatas(pluginIds);
    2111     }
    2112 
    2113     public void DeletePlugin(System.Guid pluginId) {
    2114       base.Channel.DeletePlugin(pluginId);
    2115     }
    2116 
    2117     public void GrantResourcePermissions(System.Guid resourceId, System.Collections.Generic.List<System.Guid> grantedUserIds) {
    2118       base.Channel.GrantResourcePermissions(resourceId, grantedUserIds);
    2119     }
    2120 
    2121     public void RevokeResourcePermissions(System.Guid resourceId, System.Collections.Generic.List<System.Guid> grantedUserIds) {
    2122       base.Channel.RevokeResourcePermissions(resourceId, grantedUserIds);
    2123     }
    2124 
    2125     public System.Collections.Generic.List<HeuristicLab.Clients.Hive.ResourcePermission> GetResourcePermissions(System.Guid resourceId) {
    2126       return base.Channel.GetResourcePermissions(resourceId);
    2127     }
    2128 
    2129     public System.Guid AddSlave(HeuristicLab.Clients.Hive.Slave slave) {
    2130       return base.Channel.AddSlave(slave);
    2131     }
    2132 
    2133     public System.Guid AddSlaveGroup(HeuristicLab.Clients.Hive.SlaveGroup slaveGroup) {
    2134       return base.Channel.AddSlaveGroup(slaveGroup);
    2135     }
    2136 
    2137     public HeuristicLab.Clients.Hive.Slave GetSlave(System.Guid slaveId) {
    2138       return base.Channel.GetSlave(slaveId);
    2139     }
    2140 
    2141     public HeuristicLab.Clients.Hive.SlaveGroup GetSlaveGroup(System.Guid slaveGroupId) {
    2142       return base.Channel.GetSlaveGroup(slaveGroupId);
    2143     }
    2144   }
     19    [System.Runtime.Serialization.DataContractAttribute(Name="HiveItem", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
     20    [System.SerializableAttribute()]
     21    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.LightweightTask))]
     22    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.StateLog))]
     23    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Task))]
     24    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Downtime))]
     25    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.UserPriority))]
     26    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Statistics))]
     27    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.SlaveStatistics))]
     28    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.UserStatistics))]
     29    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.JobPermission))]
     30    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.PluginData))]
     31    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.ResourcePermission))]
     32    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.NamedHiveItem))]
     33    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Job))]
     34    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Plugin))]
     35    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Resource))]
     36    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.SlaveGroup))]
     37    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Slave))]
     38    public partial class HiveItem : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
     39    {
     40       
     41        [System.NonSerializedAttribute()]
     42        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
     43       
     44        [System.Runtime.Serialization.OptionalFieldAttribute()]
     45        private System.Guid IdField;
     46       
     47        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
     48        {
     49            get
     50            {
     51                return this.extensionDataField;
     52            }
     53            set
     54            {
     55                this.extensionDataField = value;
     56            }
     57        }
     58       
     59        [System.Runtime.Serialization.DataMemberAttribute()]
     60        public System.Guid Id
     61        {
     62            get
     63            {
     64                return this.IdField;
     65            }
     66            set
     67            {
     68                if ((this.IdField.Equals(value) != true))
     69                {
     70                    this.IdField = value;
     71                    this.RaisePropertyChanged("Id");
     72                }
     73            }
     74        }
     75       
     76        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
     77    }
     78   
     79    [System.Diagnostics.DebuggerStepThroughAttribute()]
     80    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     81    [System.Runtime.Serialization.DataContractAttribute(Name="LightweightTask", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
     82    [System.SerializableAttribute()]
     83    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Task))]
     84    public partial class LightweightTask : HeuristicLab.Clients.Hive.HiveItem
     85    {
     86       
     87        [System.Runtime.Serialization.OptionalFieldAttribute()]
     88        private System.Nullable<HeuristicLab.Clients.Hive.Command> CommandField;
     89       
     90        [System.Runtime.Serialization.OptionalFieldAttribute()]
     91        private System.TimeSpan ExecutionTimeField;
     92       
     93        [System.Runtime.Serialization.OptionalFieldAttribute()]
     94        private System.DateTime LastTaskDataUpdateField;
     95       
     96        [System.Runtime.Serialization.OptionalFieldAttribute()]
     97        private System.Nullable<System.Guid> ParentTaskIdField;
     98       
     99        [System.Runtime.Serialization.OptionalFieldAttribute()]
     100        private HeuristicLab.Clients.Hive.TaskState StateField;
     101       
     102        [System.Runtime.Serialization.OptionalFieldAttribute()]
     103        private System.Collections.Generic.List<HeuristicLab.Clients.Hive.StateLog> StateLogField;
     104       
     105        [System.Runtime.Serialization.DataMemberAttribute()]
     106        public System.Nullable<HeuristicLab.Clients.Hive.Command> Command
     107        {
     108            get
     109            {
     110                return this.CommandField;
     111            }
     112            set
     113            {
     114                if ((this.CommandField.Equals(value) != true))
     115                {
     116                    this.CommandField = value;
     117                    this.RaisePropertyChanged("Command");
     118                }
     119            }
     120        }
     121       
     122        [System.Runtime.Serialization.DataMemberAttribute()]
     123        public System.TimeSpan ExecutionTime
     124        {
     125            get
     126            {
     127                return this.ExecutionTimeField;
     128            }
     129            set
     130            {
     131                if ((this.ExecutionTimeField.Equals(value) != true))
     132                {
     133                    this.ExecutionTimeField = value;
     134                    this.RaisePropertyChanged("ExecutionTime");
     135                }
     136            }
     137        }
     138       
     139        [System.Runtime.Serialization.DataMemberAttribute()]
     140        public System.DateTime LastTaskDataUpdate
     141        {
     142            get
     143            {
     144                return this.LastTaskDataUpdateField;
     145            }
     146            set
     147            {
     148                if ((this.LastTaskDataUpdateField.Equals(value) != true))
     149                {
     150                    this.LastTaskDataUpdateField = value;
     151                    this.RaisePropertyChanged("LastTaskDataUpdate");
     152                }
     153            }
     154        }
     155       
     156        [System.Runtime.Serialization.DataMemberAttribute()]
     157        public System.Nullable<System.Guid> ParentTaskId
     158        {
     159            get
     160            {
     161                return this.ParentTaskIdField;
     162            }
     163            set
     164            {
     165                if ((this.ParentTaskIdField.Equals(value) != true))
     166                {
     167                    this.ParentTaskIdField = value;
     168                    this.RaisePropertyChanged("ParentTaskId");
     169                }
     170            }
     171        }
     172       
     173        [System.Runtime.Serialization.DataMemberAttribute()]
     174        public HeuristicLab.Clients.Hive.TaskState State
     175        {
     176            get
     177            {
     178                return this.StateField;
     179            }
     180            set
     181            {
     182                if ((this.StateField.Equals(value) != true))
     183                {
     184                    this.StateField = value;
     185                    this.RaisePropertyChanged("State");
     186                }
     187            }
     188        }
     189       
     190        [System.Runtime.Serialization.DataMemberAttribute()]
     191        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.StateLog> StateLog
     192        {
     193            get
     194            {
     195                return this.StateLogField;
     196            }
     197            set
     198            {
     199                if ((object.ReferenceEquals(this.StateLogField, value) != true))
     200                {
     201                    this.StateLogField = value;
     202                    this.RaisePropertyChanged("StateLog");
     203                }
     204            }
     205        }
     206    }
     207   
     208    [System.Diagnostics.DebuggerStepThroughAttribute()]
     209    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     210    [System.Runtime.Serialization.DataContractAttribute(Name="StateLog", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
     211    [System.SerializableAttribute()]
     212    public partial class StateLog : HeuristicLab.Clients.Hive.HiveItem
     213    {
     214       
     215        [System.Runtime.Serialization.OptionalFieldAttribute()]
     216        private System.DateTime DateTimeField;
     217       
     218        [System.Runtime.Serialization.OptionalFieldAttribute()]
     219        private string ExceptionField;
     220       
     221        [System.Runtime.Serialization.OptionalFieldAttribute()]
     222        private System.Nullable<System.Guid> SlaveIdField;
     223       
     224        [System.Runtime.Serialization.OptionalFieldAttribute()]
     225        private HeuristicLab.Clients.Hive.TaskState StateField;
     226       
     227        [System.Runtime.Serialization.OptionalFieldAttribute()]
     228        private System.Guid TaskIdField;
     229       
     230        [System.Runtime.Serialization.OptionalFieldAttribute()]
     231        private System.Nullable<System.Guid> UserIdField;
     232       
     233        [System.Runtime.Serialization.DataMemberAttribute()]
     234        public System.DateTime DateTime
     235        {
     236            get
     237            {
     238                return this.DateTimeField;
     239            }
     240            set
     241            {
     242                if ((this.DateTimeField.Equals(value) != true))
     243                {
     244                    this.DateTimeField = value;
     245                    this.RaisePropertyChanged("DateTime");
     246                }
     247            }
     248        }
     249       
     250        [System.Runtime.Serialization.DataMemberAttribute()]
     251        public string Exception
     252        {
     253            get
     254            {
     255                return this.ExceptionField;
     256            }
     257            set
     258            {
     259                if ((object.ReferenceEquals(this.ExceptionField, value) != true))
     260                {
     261                    this.ExceptionField = value;
     262                    this.RaisePropertyChanged("Exception");
     263                }
     264            }
     265        }
     266       
     267        [System.Runtime.Serialization.DataMemberAttribute()]
     268        public System.Nullable<System.Guid> SlaveId
     269        {
     270            get
     271            {
     272                return this.SlaveIdField;
     273            }
     274            set
     275            {
     276                if ((this.SlaveIdField.Equals(value) != true))
     277                {
     278                    this.SlaveIdField = value;
     279                    this.RaisePropertyChanged("SlaveId");
     280                }
     281            }
     282        }
     283       
     284        [System.Runtime.Serialization.DataMemberAttribute()]
     285        public HeuristicLab.Clients.Hive.TaskState State
     286        {
     287            get
     288            {
     289                return this.StateField;
     290            }
     291            set
     292            {
     293                if ((this.StateField.Equals(value) != true))
     294                {
     295                    this.StateField = value;
     296                    this.RaisePropertyChanged("State");
     297                }
     298            }
     299        }
     300       
     301        [System.Runtime.Serialization.DataMemberAttribute()]
     302        public System.Guid TaskId
     303        {
     304            get
     305            {
     306                return this.TaskIdField;
     307            }
     308            set
     309            {
     310                if ((this.TaskIdField.Equals(value) != true))
     311                {
     312                    this.TaskIdField = value;
     313                    this.RaisePropertyChanged("TaskId");
     314                }
     315            }
     316        }
     317       
     318        [System.Runtime.Serialization.DataMemberAttribute()]
     319        public System.Nullable<System.Guid> UserId
     320        {
     321            get
     322            {
     323                return this.UserIdField;
     324            }
     325            set
     326            {
     327                if ((this.UserIdField.Equals(value) != true))
     328                {
     329                    this.UserIdField = value;
     330                    this.RaisePropertyChanged("UserId");
     331                }
     332            }
     333        }
     334    }
     335   
     336    [System.Diagnostics.DebuggerStepThroughAttribute()]
     337    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     338    [System.Runtime.Serialization.DataContractAttribute(Name="Task", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
     339    [System.SerializableAttribute()]
     340    public partial class Task : HeuristicLab.Clients.Hive.LightweightTask
     341    {
     342       
     343        [System.Runtime.Serialization.OptionalFieldAttribute()]
     344        private int CoresNeededField;
     345       
     346        [System.Runtime.Serialization.OptionalFieldAttribute()]
     347        private bool FinishWhenChildJobsFinishedField;
     348       
     349        [System.Runtime.Serialization.OptionalFieldAttribute()]
     350        private bool IsParentTaskField;
     351       
     352        [System.Runtime.Serialization.OptionalFieldAttribute()]
     353        private bool IsPrivilegedField;
     354       
     355        [System.Runtime.Serialization.OptionalFieldAttribute()]
     356        private System.Guid JobIdField;
     357       
     358        [System.Runtime.Serialization.OptionalFieldAttribute()]
     359        private System.Nullable<System.DateTime> LastHeartbeatField;
     360       
     361        [System.Runtime.Serialization.OptionalFieldAttribute()]
     362        private int MemoryNeededField;
     363       
     364        [System.Runtime.Serialization.OptionalFieldAttribute()]
     365        private System.Collections.Generic.List<System.Guid> PluginsNeededIdsField;
     366       
     367        [System.Runtime.Serialization.OptionalFieldAttribute()]
     368        private int PriorityField;
     369       
     370        [System.Runtime.Serialization.DataMemberAttribute()]
     371        public int CoresNeeded
     372        {
     373            get
     374            {
     375                return this.CoresNeededField;
     376            }
     377            set
     378            {
     379                if ((this.CoresNeededField.Equals(value) != true))
     380                {
     381                    this.CoresNeededField = value;
     382                    this.RaisePropertyChanged("CoresNeeded");
     383                }
     384            }
     385        }
     386       
     387        [System.Runtime.Serialization.DataMemberAttribute()]
     388        public bool FinishWhenChildJobsFinished
     389        {
     390            get
     391            {
     392                return this.FinishWhenChildJobsFinishedField;
     393            }
     394            set
     395            {
     396                if ((this.FinishWhenChildJobsFinishedField.Equals(value) != true))
     397                {
     398                    this.FinishWhenChildJobsFinishedField = value;
     399                    this.RaisePropertyChanged("FinishWhenChildJobsFinished");
     400                }
     401            }
     402        }
     403       
     404        [System.Runtime.Serialization.DataMemberAttribute()]
     405        public bool IsParentTask
     406        {
     407            get
     408            {
     409                return this.IsParentTaskField;
     410            }
     411            set
     412            {
     413                if ((this.IsParentTaskField.Equals(value) != true))
     414                {
     415                    this.IsParentTaskField = value;
     416                    this.RaisePropertyChanged("IsParentTask");
     417                }
     418            }
     419        }
     420       
     421        [System.Runtime.Serialization.DataMemberAttribute()]
     422        public bool IsPrivileged
     423        {
     424            get
     425            {
     426                return this.IsPrivilegedField;
     427            }
     428            set
     429            {
     430                if ((this.IsPrivilegedField.Equals(value) != true))
     431                {
     432                    this.IsPrivilegedField = value;
     433                    this.RaisePropertyChanged("IsPrivileged");
     434                }
     435            }
     436        }
     437       
     438        [System.Runtime.Serialization.DataMemberAttribute()]
     439        public System.Guid JobId
     440        {
     441            get
     442            {
     443                return this.JobIdField;
     444            }
     445            set
     446            {
     447                if ((this.JobIdField.Equals(value) != true))
     448                {
     449                    this.JobIdField = value;
     450                    this.RaisePropertyChanged("JobId");
     451                }
     452            }
     453        }
     454       
     455        [System.Runtime.Serialization.DataMemberAttribute()]
     456        public System.Nullable<System.DateTime> LastHeartbeat
     457        {
     458            get
     459            {
     460                return this.LastHeartbeatField;
     461            }
     462            set
     463            {
     464                if ((this.LastHeartbeatField.Equals(value) != true))
     465                {
     466                    this.LastHeartbeatField = value;
     467                    this.RaisePropertyChanged("LastHeartbeat");
     468                }
     469            }
     470        }
     471       
     472        [System.Runtime.Serialization.DataMemberAttribute()]
     473        public int MemoryNeeded
     474        {
     475            get
     476            {
     477                return this.MemoryNeededField;
     478            }
     479            set
     480            {
     481                if ((this.MemoryNeededField.Equals(value) != true))
     482                {
     483                    this.MemoryNeededField = value;
     484                    this.RaisePropertyChanged("MemoryNeeded");
     485                }
     486            }
     487        }
     488       
     489        [System.Runtime.Serialization.DataMemberAttribute()]
     490        public System.Collections.Generic.List<System.Guid> PluginsNeededIds
     491        {
     492            get
     493            {
     494                return this.PluginsNeededIdsField;
     495            }
     496            set
     497            {
     498                if ((object.ReferenceEquals(this.PluginsNeededIdsField, value) != true))
     499                {
     500                    this.PluginsNeededIdsField = value;
     501                    this.RaisePropertyChanged("PluginsNeededIds");
     502                }
     503            }
     504        }
     505       
     506        [System.Runtime.Serialization.DataMemberAttribute()]
     507        public int Priority
     508        {
     509            get
     510            {
     511                return this.PriorityField;
     512            }
     513            set
     514            {
     515                if ((this.PriorityField.Equals(value) != true))
     516                {
     517                    this.PriorityField = value;
     518                    this.RaisePropertyChanged("Priority");
     519                }
     520            }
     521        }
     522    }
     523   
     524    [System.Diagnostics.DebuggerStepThroughAttribute()]
     525    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     526    [System.Runtime.Serialization.DataContractAttribute(Name="Downtime", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
     527    [System.SerializableAttribute()]
     528    public partial class Downtime : HeuristicLab.Clients.Hive.HiveItem
     529    {
     530       
     531        [System.Runtime.Serialization.OptionalFieldAttribute()]
     532        private bool AllDayEventField;
     533       
     534        [System.Runtime.Serialization.OptionalFieldAttribute()]
     535        private HeuristicLab.Clients.Hive.DowntimeType DowntimeTypeField;
     536       
     537        [System.Runtime.Serialization.OptionalFieldAttribute()]
     538        private System.DateTime EndDateField;
     539       
     540        [System.Runtime.Serialization.OptionalFieldAttribute()]
     541        private bool RecurringField;
     542       
     543        [System.Runtime.Serialization.OptionalFieldAttribute()]
     544        private System.Guid RecurringIdField;
     545       
     546        [System.Runtime.Serialization.OptionalFieldAttribute()]
     547        private System.Guid ResourceIdField;
     548       
     549        [System.Runtime.Serialization.OptionalFieldAttribute()]
     550        private System.DateTime StartDateField;
     551       
     552        [System.Runtime.Serialization.DataMemberAttribute()]
     553        public bool AllDayEvent
     554        {
     555            get
     556            {
     557                return this.AllDayEventField;
     558            }
     559            set
     560            {
     561                if ((this.AllDayEventField.Equals(value) != true))
     562                {
     563                    this.AllDayEventField = value;
     564                    this.RaisePropertyChanged("AllDayEvent");
     565                }
     566            }
     567        }
     568       
     569        [System.Runtime.Serialization.DataMemberAttribute()]
     570        public HeuristicLab.Clients.Hive.DowntimeType DowntimeType
     571        {
     572            get
     573            {
     574                return this.DowntimeTypeField;
     575            }
     576            set
     577            {
     578                if ((this.DowntimeTypeField.Equals(value) != true))
     579                {
     580                    this.DowntimeTypeField = value;
     581                    this.RaisePropertyChanged("DowntimeType");
     582                }
     583            }
     584        }
     585       
     586        [System.Runtime.Serialization.DataMemberAttribute()]
     587        public System.DateTime EndDate
     588        {
     589            get
     590            {
     591                return this.EndDateField;
     592            }
     593            set
     594            {
     595                if ((this.EndDateField.Equals(value) != true))
     596                {
     597                    this.EndDateField = value;
     598                    this.RaisePropertyChanged("EndDate");
     599                }
     600            }
     601        }
     602       
     603        [System.Runtime.Serialization.DataMemberAttribute()]
     604        public bool Recurring
     605        {
     606            get
     607            {
     608                return this.RecurringField;
     609            }
     610            set
     611            {
     612                if ((this.RecurringField.Equals(value) != true))
     613                {
     614                    this.RecurringField = value;
     615                    this.RaisePropertyChanged("Recurring");
     616                }
     617            }
     618        }
     619       
     620        [System.Runtime.Serialization.DataMemberAttribute()]
     621        public System.Guid RecurringId
     622        {
     623            get
     624            {
     625                return this.RecurringIdField;
     626            }
     627            set
     628            {
     629                if ((this.RecurringIdField.Equals(value) != true))
     630                {
     631                    this.RecurringIdField = value;
     632                    this.RaisePropertyChanged("RecurringId");
     633                }
     634            }
     635        }
     636       
     637        [System.Runtime.Serialization.DataMemberAttribute()]
     638        public System.Guid ResourceId
     639        {
     640            get
     641            {
     642                return this.ResourceIdField;
     643            }
     644            set
     645            {
     646                if ((this.ResourceIdField.Equals(value) != true))
     647                {
     648                    this.ResourceIdField = value;
     649                    this.RaisePropertyChanged("ResourceId");
     650                }
     651            }
     652        }
     653       
     654        [System.Runtime.Serialization.DataMemberAttribute()]
     655        public System.DateTime StartDate
     656        {
     657            get
     658            {
     659                return this.StartDateField;
     660            }
     661            set
     662            {
     663                if ((this.StartDateField.Equals(value) != true))
     664                {
     665                    this.StartDateField = value;
     666                    this.RaisePropertyChanged("StartDate");
     667                }
     668            }
     669        }
     670    }
     671   
     672    [System.Diagnostics.DebuggerStepThroughAttribute()]
     673    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     674    [System.Runtime.Serialization.DataContractAttribute(Name="UserPriority", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
     675    [System.SerializableAttribute()]
     676    public partial class UserPriority : HeuristicLab.Clients.Hive.HiveItem
     677    {
     678       
     679        [System.Runtime.Serialization.OptionalFieldAttribute()]
     680        private System.DateTime DateEnqueuedField;
     681       
     682        [System.Runtime.Serialization.DataMemberAttribute()]
     683        public System.DateTime DateEnqueued
     684        {
     685            get
     686            {
     687                return this.DateEnqueuedField;
     688            }
     689            set
     690            {
     691                if ((this.DateEnqueuedField.Equals(value) != true))
     692                {
     693                    this.DateEnqueuedField = value;
     694                    this.RaisePropertyChanged("DateEnqueued");
     695                }
     696            }
     697        }
     698    }
     699   
     700    [System.Diagnostics.DebuggerStepThroughAttribute()]
     701    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     702    [System.Runtime.Serialization.DataContractAttribute(Name="Statistics", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
     703    [System.SerializableAttribute()]
     704    public partial class Statistics : HeuristicLab.Clients.Hive.HiveItem
     705    {
     706       
     707        [System.Runtime.Serialization.OptionalFieldAttribute()]
     708        private System.Collections.Generic.List<HeuristicLab.Clients.Hive.SlaveStatistics> SlaveStatisticsField;
     709       
     710        [System.Runtime.Serialization.OptionalFieldAttribute()]
     711        private System.DateTime TimeStampField;
     712       
     713        [System.Runtime.Serialization.OptionalFieldAttribute()]
     714        private System.Collections.Generic.List<HeuristicLab.Clients.Hive.UserStatistics> UserStatisticsField;
     715       
     716        [System.Runtime.Serialization.DataMemberAttribute()]
     717        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.SlaveStatistics> SlaveStatistics
     718        {
     719            get
     720            {
     721                return this.SlaveStatisticsField;
     722            }
     723            set
     724            {
     725                if ((object.ReferenceEquals(this.SlaveStatisticsField, value) != true))
     726                {
     727                    this.SlaveStatisticsField = value;
     728                    this.RaisePropertyChanged("SlaveStatistics");
     729                }
     730            }
     731        }
     732       
     733        [System.Runtime.Serialization.DataMemberAttribute()]
     734        public System.DateTime TimeStamp
     735        {
     736            get
     737            {
     738                return this.TimeStampField;
     739            }
     740            set
     741            {
     742                if ((this.TimeStampField.Equals(value) != true))
     743                {
     744                    this.TimeStampField = value;
     745                    this.RaisePropertyChanged("TimeStamp");
     746                }
     747            }
     748        }
     749       
     750        [System.Runtime.Serialization.DataMemberAttribute()]
     751        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.UserStatistics> UserStatistics
     752        {
     753            get
     754            {
     755                return this.UserStatisticsField;
     756            }
     757            set
     758            {
     759                if ((object.ReferenceEquals(this.UserStatisticsField, value) != true))
     760                {
     761                    this.UserStatisticsField = value;
     762                    this.RaisePropertyChanged("UserStatistics");
     763                }
     764            }
     765        }
     766    }
     767   
     768    [System.Diagnostics.DebuggerStepThroughAttribute()]
     769    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     770    [System.Runtime.Serialization.DataContractAttribute(Name="SlaveStatistics", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
     771    [System.SerializableAttribute()]
     772    public partial class SlaveStatistics : HeuristicLab.Clients.Hive.HiveItem
     773    {
     774       
     775        [System.Runtime.Serialization.OptionalFieldAttribute()]
     776        private int CoresField;
     777       
     778        [System.Runtime.Serialization.OptionalFieldAttribute()]
     779        private double CpuUtilizationField;
     780       
     781        [System.Runtime.Serialization.OptionalFieldAttribute()]
     782        private int FreeCoresField;
     783       
     784        [System.Runtime.Serialization.OptionalFieldAttribute()]
     785        private int FreeMemoryField;
     786       
     787        [System.Runtime.Serialization.OptionalFieldAttribute()]
     788        private int MemoryField;
     789       
     790        [System.Runtime.Serialization.OptionalFieldAttribute()]
     791        private System.Guid SlaveIdField;
     792       
     793        [System.Runtime.Serialization.DataMemberAttribute()]
     794        public int Cores
     795        {
     796            get
     797            {
     798                return this.CoresField;
     799            }
     800            set
     801            {
     802                if ((this.CoresField.Equals(value) != true))
     803                {
     804                    this.CoresField = value;
     805                    this.RaisePropertyChanged("Cores");
     806                }
     807            }
     808        }
     809       
     810        [System.Runtime.Serialization.DataMemberAttribute()]
     811        public double CpuUtilization
     812        {
     813            get
     814            {
     815                return this.CpuUtilizationField;
     816            }
     817            set
     818            {
     819                if ((this.CpuUtilizationField.Equals(value) != true))
     820                {
     821                    this.CpuUtilizationField = value;
     822                    this.RaisePropertyChanged("CpuUtilization");
     823                }
     824            }
     825        }
     826       
     827        [System.Runtime.Serialization.DataMemberAttribute()]
     828        public int FreeCores
     829        {
     830            get
     831            {
     832                return this.FreeCoresField;
     833            }
     834            set
     835            {
     836                if ((this.FreeCoresField.Equals(value) != true))
     837                {
     838                    this.FreeCoresField = value;
     839                    this.RaisePropertyChanged("FreeCores");
     840                }
     841            }
     842        }
     843       
     844        [System.Runtime.Serialization.DataMemberAttribute()]
     845        public int FreeMemory
     846        {
     847            get
     848            {
     849                return this.FreeMemoryField;
     850            }
     851            set
     852            {
     853                if ((this.FreeMemoryField.Equals(value) != true))
     854                {
     855                    this.FreeMemoryField = value;
     856                    this.RaisePropertyChanged("FreeMemory");
     857                }
     858            }
     859        }
     860       
     861        [System.Runtime.Serialization.DataMemberAttribute()]
     862        public int Memory
     863        {
     864            get
     865            {
     866                return this.MemoryField;
     867            }
     868            set
     869            {
     870                if ((this.MemoryField.Equals(value) != true))
     871                {
     872                    this.MemoryField = value;
     873                    this.RaisePropertyChanged("Memory");
     874                }
     875            }
     876        }
     877       
     878        [System.Runtime.Serialization.DataMemberAttribute()]
     879        public System.Guid SlaveId
     880        {
     881            get
     882            {
     883                return this.SlaveIdField;
     884            }
     885            set
     886            {
     887                if ((this.SlaveIdField.Equals(value) != true))
     888                {
     889                    this.SlaveIdField = value;
     890                    this.RaisePropertyChanged("SlaveId");
     891                }
     892            }
     893        }
     894    }
     895   
     896    [System.Diagnostics.DebuggerStepThroughAttribute()]
     897    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     898    [System.Runtime.Serialization.DataContractAttribute(Name="UserStatistics", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
     899    [System.SerializableAttribute()]
     900    public partial class UserStatistics : HeuristicLab.Clients.Hive.HiveItem
     901    {
     902       
     903        [System.Runtime.Serialization.OptionalFieldAttribute()]
     904        private System.TimeSpan ExecutionTimeField;
     905       
     906        [System.Runtime.Serialization.OptionalFieldAttribute()]
     907        private System.TimeSpan ExecutionTimeFinishedJobsField;
     908       
     909        [System.Runtime.Serialization.OptionalFieldAttribute()]
     910        private System.TimeSpan StartToEndTimeField;
     911       
     912        [System.Runtime.Serialization.OptionalFieldAttribute()]
     913        private int UsedCoresField;
     914       
     915        [System.Runtime.Serialization.OptionalFieldAttribute()]
     916        private System.Guid UserIdField;
     917       
     918        [System.Runtime.Serialization.DataMemberAttribute()]
     919        public System.TimeSpan ExecutionTime
     920        {
     921            get
     922            {
     923                return this.ExecutionTimeField;
     924            }
     925            set
     926            {
     927                if ((this.ExecutionTimeField.Equals(value) != true))
     928                {
     929                    this.ExecutionTimeField = value;
     930                    this.RaisePropertyChanged("ExecutionTime");
     931                }
     932            }
     933        }
     934       
     935        [System.Runtime.Serialization.DataMemberAttribute()]
     936        public System.TimeSpan ExecutionTimeFinishedJobs
     937        {
     938            get
     939            {
     940                return this.ExecutionTimeFinishedJobsField;
     941            }
     942            set
     943            {
     944                if ((this.ExecutionTimeFinishedJobsField.Equals(value) != true))
     945                {
     946                    this.ExecutionTimeFinishedJobsField = value;
     947                    this.RaisePropertyChanged("ExecutionTimeFinishedJobs");
     948                }
     949            }
     950        }
     951       
     952        [System.Runtime.Serialization.DataMemberAttribute()]
     953        public System.TimeSpan StartToEndTime
     954        {
     955            get
     956            {
     957                return this.StartToEndTimeField;
     958            }
     959            set
     960            {
     961                if ((this.StartToEndTimeField.Equals(value) != true))
     962                {
     963                    this.StartToEndTimeField = value;
     964                    this.RaisePropertyChanged("StartToEndTime");
     965                }
     966            }
     967        }
     968       
     969        [System.Runtime.Serialization.DataMemberAttribute()]
     970        public int UsedCores
     971        {
     972            get
     973            {
     974                return this.UsedCoresField;
     975            }
     976            set
     977            {
     978                if ((this.UsedCoresField.Equals(value) != true))
     979                {
     980                    this.UsedCoresField = value;
     981                    this.RaisePropertyChanged("UsedCores");
     982                }
     983            }
     984        }
     985       
     986        [System.Runtime.Serialization.DataMemberAttribute()]
     987        public System.Guid UserId
     988        {
     989            get
     990            {
     991                return this.UserIdField;
     992            }
     993            set
     994            {
     995                if ((this.UserIdField.Equals(value) != true))
     996                {
     997                    this.UserIdField = value;
     998                    this.RaisePropertyChanged("UserId");
     999                }
     1000            }
     1001        }
     1002    }
     1003   
     1004    [System.Diagnostics.DebuggerStepThroughAttribute()]
     1005    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     1006    [System.Runtime.Serialization.DataContractAttribute(Name="JobPermission", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
     1007    [System.SerializableAttribute()]
     1008    public partial class JobPermission : HeuristicLab.Clients.Hive.HiveItem
     1009    {
     1010       
     1011        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1012        private System.Guid GrantedByUserIdField;
     1013       
     1014        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1015        private System.Guid GrantedUserIdField;
     1016       
     1017        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1018        private System.Guid JobIdField;
     1019       
     1020        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1021        private HeuristicLab.Clients.Hive.Permission PermissionField;
     1022       
     1023        [System.Runtime.Serialization.DataMemberAttribute()]
     1024        public System.Guid GrantedByUserId
     1025        {
     1026            get
     1027            {
     1028                return this.GrantedByUserIdField;
     1029            }
     1030            set
     1031            {
     1032                if ((this.GrantedByUserIdField.Equals(value) != true))
     1033                {
     1034                    this.GrantedByUserIdField = value;
     1035                    this.RaisePropertyChanged("GrantedByUserId");
     1036                }
     1037            }
     1038        }
     1039       
     1040        [System.Runtime.Serialization.DataMemberAttribute()]
     1041        public System.Guid GrantedUserId
     1042        {
     1043            get
     1044            {
     1045                return this.GrantedUserIdField;
     1046            }
     1047            set
     1048            {
     1049                if ((this.GrantedUserIdField.Equals(value) != true))
     1050                {
     1051                    this.GrantedUserIdField = value;
     1052                    this.RaisePropertyChanged("GrantedUserId");
     1053                }
     1054            }
     1055        }
     1056       
     1057        [System.Runtime.Serialization.DataMemberAttribute()]
     1058        public System.Guid JobId
     1059        {
     1060            get
     1061            {
     1062                return this.JobIdField;
     1063            }
     1064            set
     1065            {
     1066                if ((this.JobIdField.Equals(value) != true))
     1067                {
     1068                    this.JobIdField = value;
     1069                    this.RaisePropertyChanged("JobId");
     1070                }
     1071            }
     1072        }
     1073       
     1074        [System.Runtime.Serialization.DataMemberAttribute()]
     1075        public HeuristicLab.Clients.Hive.Permission Permission
     1076        {
     1077            get
     1078            {
     1079                return this.PermissionField;
     1080            }
     1081            set
     1082            {
     1083                if ((this.PermissionField.Equals(value) != true))
     1084                {
     1085                    this.PermissionField = value;
     1086                    this.RaisePropertyChanged("Permission");
     1087                }
     1088            }
     1089        }
     1090    }
     1091   
     1092    [System.Diagnostics.DebuggerStepThroughAttribute()]
     1093    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     1094    [System.Runtime.Serialization.DataContractAttribute(Name="PluginData", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
     1095    [System.SerializableAttribute()]
     1096    public partial class PluginData : HeuristicLab.Clients.Hive.HiveItem
     1097    {
     1098       
     1099        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1100        private byte[] DataField;
     1101       
     1102        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1103        private string FileNameField;
     1104       
     1105        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1106        private System.Guid PluginIdField;
     1107       
     1108        [System.Runtime.Serialization.DataMemberAttribute()]
     1109        public byte[] Data
     1110        {
     1111            get
     1112            {
     1113                return this.DataField;
     1114            }
     1115            set
     1116            {
     1117                if ((object.ReferenceEquals(this.DataField, value) != true))
     1118                {
     1119                    this.DataField = value;
     1120                    this.RaisePropertyChanged("Data");
     1121                }
     1122            }
     1123        }
     1124       
     1125        [System.Runtime.Serialization.DataMemberAttribute()]
     1126        public string FileName
     1127        {
     1128            get
     1129            {
     1130                return this.FileNameField;
     1131            }
     1132            set
     1133            {
     1134                if ((object.ReferenceEquals(this.FileNameField, value) != true))
     1135                {
     1136                    this.FileNameField = value;
     1137                    this.RaisePropertyChanged("FileName");
     1138                }
     1139            }
     1140        }
     1141       
     1142        [System.Runtime.Serialization.DataMemberAttribute()]
     1143        public System.Guid PluginId
     1144        {
     1145            get
     1146            {
     1147                return this.PluginIdField;
     1148            }
     1149            set
     1150            {
     1151                if ((this.PluginIdField.Equals(value) != true))
     1152                {
     1153                    this.PluginIdField = value;
     1154                    this.RaisePropertyChanged("PluginId");
     1155                }
     1156            }
     1157        }
     1158    }
     1159   
     1160    [System.Diagnostics.DebuggerStepThroughAttribute()]
     1161    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     1162    [System.Runtime.Serialization.DataContractAttribute(Name="ResourcePermission", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
     1163    [System.SerializableAttribute()]
     1164    public partial class ResourcePermission : HeuristicLab.Clients.Hive.HiveItem
     1165    {
     1166       
     1167        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1168        private System.Guid GrantedByUserIdField;
     1169       
     1170        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1171        private System.Guid GrantedUserIdField;
     1172       
     1173        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1174        private System.Guid ResourceIdField;
     1175       
     1176        [System.Runtime.Serialization.DataMemberAttribute()]
     1177        public System.Guid GrantedByUserId
     1178        {
     1179            get
     1180            {
     1181                return this.GrantedByUserIdField;
     1182            }
     1183            set
     1184            {
     1185                if ((this.GrantedByUserIdField.Equals(value) != true))
     1186                {
     1187                    this.GrantedByUserIdField = value;
     1188                    this.RaisePropertyChanged("GrantedByUserId");
     1189                }
     1190            }
     1191        }
     1192       
     1193        [System.Runtime.Serialization.DataMemberAttribute()]
     1194        public System.Guid GrantedUserId
     1195        {
     1196            get
     1197            {
     1198                return this.GrantedUserIdField;
     1199            }
     1200            set
     1201            {
     1202                if ((this.GrantedUserIdField.Equals(value) != true))
     1203                {
     1204                    this.GrantedUserIdField = value;
     1205                    this.RaisePropertyChanged("GrantedUserId");
     1206                }
     1207            }
     1208        }
     1209       
     1210        [System.Runtime.Serialization.DataMemberAttribute()]
     1211        public System.Guid ResourceId
     1212        {
     1213            get
     1214            {
     1215                return this.ResourceIdField;
     1216            }
     1217            set
     1218            {
     1219                if ((this.ResourceIdField.Equals(value) != true))
     1220                {
     1221                    this.ResourceIdField = value;
     1222                    this.RaisePropertyChanged("ResourceId");
     1223                }
     1224            }
     1225        }
     1226    }
     1227   
     1228    [System.Diagnostics.DebuggerStepThroughAttribute()]
     1229    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     1230    [System.Runtime.Serialization.DataContractAttribute(Name="NamedHiveItem", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
     1231    [System.SerializableAttribute()]
     1232    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Job))]
     1233    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Plugin))]
     1234    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Resource))]
     1235    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.SlaveGroup))]
     1236    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Slave))]
     1237    public partial class NamedHiveItem : HeuristicLab.Clients.Hive.HiveItem
     1238    {
     1239       
     1240        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1241        private string DescriptionField;
     1242       
     1243        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1244        private string NameField;
     1245       
     1246        [System.Runtime.Serialization.DataMemberAttribute()]
     1247        public string Description
     1248        {
     1249            get
     1250            {
     1251                return this.DescriptionField;
     1252            }
     1253            set
     1254            {
     1255                if ((object.ReferenceEquals(this.DescriptionField, value) != true))
     1256                {
     1257                    this.DescriptionField = value;
     1258                    this.RaisePropertyChanged("Description");
     1259                }
     1260            }
     1261        }
     1262       
     1263        [System.Runtime.Serialization.DataMemberAttribute()]
     1264        public string Name
     1265        {
     1266            get
     1267            {
     1268                return this.NameField;
     1269            }
     1270            set
     1271            {
     1272                if ((object.ReferenceEquals(this.NameField, value) != true))
     1273                {
     1274                    this.NameField = value;
     1275                    this.RaisePropertyChanged("Name");
     1276                }
     1277            }
     1278        }
     1279    }
     1280   
     1281    [System.Diagnostics.DebuggerStepThroughAttribute()]
     1282    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     1283    [System.Runtime.Serialization.DataContractAttribute(Name="Job", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
     1284    [System.SerializableAttribute()]
     1285    public partial class Job : HeuristicLab.Clients.Hive.NamedHiveItem
     1286    {
     1287       
     1288        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1289        private int CalculatingCountField;
     1290       
     1291        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1292        private System.DateTime DateCreatedField;
     1293       
     1294        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1295        private int FinishedCountField;
     1296       
     1297        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1298        private int JobCountField;
     1299       
     1300        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1301        private System.Guid OwnerUserIdField;
     1302       
     1303        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1304        private string OwnerUsernameField;
     1305       
     1306        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1307        private HeuristicLab.Clients.Hive.Permission PermissionField;
     1308       
     1309        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1310        private string ResourceNamesField;
     1311       
     1312        [System.Runtime.Serialization.DataMemberAttribute()]
     1313        public int CalculatingCount
     1314        {
     1315            get
     1316            {
     1317                return this.CalculatingCountField;
     1318            }
     1319            set
     1320            {
     1321                if ((this.CalculatingCountField.Equals(value) != true))
     1322                {
     1323                    this.CalculatingCountField = value;
     1324                    this.RaisePropertyChanged("CalculatingCount");
     1325                }
     1326            }
     1327        }
     1328       
     1329        [System.Runtime.Serialization.DataMemberAttribute()]
     1330        public System.DateTime DateCreated
     1331        {
     1332            get
     1333            {
     1334                return this.DateCreatedField;
     1335            }
     1336            set
     1337            {
     1338                if ((this.DateCreatedField.Equals(value) != true))
     1339                {
     1340                    this.DateCreatedField = value;
     1341                    this.RaisePropertyChanged("DateCreated");
     1342                }
     1343            }
     1344        }
     1345       
     1346        [System.Runtime.Serialization.DataMemberAttribute()]
     1347        public int FinishedCount
     1348        {
     1349            get
     1350            {
     1351                return this.FinishedCountField;
     1352            }
     1353            set
     1354            {
     1355                if ((this.FinishedCountField.Equals(value) != true))
     1356                {
     1357                    this.FinishedCountField = value;
     1358                    this.RaisePropertyChanged("FinishedCount");
     1359                }
     1360            }
     1361        }
     1362       
     1363        [System.Runtime.Serialization.DataMemberAttribute()]
     1364        public int JobCount
     1365        {
     1366            get
     1367            {
     1368                return this.JobCountField;
     1369            }
     1370            set
     1371            {
     1372                if ((this.JobCountField.Equals(value) != true))
     1373                {
     1374                    this.JobCountField = value;
     1375                    this.RaisePropertyChanged("JobCount");
     1376                }
     1377            }
     1378        }
     1379       
     1380        [System.Runtime.Serialization.DataMemberAttribute()]
     1381        public System.Guid OwnerUserId
     1382        {
     1383            get
     1384            {
     1385                return this.OwnerUserIdField;
     1386            }
     1387            set
     1388            {
     1389                if ((this.OwnerUserIdField.Equals(value) != true))
     1390                {
     1391                    this.OwnerUserIdField = value;
     1392                    this.RaisePropertyChanged("OwnerUserId");
     1393                }
     1394            }
     1395        }
     1396       
     1397        [System.Runtime.Serialization.DataMemberAttribute()]
     1398        public string OwnerUsername
     1399        {
     1400            get
     1401            {
     1402                return this.OwnerUsernameField;
     1403            }
     1404            set
     1405            {
     1406                if ((object.ReferenceEquals(this.OwnerUsernameField, value) != true))
     1407                {
     1408                    this.OwnerUsernameField = value;
     1409                    this.RaisePropertyChanged("OwnerUsername");
     1410                }
     1411            }
     1412        }
     1413       
     1414        [System.Runtime.Serialization.DataMemberAttribute()]
     1415        public HeuristicLab.Clients.Hive.Permission Permission
     1416        {
     1417            get
     1418            {
     1419                return this.PermissionField;
     1420            }
     1421            set
     1422            {
     1423                if ((this.PermissionField.Equals(value) != true))
     1424                {
     1425                    this.PermissionField = value;
     1426                    this.RaisePropertyChanged("Permission");
     1427                }
     1428            }
     1429        }
     1430       
     1431        [System.Runtime.Serialization.DataMemberAttribute()]
     1432        public string ResourceNames
     1433        {
     1434            get
     1435            {
     1436                return this.ResourceNamesField;
     1437            }
     1438            set
     1439            {
     1440                if ((object.ReferenceEquals(this.ResourceNamesField, value) != true))
     1441                {
     1442                    this.ResourceNamesField = value;
     1443                    this.RaisePropertyChanged("ResourceNames");
     1444                }
     1445            }
     1446        }
     1447    }
     1448   
     1449    [System.Diagnostics.DebuggerStepThroughAttribute()]
     1450    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     1451    [System.Runtime.Serialization.DataContractAttribute(Name="Plugin", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
     1452    [System.SerializableAttribute()]
     1453    public partial class Plugin : HeuristicLab.Clients.Hive.NamedHiveItem
     1454    {
     1455       
     1456        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1457        private System.DateTime DateCreatedField;
     1458       
     1459        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1460        private byte[] HashField;
     1461       
     1462        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1463        private System.Guid UserIdField;
     1464       
     1465        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1466        private System.Version VersionField;
     1467       
     1468        [System.Runtime.Serialization.DataMemberAttribute()]
     1469        public System.DateTime DateCreated
     1470        {
     1471            get
     1472            {
     1473                return this.DateCreatedField;
     1474            }
     1475            set
     1476            {
     1477                if ((this.DateCreatedField.Equals(value) != true))
     1478                {
     1479                    this.DateCreatedField = value;
     1480                    this.RaisePropertyChanged("DateCreated");
     1481                }
     1482            }
     1483        }
     1484       
     1485        [System.Runtime.Serialization.DataMemberAttribute()]
     1486        public byte[] Hash
     1487        {
     1488            get
     1489            {
     1490                return this.HashField;
     1491            }
     1492            set
     1493            {
     1494                if ((object.ReferenceEquals(this.HashField, value) != true))
     1495                {
     1496                    this.HashField = value;
     1497                    this.RaisePropertyChanged("Hash");
     1498                }
     1499            }
     1500        }
     1501       
     1502        [System.Runtime.Serialization.DataMemberAttribute()]
     1503        public System.Guid UserId
     1504        {
     1505            get
     1506            {
     1507                return this.UserIdField;
     1508            }
     1509            set
     1510            {
     1511                if ((this.UserIdField.Equals(value) != true))
     1512                {
     1513                    this.UserIdField = value;
     1514                    this.RaisePropertyChanged("UserId");
     1515                }
     1516            }
     1517        }
     1518       
     1519        [System.Runtime.Serialization.DataMemberAttribute()]
     1520        public System.Version Version
     1521        {
     1522            get
     1523            {
     1524                return this.VersionField;
     1525            }
     1526            set
     1527            {
     1528                if ((object.ReferenceEquals(this.VersionField, value) != true))
     1529                {
     1530                    this.VersionField = value;
     1531                    this.RaisePropertyChanged("Version");
     1532                }
     1533            }
     1534        }
     1535    }
     1536   
     1537    [System.Diagnostics.DebuggerStepThroughAttribute()]
     1538    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     1539    [System.Runtime.Serialization.DataContractAttribute(Name="Resource", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
     1540    [System.SerializableAttribute()]
     1541    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.SlaveGroup))]
     1542    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Slave))]
     1543    public partial class Resource : HeuristicLab.Clients.Hive.NamedHiveItem
     1544    {
     1545       
     1546        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1547        private int HbIntervalField;
     1548       
     1549        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1550        private System.Nullable<System.Guid> OwnerUserIdField;
     1551       
     1552        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1553        private System.Nullable<System.Guid> ParentResourceIdField;
     1554       
     1555        [System.Runtime.Serialization.DataMemberAttribute()]
     1556        public int HbInterval
     1557        {
     1558            get
     1559            {
     1560                return this.HbIntervalField;
     1561            }
     1562            set
     1563            {
     1564                if ((this.HbIntervalField.Equals(value) != true))
     1565                {
     1566                    this.HbIntervalField = value;
     1567                    this.RaisePropertyChanged("HbInterval");
     1568                }
     1569            }
     1570        }
     1571       
     1572        [System.Runtime.Serialization.DataMemberAttribute()]
     1573        public System.Nullable<System.Guid> OwnerUserId
     1574        {
     1575            get
     1576            {
     1577                return this.OwnerUserIdField;
     1578            }
     1579            set
     1580            {
     1581                if ((this.OwnerUserIdField.Equals(value) != true))
     1582                {
     1583                    this.OwnerUserIdField = value;
     1584                    this.RaisePropertyChanged("OwnerUserId");
     1585                }
     1586            }
     1587        }
     1588       
     1589        [System.Runtime.Serialization.DataMemberAttribute()]
     1590        public System.Nullable<System.Guid> ParentResourceId
     1591        {
     1592            get
     1593            {
     1594                return this.ParentResourceIdField;
     1595            }
     1596            set
     1597            {
     1598                if ((this.ParentResourceIdField.Equals(value) != true))
     1599                {
     1600                    this.ParentResourceIdField = value;
     1601                    this.RaisePropertyChanged("ParentResourceId");
     1602                }
     1603            }
     1604        }
     1605    }
     1606   
     1607    [System.Diagnostics.DebuggerStepThroughAttribute()]
     1608    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     1609    [System.Runtime.Serialization.DataContractAttribute(Name="SlaveGroup", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
     1610    [System.SerializableAttribute()]
     1611    public partial class SlaveGroup : HeuristicLab.Clients.Hive.Resource
     1612    {
     1613    }
     1614   
     1615    [System.Diagnostics.DebuggerStepThroughAttribute()]
     1616    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     1617    [System.Runtime.Serialization.DataContractAttribute(Name="Slave", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
     1618    [System.SerializableAttribute()]
     1619    public partial class Slave : HeuristicLab.Clients.Hive.Resource
     1620    {
     1621       
     1622        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1623        private System.Nullable<int> CoresField;
     1624       
     1625        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1626        private HeuristicLab.Clients.Hive.CpuArchitecture CpuArchitectureField;
     1627       
     1628        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1629        private System.Nullable<int> CpuSpeedField;
     1630       
     1631        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1632        private double CpuUtilizationField;
     1633       
     1634        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1635        private System.Nullable<int> FreeCoresField;
     1636       
     1637        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1638        private System.Nullable<int> FreeMemoryField;
     1639       
     1640        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1641        private bool IsAllowedToCalculateField;
     1642       
     1643        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1644        private System.Nullable<bool> IsDisposableField;
     1645       
     1646        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1647        private System.Nullable<System.DateTime> LastHeartbeatField;
     1648       
     1649        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1650        private System.Nullable<int> MemoryField;
     1651       
     1652        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1653        private string OperatingSystemField;
     1654       
     1655        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1656        private HeuristicLab.Clients.Hive.SlaveState SlaveStateField;
     1657       
     1658        [System.Runtime.Serialization.DataMemberAttribute()]
     1659        public System.Nullable<int> Cores
     1660        {
     1661            get
     1662            {
     1663                return this.CoresField;
     1664            }
     1665            set
     1666            {
     1667                if ((this.CoresField.Equals(value) != true))
     1668                {
     1669                    this.CoresField = value;
     1670                    this.RaisePropertyChanged("Cores");
     1671                }
     1672            }
     1673        }
     1674       
     1675        [System.Runtime.Serialization.DataMemberAttribute()]
     1676        public HeuristicLab.Clients.Hive.CpuArchitecture CpuArchitecture
     1677        {
     1678            get
     1679            {
     1680                return this.CpuArchitectureField;
     1681            }
     1682            set
     1683            {
     1684                if ((this.CpuArchitectureField.Equals(value) != true))
     1685                {
     1686                    this.CpuArchitectureField = value;
     1687                    this.RaisePropertyChanged("CpuArchitecture");
     1688                }
     1689            }
     1690        }
     1691       
     1692        [System.Runtime.Serialization.DataMemberAttribute()]
     1693        public System.Nullable<int> CpuSpeed
     1694        {
     1695            get
     1696            {
     1697                return this.CpuSpeedField;
     1698            }
     1699            set
     1700            {
     1701                if ((this.CpuSpeedField.Equals(value) != true))
     1702                {
     1703                    this.CpuSpeedField = value;
     1704                    this.RaisePropertyChanged("CpuSpeed");
     1705                }
     1706            }
     1707        }
     1708       
     1709        [System.Runtime.Serialization.DataMemberAttribute()]
     1710        public double CpuUtilization
     1711        {
     1712            get
     1713            {
     1714                return this.CpuUtilizationField;
     1715            }
     1716            set
     1717            {
     1718                if ((this.CpuUtilizationField.Equals(value) != true))
     1719                {
     1720                    this.CpuUtilizationField = value;
     1721                    this.RaisePropertyChanged("CpuUtilization");
     1722                }
     1723            }
     1724        }
     1725       
     1726        [System.Runtime.Serialization.DataMemberAttribute()]
     1727        public System.Nullable<int> FreeCores
     1728        {
     1729            get
     1730            {
     1731                return this.FreeCoresField;
     1732            }
     1733            set
     1734            {
     1735                if ((this.FreeCoresField.Equals(value) != true))
     1736                {
     1737                    this.FreeCoresField = value;
     1738                    this.RaisePropertyChanged("FreeCores");
     1739                }
     1740            }
     1741        }
     1742       
     1743        [System.Runtime.Serialization.DataMemberAttribute()]
     1744        public System.Nullable<int> FreeMemory
     1745        {
     1746            get
     1747            {
     1748                return this.FreeMemoryField;
     1749            }
     1750            set
     1751            {
     1752                if ((this.FreeMemoryField.Equals(value) != true))
     1753                {
     1754                    this.FreeMemoryField = value;
     1755                    this.RaisePropertyChanged("FreeMemory");
     1756                }
     1757            }
     1758        }
     1759       
     1760        [System.Runtime.Serialization.DataMemberAttribute()]
     1761        public bool IsAllowedToCalculate
     1762        {
     1763            get
     1764            {
     1765                return this.IsAllowedToCalculateField;
     1766            }
     1767            set
     1768            {
     1769                if ((this.IsAllowedToCalculateField.Equals(value) != true))
     1770                {
     1771                    this.IsAllowedToCalculateField = value;
     1772                    this.RaisePropertyChanged("IsAllowedToCalculate");
     1773                }
     1774            }
     1775        }
     1776       
     1777        [System.Runtime.Serialization.DataMemberAttribute()]
     1778        public System.Nullable<bool> IsDisposable
     1779        {
     1780            get
     1781            {
     1782                return this.IsDisposableField;
     1783            }
     1784            set
     1785            {
     1786                if ((this.IsDisposableField.Equals(value) != true))
     1787                {
     1788                    this.IsDisposableField = value;
     1789                    this.RaisePropertyChanged("IsDisposable");
     1790                }
     1791            }
     1792        }
     1793       
     1794        [System.Runtime.Serialization.DataMemberAttribute()]
     1795        public System.Nullable<System.DateTime> LastHeartbeat
     1796        {
     1797            get
     1798            {
     1799                return this.LastHeartbeatField;
     1800            }
     1801            set
     1802            {
     1803                if ((this.LastHeartbeatField.Equals(value) != true))
     1804                {
     1805                    this.LastHeartbeatField = value;
     1806                    this.RaisePropertyChanged("LastHeartbeat");
     1807                }
     1808            }
     1809        }
     1810       
     1811        [System.Runtime.Serialization.DataMemberAttribute()]
     1812        public System.Nullable<int> Memory
     1813        {
     1814            get
     1815            {
     1816                return this.MemoryField;
     1817            }
     1818            set
     1819            {
     1820                if ((this.MemoryField.Equals(value) != true))
     1821                {
     1822                    this.MemoryField = value;
     1823                    this.RaisePropertyChanged("Memory");
     1824                }
     1825            }
     1826        }
     1827       
     1828        [System.Runtime.Serialization.DataMemberAttribute()]
     1829        public string OperatingSystem
     1830        {
     1831            get
     1832            {
     1833                return this.OperatingSystemField;
     1834            }
     1835            set
     1836            {
     1837                if ((object.ReferenceEquals(this.OperatingSystemField, value) != true))
     1838                {
     1839                    this.OperatingSystemField = value;
     1840                    this.RaisePropertyChanged("OperatingSystem");
     1841                }
     1842            }
     1843        }
     1844       
     1845        [System.Runtime.Serialization.DataMemberAttribute()]
     1846        public HeuristicLab.Clients.Hive.SlaveState SlaveState
     1847        {
     1848            get
     1849            {
     1850                return this.SlaveStateField;
     1851            }
     1852            set
     1853            {
     1854                if ((this.SlaveStateField.Equals(value) != true))
     1855                {
     1856                    this.SlaveStateField = value;
     1857                    this.RaisePropertyChanged("SlaveState");
     1858                }
     1859            }
     1860        }
     1861    }
     1862   
     1863    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     1864    [System.Runtime.Serialization.DataContractAttribute(Name="CpuArchitecture", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
     1865    public enum CpuArchitecture : int
     1866    {
     1867       
     1868        [System.Runtime.Serialization.EnumMemberAttribute()]
     1869        x86 = 0,
     1870       
     1871        [System.Runtime.Serialization.EnumMemberAttribute()]
     1872        x64 = 1,
     1873    }
     1874   
     1875    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     1876    [System.Runtime.Serialization.DataContractAttribute(Name="SlaveState", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
     1877    public enum SlaveState : int
     1878    {
     1879       
     1880        [System.Runtime.Serialization.EnumMemberAttribute()]
     1881        Idle = 0,
     1882       
     1883        [System.Runtime.Serialization.EnumMemberAttribute()]
     1884        Calculating = 1,
     1885       
     1886        [System.Runtime.Serialization.EnumMemberAttribute()]
     1887        Offline = 2,
     1888    }
     1889   
     1890    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     1891    [System.Runtime.Serialization.DataContractAttribute(Name="Command", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
     1892    public enum Command : int
     1893    {
     1894       
     1895        [System.Runtime.Serialization.EnumMemberAttribute()]
     1896        Stop = 0,
     1897       
     1898        [System.Runtime.Serialization.EnumMemberAttribute()]
     1899        Abort = 1,
     1900       
     1901        [System.Runtime.Serialization.EnumMemberAttribute()]
     1902        Pause = 2,
     1903    }
     1904   
     1905    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     1906    [System.Runtime.Serialization.DataContractAttribute(Name="TaskState", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
     1907    public enum TaskState : int
     1908    {
     1909       
     1910        [System.Runtime.Serialization.EnumMemberAttribute()]
     1911        Offline = 0,
     1912       
     1913        [System.Runtime.Serialization.EnumMemberAttribute()]
     1914        Waiting = 1,
     1915       
     1916        [System.Runtime.Serialization.EnumMemberAttribute()]
     1917        Transferring = 2,
     1918       
     1919        [System.Runtime.Serialization.EnumMemberAttribute()]
     1920        Calculating = 3,
     1921       
     1922        [System.Runtime.Serialization.EnumMemberAttribute()]
     1923        Paused = 4,
     1924       
     1925        [System.Runtime.Serialization.EnumMemberAttribute()]
     1926        Finished = 5,
     1927       
     1928        [System.Runtime.Serialization.EnumMemberAttribute()]
     1929        Aborted = 6,
     1930       
     1931        [System.Runtime.Serialization.EnumMemberAttribute()]
     1932        Failed = 7,
     1933    }
     1934   
     1935    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     1936    [System.Runtime.Serialization.DataContractAttribute(Name="DowntimeType", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataAccess")]
     1937    public enum DowntimeType : int
     1938    {
     1939       
     1940        [System.Runtime.Serialization.EnumMemberAttribute()]
     1941        Offline = 0,
     1942       
     1943        [System.Runtime.Serialization.EnumMemberAttribute()]
     1944        Shutdown = 1,
     1945    }
     1946   
     1947    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     1948    [System.Runtime.Serialization.DataContractAttribute(Name="Permission", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
     1949    public enum Permission : int
     1950    {
     1951       
     1952        [System.Runtime.Serialization.EnumMemberAttribute()]
     1953        NotAllowed = 0,
     1954       
     1955        [System.Runtime.Serialization.EnumMemberAttribute()]
     1956        Read = 1,
     1957       
     1958        [System.Runtime.Serialization.EnumMemberAttribute()]
     1959        Full = 2,
     1960    }
     1961   
     1962    [System.Diagnostics.DebuggerStepThroughAttribute()]
     1963    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     1964    [System.Runtime.Serialization.DataContractAttribute(Name="TaskData", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
     1965    [System.SerializableAttribute()]
     1966    public partial class TaskData : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
     1967    {
     1968       
     1969        [System.NonSerializedAttribute()]
     1970        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
     1971       
     1972        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1973        private byte[] DataField;
     1974       
     1975        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1976        private System.DateTime LastUpdateField;
     1977       
     1978        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1979        private System.Guid TaskIdField;
     1980       
     1981        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
     1982        {
     1983            get
     1984            {
     1985                return this.extensionDataField;
     1986            }
     1987            set
     1988            {
     1989                this.extensionDataField = value;
     1990            }
     1991        }
     1992       
     1993        [System.Runtime.Serialization.DataMemberAttribute()]
     1994        public byte[] Data
     1995        {
     1996            get
     1997            {
     1998                return this.DataField;
     1999            }
     2000            set
     2001            {
     2002                if ((object.ReferenceEquals(this.DataField, value) != true))
     2003                {
     2004                    this.DataField = value;
     2005                    this.RaisePropertyChanged("Data");
     2006                }
     2007            }
     2008        }
     2009       
     2010        [System.Runtime.Serialization.DataMemberAttribute()]
     2011        public System.DateTime LastUpdate
     2012        {
     2013            get
     2014            {
     2015                return this.LastUpdateField;
     2016            }
     2017            set
     2018            {
     2019                if ((this.LastUpdateField.Equals(value) != true))
     2020                {
     2021                    this.LastUpdateField = value;
     2022                    this.RaisePropertyChanged("LastUpdate");
     2023                }
     2024            }
     2025        }
     2026       
     2027        [System.Runtime.Serialization.DataMemberAttribute()]
     2028        public System.Guid TaskId
     2029        {
     2030            get
     2031            {
     2032                return this.TaskIdField;
     2033            }
     2034            set
     2035            {
     2036                if ((this.TaskIdField.Equals(value) != true))
     2037                {
     2038                    this.TaskIdField = value;
     2039                    this.RaisePropertyChanged("TaskId");
     2040                }
     2041            }
     2042        }
     2043       
     2044        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
     2045       
     2046        protected void RaisePropertyChanged(string propertyName)
     2047        {
     2048            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
     2049            if ((propertyChanged != null))
     2050            {
     2051                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
     2052            }
     2053        }
     2054    }
     2055   
     2056    [System.Diagnostics.DebuggerStepThroughAttribute()]
     2057    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     2058    [System.Runtime.Serialization.DataContractAttribute(Name="Heartbeat", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
     2059    [System.SerializableAttribute()]
     2060    public partial class Heartbeat : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
     2061    {
     2062       
     2063        [System.NonSerializedAttribute()]
     2064        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
     2065       
     2066        [System.Runtime.Serialization.OptionalFieldAttribute()]
     2067        private bool AssignJobField;
     2068       
     2069        [System.Runtime.Serialization.OptionalFieldAttribute()]
     2070        private float CpuUtilizationField;
     2071       
     2072        [System.Runtime.Serialization.OptionalFieldAttribute()]
     2073        private int FreeCoresField;
     2074       
     2075        [System.Runtime.Serialization.OptionalFieldAttribute()]
     2076        private int FreeMemoryField;
     2077       
     2078        [System.Runtime.Serialization.OptionalFieldAttribute()]
     2079        private int HbIntervalField;
     2080       
     2081        [System.Runtime.Serialization.OptionalFieldAttribute()]
     2082        private System.Collections.Generic.Dictionary<System.Guid, System.TimeSpan> JobProgressField;
     2083       
     2084        [System.Runtime.Serialization.OptionalFieldAttribute()]
     2085        private System.Guid SlaveIdField;
     2086       
     2087        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
     2088        {
     2089            get
     2090            {
     2091                return this.extensionDataField;
     2092            }
     2093            set
     2094            {
     2095                this.extensionDataField = value;
     2096            }
     2097        }
     2098       
     2099        [System.Runtime.Serialization.DataMemberAttribute()]
     2100        public bool AssignJob
     2101        {
     2102            get
     2103            {
     2104                return this.AssignJobField;
     2105            }
     2106            set
     2107            {
     2108                if ((this.AssignJobField.Equals(value) != true))
     2109                {
     2110                    this.AssignJobField = value;
     2111                    this.RaisePropertyChanged("AssignJob");
     2112                }
     2113            }
     2114        }
     2115       
     2116        [System.Runtime.Serialization.DataMemberAttribute()]
     2117        public float CpuUtilization
     2118        {
     2119            get
     2120            {
     2121                return this.CpuUtilizationField;
     2122            }
     2123            set
     2124            {
     2125                if ((this.CpuUtilizationField.Equals(value) != true))
     2126                {
     2127                    this.CpuUtilizationField = value;
     2128                    this.RaisePropertyChanged("CpuUtilization");
     2129                }
     2130            }
     2131        }
     2132       
     2133        [System.Runtime.Serialization.DataMemberAttribute()]
     2134        public int FreeCores
     2135        {
     2136            get
     2137            {
     2138                return this.FreeCoresField;
     2139            }
     2140            set
     2141            {
     2142                if ((this.FreeCoresField.Equals(value) != true))
     2143                {
     2144                    this.FreeCoresField = value;
     2145                    this.RaisePropertyChanged("FreeCores");
     2146                }
     2147            }
     2148        }
     2149       
     2150        [System.Runtime.Serialization.DataMemberAttribute()]
     2151        public int FreeMemory
     2152        {
     2153            get
     2154            {
     2155                return this.FreeMemoryField;
     2156            }
     2157            set
     2158            {
     2159                if ((this.FreeMemoryField.Equals(value) != true))
     2160                {
     2161                    this.FreeMemoryField = value;
     2162                    this.RaisePropertyChanged("FreeMemory");
     2163                }
     2164            }
     2165        }
     2166       
     2167        [System.Runtime.Serialization.DataMemberAttribute()]
     2168        public int HbInterval
     2169        {
     2170            get
     2171            {
     2172                return this.HbIntervalField;
     2173            }
     2174            set
     2175            {
     2176                if ((this.HbIntervalField.Equals(value) != true))
     2177                {
     2178                    this.HbIntervalField = value;
     2179                    this.RaisePropertyChanged("HbInterval");
     2180                }
     2181            }
     2182        }
     2183       
     2184        [System.Runtime.Serialization.DataMemberAttribute()]
     2185        public System.Collections.Generic.Dictionary<System.Guid, System.TimeSpan> JobProgress
     2186        {
     2187            get
     2188            {
     2189                return this.JobProgressField;
     2190            }
     2191            set
     2192            {
     2193                if ((object.ReferenceEquals(this.JobProgressField, value) != true))
     2194                {
     2195                    this.JobProgressField = value;
     2196                    this.RaisePropertyChanged("JobProgress");
     2197                }
     2198            }
     2199        }
     2200       
     2201        [System.Runtime.Serialization.DataMemberAttribute()]
     2202        public System.Guid SlaveId
     2203        {
     2204            get
     2205            {
     2206                return this.SlaveIdField;
     2207            }
     2208            set
     2209            {
     2210                if ((this.SlaveIdField.Equals(value) != true))
     2211                {
     2212                    this.SlaveIdField = value;
     2213                    this.RaisePropertyChanged("SlaveId");
     2214                }
     2215            }
     2216        }
     2217       
     2218        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
     2219       
     2220        protected void RaisePropertyChanged(string propertyName)
     2221        {
     2222            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
     2223            if ((propertyChanged != null))
     2224            {
     2225                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
     2226            }
     2227        }
     2228    }
     2229   
     2230    [System.Diagnostics.DebuggerStepThroughAttribute()]
     2231    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     2232    [System.Runtime.Serialization.DataContractAttribute(Name="MessageContainer", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive")]
     2233    [System.SerializableAttribute()]
     2234    public partial class MessageContainer : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
     2235    {
     2236       
     2237        [System.NonSerializedAttribute()]
     2238        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
     2239       
     2240        [System.Runtime.Serialization.OptionalFieldAttribute()]
     2241        private HeuristicLab.Clients.Hive.MessageContainer.MessageType MessageField;
     2242       
     2243        [System.Runtime.Serialization.OptionalFieldAttribute()]
     2244        private System.Guid TaskIdField;
     2245       
     2246        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
     2247        {
     2248            get
     2249            {
     2250                return this.extensionDataField;
     2251            }
     2252            set
     2253            {
     2254                this.extensionDataField = value;
     2255            }
     2256        }
     2257       
     2258        [System.Runtime.Serialization.DataMemberAttribute()]
     2259        public HeuristicLab.Clients.Hive.MessageContainer.MessageType Message
     2260        {
     2261            get
     2262            {
     2263                return this.MessageField;
     2264            }
     2265            set
     2266            {
     2267                if ((this.MessageField.Equals(value) != true))
     2268                {
     2269                    this.MessageField = value;
     2270                    this.RaisePropertyChanged("Message");
     2271                }
     2272            }
     2273        }
     2274       
     2275        [System.Runtime.Serialization.DataMemberAttribute()]
     2276        public System.Guid TaskId
     2277        {
     2278            get
     2279            {
     2280                return this.TaskIdField;
     2281            }
     2282            set
     2283            {
     2284                if ((this.TaskIdField.Equals(value) != true))
     2285                {
     2286                    this.TaskIdField = value;
     2287                    this.RaisePropertyChanged("TaskId");
     2288                }
     2289            }
     2290        }
     2291       
     2292        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
     2293       
     2294        protected void RaisePropertyChanged(string propertyName)
     2295        {
     2296            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
     2297            if ((propertyChanged != null))
     2298            {
     2299                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
     2300            }
     2301        }
     2302       
     2303        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     2304        [System.Runtime.Serialization.DataContractAttribute(Name="MessageContainer.MessageType", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive")]
     2305        public enum MessageType : int
     2306        {
     2307           
     2308            [System.Runtime.Serialization.EnumMemberAttribute()]
     2309            CalculateTask = 0,
     2310           
     2311            [System.Runtime.Serialization.EnumMemberAttribute()]
     2312            StopTask = 1,
     2313           
     2314            [System.Runtime.Serialization.EnumMemberAttribute()]
     2315            StopAll = 2,
     2316           
     2317            [System.Runtime.Serialization.EnumMemberAttribute()]
     2318            AbortTask = 3,
     2319           
     2320            [System.Runtime.Serialization.EnumMemberAttribute()]
     2321            AbortAll = 4,
     2322           
     2323            [System.Runtime.Serialization.EnumMemberAttribute()]
     2324            PauseTask = 5,
     2325           
     2326            [System.Runtime.Serialization.EnumMemberAttribute()]
     2327            PauseAll = 6,
     2328           
     2329            [System.Runtime.Serialization.EnumMemberAttribute()]
     2330            Restart = 7,
     2331           
     2332            [System.Runtime.Serialization.EnumMemberAttribute()]
     2333            Sleep = 8,
     2334           
     2335            [System.Runtime.Serialization.EnumMemberAttribute()]
     2336            ShutdownSlave = 9,
     2337           
     2338            [System.Runtime.Serialization.EnumMemberAttribute()]
     2339            SayHello = 10,
     2340           
     2341            [System.Runtime.Serialization.EnumMemberAttribute()]
     2342            NewHBInterval = 11,
     2343           
     2344            [System.Runtime.Serialization.EnumMemberAttribute()]
     2345            ShutdownComputer = 12,
     2346        }
     2347    }
     2348   
     2349    [System.Diagnostics.DebuggerStepThroughAttribute()]
     2350    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     2351    [System.Runtime.Serialization.DataContractAttribute(Name="PluginAlreadyExistsFault", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive")]
     2352    [System.SerializableAttribute()]
     2353    public partial class PluginAlreadyExistsFault : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
     2354    {
     2355       
     2356        [System.NonSerializedAttribute()]
     2357        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
     2358       
     2359        [System.Runtime.Serialization.OptionalFieldAttribute()]
     2360        private System.Guid IdField;
     2361       
     2362        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
     2363        {
     2364            get
     2365            {
     2366                return this.extensionDataField;
     2367            }
     2368            set
     2369            {
     2370                this.extensionDataField = value;
     2371            }
     2372        }
     2373       
     2374        [System.Runtime.Serialization.DataMemberAttribute()]
     2375        public System.Guid Id
     2376        {
     2377            get
     2378            {
     2379                return this.IdField;
     2380            }
     2381            set
     2382            {
     2383                if ((this.IdField.Equals(value) != true))
     2384                {
     2385                    this.IdField = value;
     2386                    this.RaisePropertyChanged("Id");
     2387                }
     2388            }
     2389        }
     2390       
     2391        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
     2392       
     2393        protected void RaisePropertyChanged(string propertyName)
     2394        {
     2395            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
     2396            if ((propertyChanged != null))
     2397            {
     2398                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
     2399            }
     2400        }
     2401    }
     2402   
     2403    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
     2404    [System.ServiceModel.ServiceContractAttribute(ConfigurationName="HeuristicLab.Clients.Hive.IHiveService")]
     2405    public interface IHiveService
     2406    {
     2407       
     2408        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetSlave", ReplyAction="http://tempuri.org/IHiveService/GetSlaveResponse")]
     2409        HeuristicLab.Clients.Hive.Slave GetSlave(System.Guid slaveId);
     2410       
     2411        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetSlaveGroup", ReplyAction="http://tempuri.org/IHiveService/GetSlaveGroupResponse")]
     2412        HeuristicLab.Clients.Hive.SlaveGroup GetSlaveGroup(System.Guid slaveGroupId);
     2413       
     2414        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetSlaves", ReplyAction="http://tempuri.org/IHiveService/GetSlavesResponse")]
     2415        System.Collections.Generic.List<HeuristicLab.Clients.Hive.Slave> GetSlaves();
     2416       
     2417        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetSlaveGroups", ReplyAction="http://tempuri.org/IHiveService/GetSlaveGroupsResponse")]
     2418        System.Collections.Generic.List<HeuristicLab.Clients.Hive.SlaveGroup> GetSlaveGroups();
     2419       
     2420        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/UpdateSlave", ReplyAction="http://tempuri.org/IHiveService/UpdateSlaveResponse")]
     2421        void UpdateSlave(HeuristicLab.Clients.Hive.Slave slave);
     2422       
     2423        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/UpdateSlaveGroup", ReplyAction="http://tempuri.org/IHiveService/UpdateSlaveGroupResponse")]
     2424        void UpdateSlaveGroup(HeuristicLab.Clients.Hive.SlaveGroup slaveGroup);
     2425       
     2426        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/DeleteSlave", ReplyAction="http://tempuri.org/IHiveService/DeleteSlaveResponse")]
     2427        void DeleteSlave(System.Guid slaveId);
     2428       
     2429        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/DeleteSlaveGroup", ReplyAction="http://tempuri.org/IHiveService/DeleteSlaveGroupResponse")]
     2430        void DeleteSlaveGroup(System.Guid slaveGroupId);
     2431       
     2432        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/AddResourceToGroup", ReplyAction="http://tempuri.org/IHiveService/AddResourceToGroupResponse")]
     2433        void AddResourceToGroup(System.Guid slaveGroupId, System.Guid resourceId);
     2434       
     2435        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/RemoveResourceFromGroup", ReplyAction="http://tempuri.org/IHiveService/RemoveResourceFromGroupResponse")]
     2436        void RemoveResourceFromGroup(System.Guid slaveGroupId, System.Guid resourceId);
     2437       
     2438        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetResourceId", ReplyAction="http://tempuri.org/IHiveService/GetResourceIdResponse")]
     2439        System.Guid GetResourceId(string resourceName);
     2440       
     2441        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetTasksByResourceId", ReplyAction="http://tempuri.org/IHiveService/GetTasksByResourceIdResponse")]
     2442        System.Collections.Generic.List<HeuristicLab.Clients.Hive.Task> GetTasksByResourceId(System.Guid resourceId);
     2443       
     2444        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/TriggerEventManager", ReplyAction="http://tempuri.org/IHiveService/TriggerEventManagerResponse")]
     2445        void TriggerEventManager(bool force);
     2446       
     2447        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetNewHeartbeatInterval", ReplyAction="http://tempuri.org/IHiveService/GetNewHeartbeatIntervalResponse")]
     2448        int GetNewHeartbeatInterval(System.Guid slaveId);
     2449       
     2450        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/AddDowntime", ReplyAction="http://tempuri.org/IHiveService/AddDowntimeResponse")]
     2451        System.Guid AddDowntime(HeuristicLab.Clients.Hive.Downtime downtime);
     2452       
     2453        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/DeleteDowntime", ReplyAction="http://tempuri.org/IHiveService/DeleteDowntimeResponse")]
     2454        void DeleteDowntime(System.Guid downtimeId);
     2455       
     2456        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/UpdateDowntime", ReplyAction="http://tempuri.org/IHiveService/UpdateDowntimeResponse")]
     2457        void UpdateDowntime(HeuristicLab.Clients.Hive.Downtime downtime);
     2458       
     2459        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetDowntimesForResource", ReplyAction="http://tempuri.org/IHiveService/GetDowntimesForResourceResponse")]
     2460        System.Collections.Generic.List<HeuristicLab.Clients.Hive.Downtime> GetDowntimesForResource(System.Guid resourceId);
     2461       
     2462        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetUsernameByUserId", ReplyAction="http://tempuri.org/IHiveService/GetUsernameByUserIdResponse")]
     2463        string GetUsernameByUserId(System.Guid userId);
     2464       
     2465        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetUserIdByUsername", ReplyAction="http://tempuri.org/IHiveService/GetUserIdByUsernameResponse")]
     2466        System.Guid GetUserIdByUsername(string username);
     2467       
     2468        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetUserPriorities", ReplyAction="http://tempuri.org/IHiveService/GetUserPrioritiesResponse")]
     2469        System.Collections.Generic.List<HeuristicLab.Clients.Hive.UserPriority> GetUserPriorities();
     2470       
     2471        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetStatistics", ReplyAction="http://tempuri.org/IHiveService/GetStatisticsResponse")]
     2472        System.Collections.Generic.List<HeuristicLab.Clients.Hive.Statistics> GetStatistics();
     2473       
     2474        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetStatisticsForTimePeriod", ReplyAction="http://tempuri.org/IHiveService/GetStatisticsForTimePeriodResponse")]
     2475        System.Collections.Generic.List<HeuristicLab.Clients.Hive.Statistics> GetStatisticsForTimePeriod(System.DateTime from, System.DateTime to);
     2476       
     2477        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/AddTask", ReplyAction="http://tempuri.org/IHiveService/AddTaskResponse")]
     2478        System.Guid AddTask(HeuristicLab.Clients.Hive.Task task, HeuristicLab.Clients.Hive.TaskData taskData, System.Collections.Generic.List<System.Guid> resourceIds);
     2479       
     2480        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/AddChildTask", ReplyAction="http://tempuri.org/IHiveService/AddChildTaskResponse")]
     2481        System.Guid AddChildTask(System.Guid parentTaskId, HeuristicLab.Clients.Hive.Task task, HeuristicLab.Clients.Hive.TaskData taskData);
     2482       
     2483        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetTask", ReplyAction="http://tempuri.org/IHiveService/GetTaskResponse")]
     2484        HeuristicLab.Clients.Hive.Task GetTask(System.Guid taskId);
     2485       
     2486        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetTasks", ReplyAction="http://tempuri.org/IHiveService/GetTasksResponse")]
     2487        System.Collections.Generic.List<HeuristicLab.Clients.Hive.Task> GetTasks();
     2488       
     2489        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetLightweightTasks", ReplyAction="http://tempuri.org/IHiveService/GetLightweightTasksResponse")]
     2490        System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightTasks(System.Collections.Generic.List<System.Guid> taskIds);
     2491       
     2492        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetLightweightChildTasks", ReplyAction="http://tempuri.org/IHiveService/GetLightweightChildTasksResponse")]
     2493        System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightChildTasks(System.Nullable<System.Guid> parentTaskId, bool recursive, bool includeParent);
     2494       
     2495        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetLightweightJobTasks", ReplyAction="http://tempuri.org/IHiveService/GetLightweightJobTasksResponse")]
     2496        System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightJobTasks(System.Guid jobId);
     2497       
     2498        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetLightweightJobTasksWithoutStateLog", ReplyAction="http://tempuri.org/IHiveService/GetLightweightJobTasksWithoutStateLogResponse")]
     2499        System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightJobTasksWithoutStateLog(System.Guid jobId);
     2500       
     2501        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetTaskData", ReplyAction="http://tempuri.org/IHiveService/GetTaskDataResponse")]
     2502        HeuristicLab.Clients.Hive.TaskData GetTaskData(System.Guid taskId);
     2503       
     2504        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/UpdateTask", ReplyAction="http://tempuri.org/IHiveService/UpdateTaskResponse")]
     2505        void UpdateTask(HeuristicLab.Clients.Hive.Task taskDto);
     2506       
     2507        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/UpdateTaskData", ReplyAction="http://tempuri.org/IHiveService/UpdateTaskDataResponse")]
     2508        void UpdateTaskData(HeuristicLab.Clients.Hive.Task taskDto, HeuristicLab.Clients.Hive.TaskData taskDataDto);
     2509       
     2510        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/DeleteTask", ReplyAction="http://tempuri.org/IHiveService/DeleteTaskResponse")]
     2511        void DeleteTask(System.Guid taskId);
     2512       
     2513        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/DeleteChildTasks", ReplyAction="http://tempuri.org/IHiveService/DeleteChildTasksResponse")]
     2514        void DeleteChildTasks(System.Guid parentTaskId);
     2515       
     2516        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/UpdateTaskState", ReplyAction="http://tempuri.org/IHiveService/UpdateTaskStateResponse")]
     2517        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);
     2518       
     2519        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/StopTask", ReplyAction="http://tempuri.org/IHiveService/StopTaskResponse")]
     2520        void StopTask(System.Guid taskId);
     2521       
     2522        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/PauseTask", ReplyAction="http://tempuri.org/IHiveService/PauseTaskResponse")]
     2523        void PauseTask(System.Guid taskId);
     2524       
     2525        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/RestartTask", ReplyAction="http://tempuri.org/IHiveService/RestartTaskResponse")]
     2526        void RestartTask(System.Guid taskId);
     2527       
     2528        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetJob", ReplyAction="http://tempuri.org/IHiveService/GetJobResponse")]
     2529        HeuristicLab.Clients.Hive.Job GetJob(System.Guid id);
     2530       
     2531        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetJobs", ReplyAction="http://tempuri.org/IHiveService/GetJobsResponse")]
     2532        System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetJobs();
     2533       
     2534        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetAllJobs", ReplyAction="http://tempuri.org/IHiveService/GetAllJobsResponse")]
     2535        System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetAllJobs();
     2536       
     2537        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/AddJob", ReplyAction="http://tempuri.org/IHiveService/AddJobResponse")]
     2538        System.Guid AddJob(HeuristicLab.Clients.Hive.Job jobDto);
     2539       
     2540        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/UpdateJob", ReplyAction="http://tempuri.org/IHiveService/UpdateJobResponse")]
     2541        void UpdateJob(HeuristicLab.Clients.Hive.Job jobDto);
     2542       
     2543        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/DeleteJob", ReplyAction="http://tempuri.org/IHiveService/DeleteJobResponse")]
     2544        void DeleteJob(System.Guid JobId);
     2545       
     2546        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GrantPermission", ReplyAction="http://tempuri.org/IHiveService/GrantPermissionResponse")]
     2547        void GrantPermission(System.Guid jobId, System.Guid grantedUserId, HeuristicLab.Clients.Hive.Permission permission);
     2548       
     2549        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/RevokePermission", ReplyAction="http://tempuri.org/IHiveService/RevokePermissionResponse")]
     2550        void RevokePermission(System.Guid hiveExperimentId, System.Guid grantedUserId);
     2551       
     2552        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetJobPermissions", ReplyAction="http://tempuri.org/IHiveService/GetJobPermissionsResponse")]
     2553        System.Collections.Generic.List<HeuristicLab.Clients.Hive.JobPermission> GetJobPermissions(System.Guid jobId);
     2554       
     2555        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/IsAllowedPrivileged", ReplyAction="http://tempuri.org/IHiveService/IsAllowedPrivilegedResponse")]
     2556        bool IsAllowedPrivileged();
     2557       
     2558        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/Hello", ReplyAction="http://tempuri.org/IHiveService/HelloResponse")]
     2559        void Hello(HeuristicLab.Clients.Hive.Slave slave);
     2560       
     2561        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GoodBye", ReplyAction="http://tempuri.org/IHiveService/GoodByeResponse")]
     2562        void GoodBye(System.Guid slaveId);
     2563       
     2564        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/Heartbeat", ReplyAction="http://tempuri.org/IHiveService/HeartbeatResponse")]
     2565        System.Collections.Generic.List<HeuristicLab.Clients.Hive.MessageContainer> Heartbeat([System.ServiceModel.MessageParameterAttribute(Name="heartbeat")] HeuristicLab.Clients.Hive.Heartbeat heartbeat1);
     2566       
     2567        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetPlugin", ReplyAction="http://tempuri.org/IHiveService/GetPluginResponse")]
     2568        HeuristicLab.Clients.Hive.Plugin GetPlugin(System.Guid pluginId);
     2569       
     2570        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetPluginByHash", ReplyAction="http://tempuri.org/IHiveService/GetPluginByHashResponse")]
     2571        HeuristicLab.Clients.Hive.Plugin GetPluginByHash(byte[] hash);
     2572       
     2573        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/AddPlugin", ReplyAction="http://tempuri.org/IHiveService/AddPluginResponse")]
     2574        [System.ServiceModel.FaultContractAttribute(typeof(HeuristicLab.Clients.Hive.PluginAlreadyExistsFault), Action="http://tempuri.org/IHiveService/AddPluginPluginAlreadyExistsFaultFault", Name="PluginAlreadyExistsFault", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive")]
     2575        System.Guid AddPlugin(HeuristicLab.Clients.Hive.Plugin plugin, System.Collections.Generic.List<HeuristicLab.Clients.Hive.PluginData> pluginData);
     2576       
     2577        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetPlugins", ReplyAction="http://tempuri.org/IHiveService/GetPluginsResponse")]
     2578        System.Collections.Generic.List<HeuristicLab.Clients.Hive.Plugin> GetPlugins();
     2579       
     2580        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetPluginDatas", ReplyAction="http://tempuri.org/IHiveService/GetPluginDatasResponse")]
     2581        System.Collections.Generic.List<HeuristicLab.Clients.Hive.PluginData> GetPluginDatas(System.Collections.Generic.List<System.Guid> pluginIds);
     2582       
     2583        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/DeletePlugin", ReplyAction="http://tempuri.org/IHiveService/DeletePluginResponse")]
     2584        void DeletePlugin(System.Guid pluginId);
     2585       
     2586        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GrantResourcePermissions", ReplyAction="http://tempuri.org/IHiveService/GrantResourcePermissionsResponse")]
     2587        void GrantResourcePermissions(System.Guid resourceId, System.Collections.Generic.List<System.Guid> grantedUserIds);
     2588       
     2589        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/RevokeResourcePermissions", ReplyAction="http://tempuri.org/IHiveService/RevokeResourcePermissionsResponse")]
     2590        void RevokeResourcePermissions(System.Guid resourceId, System.Collections.Generic.List<System.Guid> grantedUserIds);
     2591       
     2592        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetResourcePermissions", ReplyAction="http://tempuri.org/IHiveService/GetResourcePermissionsResponse")]
     2593        System.Collections.Generic.List<HeuristicLab.Clients.Hive.ResourcePermission> GetResourcePermissions(System.Guid resourceId);
     2594       
     2595        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetChildResources", ReplyAction="http://tempuri.org/IHiveService/GetChildResourcesResponse")]
     2596        System.Collections.Generic.List<HeuristicLab.Clients.Hive.Resource> GetChildResources(System.Guid resourceId);
     2597       
     2598        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/AddSlave", ReplyAction="http://tempuri.org/IHiveService/AddSlaveResponse")]
     2599        System.Guid AddSlave(HeuristicLab.Clients.Hive.Slave slave);
     2600       
     2601        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/AddSlaveGroup", ReplyAction="http://tempuri.org/IHiveService/AddSlaveGroupResponse")]
     2602        System.Guid AddSlaveGroup(HeuristicLab.Clients.Hive.SlaveGroup slaveGroup);
     2603    }
     2604   
     2605    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
     2606    public interface IHiveServiceChannel : HeuristicLab.Clients.Hive.IHiveService, System.ServiceModel.IClientChannel
     2607    {
     2608    }
     2609   
     2610    [System.Diagnostics.DebuggerStepThroughAttribute()]
     2611    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
     2612    public partial class HiveServiceClient : System.ServiceModel.ClientBase<HeuristicLab.Clients.Hive.IHiveService>, HeuristicLab.Clients.Hive.IHiveService
     2613    {
     2614       
     2615        public HiveServiceClient()
     2616        {
     2617        }
     2618       
     2619        public HiveServiceClient(string endpointConfigurationName) :
     2620                base(endpointConfigurationName)
     2621        {
     2622        }
     2623       
     2624        public HiveServiceClient(string endpointConfigurationName, string remoteAddress) :
     2625                base(endpointConfigurationName, remoteAddress)
     2626        {
     2627        }
     2628       
     2629        public HiveServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
     2630                base(endpointConfigurationName, remoteAddress)
     2631        {
     2632        }
     2633       
     2634        public HiveServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
     2635                base(binding, remoteAddress)
     2636        {
     2637        }
     2638       
     2639        public HeuristicLab.Clients.Hive.Slave GetSlave(System.Guid slaveId)
     2640        {
     2641            return base.Channel.GetSlave(slaveId);
     2642        }
     2643       
     2644        public HeuristicLab.Clients.Hive.SlaveGroup GetSlaveGroup(System.Guid slaveGroupId)
     2645        {
     2646            return base.Channel.GetSlaveGroup(slaveGroupId);
     2647        }
     2648       
     2649        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Slave> GetSlaves()
     2650        {
     2651            return base.Channel.GetSlaves();
     2652        }
     2653       
     2654        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.SlaveGroup> GetSlaveGroups()
     2655        {
     2656            return base.Channel.GetSlaveGroups();
     2657        }
     2658       
     2659        public void UpdateSlave(HeuristicLab.Clients.Hive.Slave slave)
     2660        {
     2661            base.Channel.UpdateSlave(slave);
     2662        }
     2663       
     2664        public void UpdateSlaveGroup(HeuristicLab.Clients.Hive.SlaveGroup slaveGroup)
     2665        {
     2666            base.Channel.UpdateSlaveGroup(slaveGroup);
     2667        }
     2668       
     2669        public void DeleteSlave(System.Guid slaveId)
     2670        {
     2671            base.Channel.DeleteSlave(slaveId);
     2672        }
     2673       
     2674        public void DeleteSlaveGroup(System.Guid slaveGroupId)
     2675        {
     2676            base.Channel.DeleteSlaveGroup(slaveGroupId);
     2677        }
     2678       
     2679        public void AddResourceToGroup(System.Guid slaveGroupId, System.Guid resourceId)
     2680        {
     2681            base.Channel.AddResourceToGroup(slaveGroupId, resourceId);
     2682        }
     2683       
     2684        public void RemoveResourceFromGroup(System.Guid slaveGroupId, System.Guid resourceId)
     2685        {
     2686            base.Channel.RemoveResourceFromGroup(slaveGroupId, resourceId);
     2687        }
     2688       
     2689        public System.Guid GetResourceId(string resourceName)
     2690        {
     2691            return base.Channel.GetResourceId(resourceName);
     2692        }
     2693       
     2694        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Task> GetTasksByResourceId(System.Guid resourceId)
     2695        {
     2696            return base.Channel.GetTasksByResourceId(resourceId);
     2697        }
     2698       
     2699        public void TriggerEventManager(bool force)
     2700        {
     2701            base.Channel.TriggerEventManager(force);
     2702        }
     2703       
     2704        public int GetNewHeartbeatInterval(System.Guid slaveId)
     2705        {
     2706            return base.Channel.GetNewHeartbeatInterval(slaveId);
     2707        }
     2708       
     2709        public System.Guid AddDowntime(HeuristicLab.Clients.Hive.Downtime downtime)
     2710        {
     2711            return base.Channel.AddDowntime(downtime);
     2712        }
     2713       
     2714        public void DeleteDowntime(System.Guid downtimeId)
     2715        {
     2716            base.Channel.DeleteDowntime(downtimeId);
     2717        }
     2718       
     2719        public void UpdateDowntime(HeuristicLab.Clients.Hive.Downtime downtime)
     2720        {
     2721            base.Channel.UpdateDowntime(downtime);
     2722        }
     2723       
     2724        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Downtime> GetDowntimesForResource(System.Guid resourceId)
     2725        {
     2726            return base.Channel.GetDowntimesForResource(resourceId);
     2727        }
     2728       
     2729        public string GetUsernameByUserId(System.Guid userId)
     2730        {
     2731            return base.Channel.GetUsernameByUserId(userId);
     2732        }
     2733       
     2734        public System.Guid GetUserIdByUsername(string username)
     2735        {
     2736            return base.Channel.GetUserIdByUsername(username);
     2737        }
     2738       
     2739        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.UserPriority> GetUserPriorities()
     2740        {
     2741            return base.Channel.GetUserPriorities();
     2742        }
     2743       
     2744        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Statistics> GetStatistics()
     2745        {
     2746            return base.Channel.GetStatistics();
     2747        }
     2748       
     2749        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Statistics> GetStatisticsForTimePeriod(System.DateTime from, System.DateTime to)
     2750        {
     2751            return base.Channel.GetStatisticsForTimePeriod(from, to);
     2752        }
     2753       
     2754        public System.Guid AddTask(HeuristicLab.Clients.Hive.Task task, HeuristicLab.Clients.Hive.TaskData taskData, System.Collections.Generic.List<System.Guid> resourceIds)
     2755        {
     2756            return base.Channel.AddTask(task, taskData, resourceIds);
     2757        }
     2758       
     2759        public System.Guid AddChildTask(System.Guid parentTaskId, HeuristicLab.Clients.Hive.Task task, HeuristicLab.Clients.Hive.TaskData taskData)
     2760        {
     2761            return base.Channel.AddChildTask(parentTaskId, task, taskData);
     2762        }
     2763       
     2764        public HeuristicLab.Clients.Hive.Task GetTask(System.Guid taskId)
     2765        {
     2766            return base.Channel.GetTask(taskId);
     2767        }
     2768       
     2769        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Task> GetTasks()
     2770        {
     2771            return base.Channel.GetTasks();
     2772        }
     2773       
     2774        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightTasks(System.Collections.Generic.List<System.Guid> taskIds)
     2775        {
     2776            return base.Channel.GetLightweightTasks(taskIds);
     2777        }
     2778       
     2779        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightChildTasks(System.Nullable<System.Guid> parentTaskId, bool recursive, bool includeParent)
     2780        {
     2781            return base.Channel.GetLightweightChildTasks(parentTaskId, recursive, includeParent);
     2782        }
     2783       
     2784        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightJobTasks(System.Guid jobId)
     2785        {
     2786            return base.Channel.GetLightweightJobTasks(jobId);
     2787        }
     2788       
     2789        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightJobTasksWithoutStateLog(System.Guid jobId)
     2790        {
     2791            return base.Channel.GetLightweightJobTasksWithoutStateLog(jobId);
     2792        }
     2793       
     2794        public HeuristicLab.Clients.Hive.TaskData GetTaskData(System.Guid taskId)
     2795        {
     2796            return base.Channel.GetTaskData(taskId);
     2797        }
     2798       
     2799        public void UpdateTask(HeuristicLab.Clients.Hive.Task taskDto)
     2800        {
     2801            base.Channel.UpdateTask(taskDto);
     2802        }
     2803       
     2804        public void UpdateTaskData(HeuristicLab.Clients.Hive.Task taskDto, HeuristicLab.Clients.Hive.TaskData taskDataDto)
     2805        {
     2806            base.Channel.UpdateTaskData(taskDto, taskDataDto);
     2807        }
     2808       
     2809        public void DeleteTask(System.Guid taskId)
     2810        {
     2811            base.Channel.DeleteTask(taskId);
     2812        }
     2813       
     2814        public void DeleteChildTasks(System.Guid parentTaskId)
     2815        {
     2816            base.Channel.DeleteChildTasks(parentTaskId);
     2817        }
     2818       
     2819        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)
     2820        {
     2821            return base.Channel.UpdateTaskState(taskId, taskState, slaveId, userId, exception);
     2822        }
     2823       
     2824        public void StopTask(System.Guid taskId)
     2825        {
     2826            base.Channel.StopTask(taskId);
     2827        }
     2828       
     2829        public void PauseTask(System.Guid taskId)
     2830        {
     2831            base.Channel.PauseTask(taskId);
     2832        }
     2833       
     2834        public void RestartTask(System.Guid taskId)
     2835        {
     2836            base.Channel.RestartTask(taskId);
     2837        }
     2838       
     2839        public HeuristicLab.Clients.Hive.Job GetJob(System.Guid id)
     2840        {
     2841            return base.Channel.GetJob(id);
     2842        }
     2843       
     2844        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetJobs()
     2845        {
     2846            return base.Channel.GetJobs();
     2847        }
     2848       
     2849        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetAllJobs()
     2850        {
     2851            return base.Channel.GetAllJobs();
     2852        }
     2853       
     2854        public System.Guid AddJob(HeuristicLab.Clients.Hive.Job jobDto)
     2855        {
     2856            return base.Channel.AddJob(jobDto);
     2857        }
     2858       
     2859        public void UpdateJob(HeuristicLab.Clients.Hive.Job jobDto)
     2860        {
     2861            base.Channel.UpdateJob(jobDto);
     2862        }
     2863       
     2864        public void DeleteJob(System.Guid JobId)
     2865        {
     2866            base.Channel.DeleteJob(JobId);
     2867        }
     2868       
     2869        public void GrantPermission(System.Guid jobId, System.Guid grantedUserId, HeuristicLab.Clients.Hive.Permission permission)
     2870        {
     2871            base.Channel.GrantPermission(jobId, grantedUserId, permission);
     2872        }
     2873       
     2874        public void RevokePermission(System.Guid hiveExperimentId, System.Guid grantedUserId)
     2875        {
     2876            base.Channel.RevokePermission(hiveExperimentId, grantedUserId);
     2877        }
     2878       
     2879        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.JobPermission> GetJobPermissions(System.Guid jobId)
     2880        {
     2881            return base.Channel.GetJobPermissions(jobId);
     2882        }
     2883       
     2884        public bool IsAllowedPrivileged()
     2885        {
     2886            return base.Channel.IsAllowedPrivileged();
     2887        }
     2888       
     2889        public void Hello(HeuristicLab.Clients.Hive.Slave slave)
     2890        {
     2891            base.Channel.Hello(slave);
     2892        }
     2893       
     2894        public void GoodBye(System.Guid slaveId)
     2895        {
     2896            base.Channel.GoodBye(slaveId);
     2897        }
     2898       
     2899        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.MessageContainer> Heartbeat(HeuristicLab.Clients.Hive.Heartbeat heartbeat1)
     2900        {
     2901            return base.Channel.Heartbeat(heartbeat1);
     2902        }
     2903       
     2904        public HeuristicLab.Clients.Hive.Plugin GetPlugin(System.Guid pluginId)
     2905        {
     2906            return base.Channel.GetPlugin(pluginId);
     2907        }
     2908       
     2909        public HeuristicLab.Clients.Hive.Plugin GetPluginByHash(byte[] hash)
     2910        {
     2911            return base.Channel.GetPluginByHash(hash);
     2912        }
     2913       
     2914        public System.Guid AddPlugin(HeuristicLab.Clients.Hive.Plugin plugin, System.Collections.Generic.List<HeuristicLab.Clients.Hive.PluginData> pluginData)
     2915        {
     2916            return base.Channel.AddPlugin(plugin, pluginData);
     2917        }
     2918       
     2919        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Plugin> GetPlugins()
     2920        {
     2921            return base.Channel.GetPlugins();
     2922        }
     2923       
     2924        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.PluginData> GetPluginDatas(System.Collections.Generic.List<System.Guid> pluginIds)
     2925        {
     2926            return base.Channel.GetPluginDatas(pluginIds);
     2927        }
     2928       
     2929        public void DeletePlugin(System.Guid pluginId)
     2930        {
     2931            base.Channel.DeletePlugin(pluginId);
     2932        }
     2933       
     2934        public void GrantResourcePermissions(System.Guid resourceId, System.Collections.Generic.List<System.Guid> grantedUserIds)
     2935        {
     2936            base.Channel.GrantResourcePermissions(resourceId, grantedUserIds);
     2937        }
     2938       
     2939        public void RevokeResourcePermissions(System.Guid resourceId, System.Collections.Generic.List<System.Guid> grantedUserIds)
     2940        {
     2941            base.Channel.RevokeResourcePermissions(resourceId, grantedUserIds);
     2942        }
     2943       
     2944        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.ResourcePermission> GetResourcePermissions(System.Guid resourceId)
     2945        {
     2946            return base.Channel.GetResourcePermissions(resourceId);
     2947        }
     2948       
     2949        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Resource> GetChildResources(System.Guid resourceId)
     2950        {
     2951            return base.Channel.GetChildResources(resourceId);
     2952        }
     2953       
     2954        public System.Guid AddSlave(HeuristicLab.Clients.Hive.Slave slave)
     2955        {
     2956            return base.Channel.AddSlave(slave);
     2957        }
     2958       
     2959        public System.Guid AddSlaveGroup(HeuristicLab.Clients.Hive.SlaveGroup slaveGroup)
     2960        {
     2961            return base.Channel.AddSlaveGroup(slaveGroup);
     2962        }
     2963    }
    21452964}
  • trunk/sources/HeuristicLab.Clients.Hive/3.3/TaskDownloader.cs

    r7259 r9219  
    2323using System.Collections.Generic;
    2424using System.Linq;
     25using System.Threading;
    2526using HeuristicLab.Clients.Hive.Jobs;
    2627using HeuristicLab.Common;
    27 using System.Threading;
    2828
    2929namespace HeuristicLab.Clients.Hive {
    30   public class TaskDownloader {
     30  public class TaskDownloader : IDisposable {
    3131    private IEnumerable<Guid> taskIds;
    3232    private ConcurrentTaskDownloader<ItemTask> taskDownloader;
     
    3838    public bool IsFinished {
    3939      get {
    40           try {       
    41               resultsLock.EnterReadLock();
    42               return results.Count == taskIds.Count();
    43           } finally { resultsLock.ExitReadLock(); }
     40        try {
     41          resultsLock.EnterReadLock();
     42          return results.Count == taskIds.Count();
     43        }
     44        finally { resultsLock.ExitReadLock(); }
    4445      }
    4546    }
     
    5960    public int FinishedCount {
    6061      get {
    61             try {
    62               resultsLock.EnterReadLock();
    63               return results.Count;
    64              } finally { resultsLock.ExitReadLock(); }
     62        try {
     63          resultsLock.EnterReadLock();
     64          return results.Count;
     65        }
     66        finally { resultsLock.ExitReadLock(); }
    6567      }
    6668    }
     
    6870    public IDictionary<Guid, HiveTask> Results {
    6971      get {
    70             try {
    71               resultsLock.EnterReadLock();
    72               return results;
    73             } finally { resultsLock.ExitReadLock(); }
     72        try {
     73          resultsLock.EnterReadLock();
     74          return results;
     75        }
     76        finally { resultsLock.ExitReadLock(); }
    7477      }
    7578    }
     
    97100                resultsLock.EnterWriteLock();
    98101                this.results.Add(localJob.Id, hiveTask);
    99               } finally { resultsLock.ExitWriteLock(); }
     102              }
     103              finally { resultsLock.ExitWriteLock(); }
    100104            }
    101105          });
     
    114118      if (handler != null) handler(this, new EventArgs<Exception>(exception));
    115119    }
     120
     121    #region IDisposable Members
     122    public void Dispose() {
     123      taskDownloader.ExceptionOccured -= new EventHandler<EventArgs<Exception>>(taskDownloader_ExceptionOccured);
     124      resultsLock.Dispose();
     125      taskDownloader.Dispose();
     126    }
     127    #endregion
    116128  }
    117129}
  • trunk/sources/HeuristicLab.Services.Hive

  • trunk/sources/HeuristicLab.Services.Hive/3.3/HiveDao.cs

    r9123 r9219  
    7171    }
    7272
     73    public IEnumerable<DT.LightweightTask> GetLightweightTasksWithoutStateLog(Expression<Func<Task, bool>> predicate) {
     74      List<DT.LightweightTask> tasks = new List<DT.LightweightTask>();
     75
     76      using (var db = CreateContext()) {
     77        var tasksQuery = db.Tasks.Where(predicate).Select(task => new { task.TaskId, task.ExecutionTimeMs, task.ParentTaskId, task.State, task.Command });
     78        var taskDatasQuery = db.Tasks.Where(predicate).Where(task => task.JobData != null).Select(task => new { task.TaskId, task.JobData.LastUpdate });
     79
     80        foreach (var task in tasksQuery) {
     81          DT.LightweightTask t = new DT.LightweightTask();
     82          t.Id = task.TaskId;
     83          t.ExecutionTime = TimeSpan.FromMilliseconds(task.ExecutionTimeMs);
     84          t.ParentTaskId = task.ParentTaskId;
     85          t.StateLog = new List<DT.StateLog>();
     86          t.State = DataTransfer.Convert.ToDto(task.State);
     87          t.Command = DataTransfer.Convert.ToDto(task.Command);
     88          t.LastTaskDataUpdate = taskDatasQuery.Where(x => x.TaskId == task.TaskId).Count() > 0 ? taskDatasQuery.Select(x => x.LastUpdate).First() : DateTime.MinValue;
     89          tasks.Add(t);
     90        }
     91      }
     92      return tasks;
     93    }
     94
    7395    public Guid AddTask(DT.Task dto) {
    7496      using (var db = CreateContext()) {
  • trunk/sources/HeuristicLab.Services.Hive/3.3/HiveService.cs

    r9123 r9219  
    129129      return trans.UseTransaction(() => {
    130130        return dao.GetLightweightTasks(task => task.JobId == jobId).ToArray();
     131      }, false, true);
     132    }
     133
     134    public IEnumerable<LightweightTask> GetLightweightJobTasksWithoutStateLog(Guid jobId) {
     135      authen.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client);
     136      author.AuthorizeForJob(jobId, Permission.Read);
     137
     138      return trans.UseTransaction(() => {
     139        return dao.GetLightweightTasksWithoutStateLog(task => task.JobId == jobId).ToArray();
    131140      }, false, false);
    132141    }
  • trunk/sources/HeuristicLab.Services.Hive/3.3/Interfaces/IHiveDao.cs

    r9123 r9219  
    3232    IEnumerable<DT.Task> GetTasks(Expression<Func<Task, bool>> predicate);
    3333    IEnumerable<DT.LightweightTask> GetLightweightTasks(Expression<Func<Task, bool>> predicate);
     34    IEnumerable<DT.LightweightTask> GetLightweightTasksWithoutStateLog(Expression<Func<Task, bool>> predicate);
    3435    Guid AddTask(DT.Task dto);
    3536    void UpdateTaskAndPlugins(DT.Task dto);
  • trunk/sources/HeuristicLab.Services.Hive/3.3/ServiceContracts/IHiveService.cs

    r9123 r9219  
    5353
    5454    [OperationContract]
     55    IEnumerable<LightweightTask> GetLightweightJobTasksWithoutStateLog(Guid jobId);
     56
     57    [OperationContract]
    5558    TaskData GetTaskData(Guid taskId);
    5659
Note: See TracChangeset for help on using the changeset viewer.