view include/TaskManager/TaskGroup.h @ 135:ac436cebae2a draft

remove xml file
author gongo@charles.cr.ie.u-ryukyu.ac.jp
date Thu, 27 Nov 2008 16:19:50 +0900
parents 028ffc9c0375
children 3fc86ddf5d1c
line wrap: on
line source

#ifndef INCLUDED_TASK_GROUP
#define INCLUDED_TASK_GROUP

#ifndef INCLUDED_BASE_H_
#  include "base.h"
#endif

#ifndef INCLUDED_TASK_QUEUE
#  include "TaskQueue.h"
#endif

class TaskGroup {
public:
    TaskGroup(void): group(NULL) {}

    BASE_NEW_DELETE(TaskGroup);

    unsigned int command;
    TaskQueuePtr group;

    /**
     * 待つ Task を追加
     */
    void add(TaskPtr add_task);

    /**
     * 終了した Task を group から削除
     */
    void remove(TaskPtr delete_task);

    /**
     * 空 (待つタスクが無い) の時が、この TaskGroup が持つ、
     * PPE に送るべきコマンドを返す。
     * まだ待つべきタスクがある場合は 0 を返す
     */
    unsigned int status(void);
};

typedef TaskGroup* TaskGroupPtr;

#endif