view include/TaskManager/FifoTaskManagerImpl.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_FIFO_TASK_MANAGER_IMPL
#define INCLUDED_FIFO_TASK_MANAGER_IMPL

#ifndef INCLUDED_TASK_MANAGER_IMPL
#  include "TaskManagerImpl.h"
#endif

#ifndef INCLUDED_MAIN_SCHEDULER
#  include "MainScheduler.h"
#endif

class FifoTaskManagerImpl : public TaskManagerImpl {
public:
    /* constructor */
    FifoTaskManagerImpl(int num = 1) : TaskManagerImpl(num) {}
    ~FifoTaskManagerImpl(void);

    /* variables */
    int machineNum;
    TaskListPtr mainTaskList;

    MailManager *mailManager;
    MainScheduler *scheduler;

    /* functions */
    // call by system
    void init(void);
    void init(MainScheduler*, BufferManager*);
    void run(void);
    void mail_check(MailQueuePtr mail_list);
    void mail_check(MailQueuePtr mail_list, TaskQueuePtr *waitQueue);
    TaskListPtr get_runTaskList(void);
    MailQueuePtr schedule(TaskListPtr);

    // call by user
    int add_data(ListDataPtr, uint32, int);
    void* allocate(int size);
};

#ifndef Cerium_malloc
#define Cerium_malloc(dest, align, size) \
    *dest = malloc(size);
#endif /* Cerium_malloc */

#endif /* INCLUDED_FIFO_TASK_MANAGER_IMPL */