From: Bob D. <bd...@si...> - 2005-08-02 16:26:32
|
> Well, since everyone is already passing the rlib struct pointer > around it seemed convenient ;-) Using ENVIRONMENT(r) I guess > would be an option however ENVIRONMENT_PRIVATE(r) would not > be a good choice. The problem of course is that I would just > end up storing a pointer to the rlib struct in the environment, > which seems redundant. I need the rlib pointer as that is the > handle that I have to allow me to search through the objects > setup to track the rlib instances and local data objects. > The problem is not the single rlib report instance, it is > the multiple co-existing ones. Ok, I see. I didn't realize you need to track based on the RLIB instance. PHP doesn't work that way... it kinda works by the included module. > > > > However the interface code already has to have access to a pointer > to the rlib structure. Expanding that to include > > The problem with the string will always be how to resolve the scope, > by passing the reference the scoping has already been done by the > the language. Actually I don't see how this could work in the > C interface unless your searching the programs symbol table, is that > the reason for your "should not be a char * but a gpointer now"? No, it would make the API less confusing as we are actually passing a real pointer and not a string. > > Anyway I have completed an implementation of the python interface, > it works pretty much the same as the php one does now. I did > add the rlib * to the resolve_memory_variable routine however > I've not implemented any scoping resolution (same problem of > documentation on internal operation of python). Cool. Send it in when you get a chance and perhaps include an example w/ all the callbacks working???? - Bob |