X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fpython%2Ftag.h;h=40130380a753a9981a37db96eab4748085ed5f5f;hb=180972a54ec5b2e0b4d0667092dbd38f7f90574e;hp=84318d656d8b0470f6ac8962d48af318085efe2f;hpb=a18cdd835cad27c679d6a9659836f035fc3a0b5c;p=swftools.git diff --git a/lib/python/tag.h b/lib/python/tag.h index 84318d6..4013038 100644 --- a/lib/python/tag.h +++ b/lib/python/tag.h @@ -23,15 +23,33 @@ #ifndef __tag_h__ #define __tag_h__ -#include "../rfxswf.h" -#undef HAVE_STAT #include +#undef HAVE_STAT +#include "../rfxswf.h" -extern PyTypeObject TagClass; - -PyObject* tag_new(); -PyObject* tag_new2(TAG*tag); -TAG* tag_getTAG(PyObject*self); +#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