Mercurial > hg > Game > Cerium
changeset 112:7ef4fc1804cb draft
add Task.h
author | gongo@gendarme.local |
---|---|
date | Wed, 12 Nov 2008 17:55:23 +0900 |
parents | ab70b06db455 |
children | 80d93fe0601d |
files | include/TaskManager/Task.h |
diffstat | 1 files changed, 45 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/include/TaskManager/Task.h Wed Nov 12 17:55:23 2008 +0900 @@ -0,0 +1,45 @@ +#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