コード例 #1
0
ファイル: WithTasking.cs プロジェクト: HEIG-VD-LaRA/piaget
 void ITaskingManagement.NewTask(string name, double period, Clock clock,
                                 ITaskPoolManager task_manager)
 {
     this.task = new PiagetTask();
     this.task.Init(name, period, clock, Reset, task_manager);
     this.clock = clock;
 }
コード例 #2
0
ファイル: TaskManager.cs プロジェクト: HEIG-VD-LaRA/piaget
        // METHODS FOR ITaskManager_Tasking ------------------------------------------------

        public void AddChildTask(string name, WithTasking with_task, double period, PiagetTask parent)
        {
            ((ITaskingManagement)with_task).NewTask(name, period, this.clock,
                                                    (ITaskPoolManager)this);
            // If the user use the same task state to add several child tasks,
            // only the first one added will be the top one
            if (parent == task_pool.Current.task)
            {
                MoveToChildTask(((ITaskingManagement)with_task).Task, parent);
            }
        }
コード例 #3
0
ファイル: TaskManager.cs プロジェクト: HEIG-VD-LaRA/piaget
        // PRIVATE METHODS ------------------------------------------------

        private void MoveToChildTask(PiagetTask new_task, PiagetTask parent)
        {
            new_task.InsertAfter(parent);
            task_pool.Current.task = new_task;
        }
コード例 #4
0
ファイル: TaskManager.cs プロジェクト: HEIG-VD-LaRA/piaget
 public void RemoveFromPool(PiagetTask task)
 {
     this.task_pool.Remove(task);
 }
コード例 #5
0
ファイル: TaskManager.cs プロジェクト: HEIG-VD-LaRA/piaget
 public void Terminate(PiagetTask task)
 {
     task.SetTerminated();
 }