dol: initial dol commit
[jump.git] / dol / src / dol / visitor / cell / lib / ppu / ProcessWrapper.h
diff --git a/dol/src/dol/visitor/cell/lib/ppu/ProcessWrapper.h b/dol/src/dol/visitor/cell/lib/ppu/ProcessWrapper.h
new file mode 100644 (file)
index 0000000..0754af4
--- /dev/null
@@ -0,0 +1,32 @@
+#ifndef _PROCESSWRAPPER_H_
+#define _PROCESSWRAPPER_H_
+
+#include <dol.h>
+
+/**
+ * Process Wrapper Class
+ */
+class ProcessWrapper
+{
+    public:
+        ProcessWrapper(char* name, int iteratorIndex[4]);
+        virtual ~ProcessWrapper();
+
+        virtual void init();
+        virtual int fire();
+        virtual bool isDetached() { return _isDetached; }
+        virtual void detach();
+        virtual int getIndex(unsigned indexNumber) const;
+        
+               // Positions for read and write operations which are blocked by Protothread
+        unsigned int readPos; 
+        unsigned int writePos; 
+
+    protected:
+        char* _name;;
+        DOLProcess _process;
+        bool _isDetached;
+        int _iteratorIndex[4];
+};
+
+#endif