X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fpython%2Ftag.h;h=7ee033851be56e49e5582c68b0c52513b68d5664;hb=3477d799207e51e1cde8d1d8792ae838cc1f2835;hp=dcdbec1a9d834e52cecb2149325a770f5cca1b90;hpb=0288babb81e62bf607d8c2e428b577756b655fed;p=swftools.git diff --git a/lib/python/tag.h b/lib/python/tag.h index dcdbec1..7ee0338 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 +#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