view include/TaskManager/Task.h @ 184:907bda4a1a14

fix
author gongo@gendarme.cr.ie.u-ryukyu.ac.jp
date Tue, 06 Jan 2009 15:39:48 +0900
parents 5c194c71eca8
children 102dad2949a0
line wrap: on
line source

#ifndef INCLUDED_TASK
#define INCLUDED_TASK

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

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

#ifndef INCLUDED_LIST_DATA
#  include "ListData.h"
#endif

#define MAX_PARAMS 7

class Task {
public: // variables

    BASE_NEW_DELETE(Task);

    int command;         // 4 byte
    ListDataPtr inData;  // 4 byte
    ListDataPtr outData; // 4 byte
    uint32 self;         // 4 byte

    int param_size;        // 4 byte
    int param[MAX_PARAMS]; // 4*MAX_PARAMS byte

public: // functions
    int add_inData_t(unsigned int addr, int size);
    int add_outData_t(unsigned int addr, int size);
    int add_data(ListDataPtr list, unsigned int addr, int size);
    int add_param(int param);

#define add_inData(addr, size)			\
    add_inData_t((unsigned int)(addr), (size));
#define add_outData(addr, size)			\
    add_outData_t((unsigned int)(addr), (size));
};

typedef Task* TaskPtr;

#endif