changeset 112:c868ba1bd039

add Task.h
author gongo@gendarme.local
date Wed, 12 Nov 2008 17:55:23 +0900
parents fc865de86c66
children 6ba88fa28df6
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