X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fpython%2Ftag.h;h=7ee033851be56e49e5582c68b0c52513b68d5664;hb=3477d799207e51e1cde8d1d8792ae838cc1f2835;hp=48a303ee68018d2b3034b840d70ac5b96cb73ef6;hpb=726d172d02228a2e9b084efba8d3173994343c2b;p=swftools.git diff --git a/lib/python/tag.h b/lib/python/tag.h index 48a303e..7ee0338 100644 --- a/lib/python/tag.h +++ b/lib/python/tag.h @@ -23,16 +23,33 @@ #ifndef __tag_h__ #define __tag_h__ -#include "../rfxswf.h" #undef HAVE_STAT #include +#include "../rfxswf.h" -extern PyTypeObject TagClass; - -PyObject* tag_new(); -PyObject* tag_new2(TAG*tag); +#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