view include/TaskManager/BufferManager.h @ 292:2369f477ffbe draft

Document/Cerium_2009.mm
author aaa
date Fri, 05 Jun 2009 18:53:42 +0900
parents d7803cea25a3
children 3fc86ddf5d1c
line wrap: on
line source

#ifndef INCLUDED_BUFFER_MANAGER
#define INCLUDED_BUFFER_MANAGER

#ifndef INCLUDED_TYPES
#  include "types.h"
#endif

#ifndef INCLUDED_TASK_LIST_INFO
#  include "TaskListInfo.h"
#endif

#ifndef INCLUDED_TASK_QUEUE_INFO
#  include "TaskQueueInfo.h"
#endif

#ifndef INCLUDED_HTASK_INFO
#  include "HTaskInfo.h"
#endif

/*!
 *   Task Input/Output buffer manager
 *
 */

class BufferManager {
public:
    /* constructor */
    BufferManager(int num = 1);
    virtual ~BufferManager(void);
    
    /* variables */
    TaskListInfo *taskListImpl;
    TaskQueueInfo *taskQueueImpl;
    HTaskInfo *htaskImpl;

    int machineNum;

    /* function */
    virtual void init(void);

    // TaskList
    TaskListPtr create_taskList(void);
    void free_taskList(TaskListPtr);
    TaskListPtr clear_taskList(TaskListPtr);

    // TaskQueue
    TaskQueuePtr create_taskQueue(HTaskPtr);
    void free_taskQueue(TaskQueuePtr);

    // HTask
    HTaskPtr create_task(int cmd);
    void free_task(HTaskPtr);


    void finish(void);
private:
};

#endif