view TaskManager/kernel/ppe/TaskManager.h @ 567:47b61865ea8c

merge
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Thu, 22 Oct 2009 23:54:58 +0900
parents 0f180d46db89 5c76db2a07fa
children 0decff4e867b
line wrap: on
line source

#ifndef INCLUDED_TASK_MANAGER
#define INCLUDED_TASK_MANAGER

#include "TaskManagerImpl.h"
#include "Random.h"
#include "MemList.h"
#include "Scheduler.h"
#include "HTask.h"

class TaskManager {
public:
    /* constructor */
    TaskManager(int num = 1); // The number of threads
    ~TaskManager();

    /* variables */
    TaskManagerImpl *m_impl;
    void (*tm_end)(TaskManager *manager);
    RandomPtr gen_random;

    /* user function */
    HTaskPtr create_task(int cmd);
    void run();
    void *allocate(int size);
    void set_TMend(void (*endf)(TaskManager *manager));
    int get_cpuNum();
    int get_random();
    Scheduler *get_scheduler();

    /* functions */
    void init();
    void finish();

private:
    int machineNum;
};

#endif

//extern TaskManager *manager;