public WorkerThread(String name, String description = "") { State = WorkState.NotStarted; mThread = new Thread(ThreadHull); mThread.Name = name; WakeupEvent = new AutoResetEvent(false); m_JobInformation = WorkerThreadInfo.Create(this, name, description); }
public JobInformationEventArgs(JobInfo job) { JobInformation = job; }
private static void RemoveJob(JobInfo job) { lock(m_Jobs) m_Jobs.Remove(job); if (Removed != null) Removed(null, new JobInformationEventArgs(job)); }
protected static void AddJob(JobInfo job) { lock(m_Jobs) m_Jobs.Add(job); if (Added != null) Added(null, new JobInformationEventArgs(job)); }
void AddJob(JobInfo job) { lock(listStore) { Gtk.TreeIter iter = listStore.AppendValues(job, job.Name, job.Description, 0); job.ProgressChanged += HandleProgressChanged; } }
void RemoveJob(JobInfo job) { lock(listStore) { TreeIter iter = FindJob(job); if(!iter.Equals(TreeIter.Zero)) listStore.Remove(ref iter); } }
TreeIter FindJob(JobInfo job) { TreeIter iter; for(bool ok = listStore.GetIterFirst(out iter); ok; ok = listStore.IterNext(ref iter)) if(listStore.GetValue(iter, COLUMN_JOB_INFORMATION)==job) return iter; return TreeIter.Zero; }