fixed tag organisation, started video stuff
[swftools.git] / lib / python / tag.h
index dcdbec1..7ee0338 100644 (file)
 #ifndef __tag_h__
 #define __tag_h__
 
-#include "../rfxswf.h"
 #undef HAVE_STAT
 #include <Python.h>
+#include "../rfxswf.h"
 
-extern PyTypeObject TagClass;
-
+#include "tagmap.h"
+
+typedef struct _tag_internals
+{
+    int (*parse)(struct _tag_internals*);
+    int (*fillTAG)(struct _tag_internals*);
+    void (*dealloc)(struct _tag_internals*);
+    int datasize;
+    void*data;
+    PyMethodDef* tagfunctions;
+    TAG*tag;
+    PyObject* tagmap;
+} tag_internals_t;
+
+PyObject* tag_new(tag_internals_t*tag_internals);
 PyObject* tag_new2(TAG*_tag, PyObject* tagmap);
 TAG* tag_getTAG(PyObject*self, TAG*prevTag, PyObject*tagmap);
 PyObject* tag_getDependencies(PyObject*self);
+tag_internals_t* tag_getinternals(PyObject*tag);
+void register_tag(int id, tag_internals_t*spec);
 
 PyMethodDef* tag_getMethods();
+
+extern PyTypeObject TagClass;
+
 #endif