> Alright, so what I'm doing is wrapping two libraries from the
> Jabber Project (http://www.jabber.org). The first is an
> xmlnodes wrapper, similar to DOM but more internalized as
> well as some other helper functions, the second is jabber
> specific functionality. Here is where it gets tricky, the
> xmlnode library is dependent on the jabber library. The
> xmlnode library is also very useful by itself so I would like
> it to be that way. So I have it working great but now that
> I'm ready to make the jabber extension use it I'm lost. Can
> I make the require each other? Can I register xmlnode
> resources from the jabber extension? If I can't do this any
> suggestions on the best solution?
>
> --temas
There are several trains of thought on this and Im sure Sterling will
make sure you are aware of the other :)
You will need to get the dtor handle from the xmlnode extension (The
le_* varaibles) to register/work with resources (other than that you can
do what you want).
Now you could add phpi_get_le_*() calls to the xmlnode extension but
this causes problems when one is configured as a shared library and the
other as statically build into PHP. Your best bet is probably to use the
new Zend API call ZEND_GET_RESOURCE_TYPE_ID(<resource_name>) (Please
note this will not be in any PHP distribution until 4.0.7). This will
return the resource type id of the resource type with the name
<resource_name> which you can then use it as the second value to the
ZEND_REGISTER_RESOURCE macro (and any other calls that require this
value :)).
See pdf.c and cpdf.c for example usage (grep for le_gd) and zend_list.h
for the implementation of the macro. The return value should be "cached"
locally as this call requires iterating though a hash table which isnt
that fast :)
HTH,
- James
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]